NewThree filters returned the wrong rows
BeeL
Get StartedMulti-NIFVeriFactuStripeAPI ReferenceChangelog
Preferences

Update user preferred language

Scopeconfiguration:write

Deprecated — use PATCH /v1/me instead. The preferred language belongs to the person, not to a company's configuration.

Updates the authenticated user's preferred language.

  • What it affects: the language of the emails BeeL sends to the user and of the translated labels the API returns, such as the invoice template names in GET /v1/invoice-customization-options.
  • Supported languages: es (Spanish), en (English) and ca (Catalan).

PUT
/v1/configuration/language
AuthorizationBearer <token>

Keys are prefixed beel_sk_, and each one carries the scopes it was created with: a key short of the scope an operation needs is answered 403. The scope an operation requires is shown next to its title, and the full catalogue lives in the Scopes reference.

Keys are created from the BeeL dashboard. They are secret credentials: do not share them or commit them to source control.

In: header

languagestring

Supported languages

Value in"es" | "en" | "ca"

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X PUT "https://app.beel.es/api/v1/configuration/language" \  -H "Content-Type: application/json" \  -d '{    "language": "ca"  }'
{
  "success": true,
  "data": {
    "language": "es"
  },
  "meta": {
    "timestamp": "2025-01-15T10:30:00Z",
    "request_id": "4bf92f3577b34da6a3ce929d0e0e4736"
  }
}
{
  "success": false,
  "error": {
    "code": "BAD_REQUEST",
    "message": "Invalid request"
  },
  "meta": {
    "timestamp": "2025-01-15T10:30:00Z",
    "request_id": "4bf92f3577b34da6a3ce929d0e0e4736"
  }
}
{
  "success": false,
  "error": {
    "code": "UNAUTHORIZED",
    "message": "Authentication is required to access this resource"
  },
  "meta": {
    "timestamp": "2025-01-15T10:30:00Z",
    "request_id": "4bf92f3577b34da6a3ce929d0e0e4736"
  }
}
{
  "success": false,
  "error": {
    "code": "FORBIDDEN",
    "message": "You do not have permission to access this resource"
  },
  "meta": {
    "timestamp": "2025-01-15T10:30:00Z",
    "request_id": "4bf92f3577b34da6a3ce929d0e0e4736"
  }
}
{
  "success": false,
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Validation error",
    "details": {
      "field_name": "Field is required"
    }
  },
  "meta": {
    "timestamp": "2025-01-15T10:30:00Z",
    "request_id": "4bf92f3577b34da6a3ce929d0e0e4736"
  }
}
{
  "success": false,
  "error": {
    "code": "INTERNAL_ERROR",
    "message": "Internal server error"
  },
  "meta": {
    "timestamp": "2025-01-15T10:30:00Z",
    "request_id": "4bf92f3577b34da6a3ce929d0e0e4736"
  }
}
{
  "success": false,
  "error": {
    "code": "UNSUPPORTED_MEDIA_TYPE",
    "message": "Unsupported media type: text/plain. Supported: application/json"
  },
  "meta": {
    "timestamp": "2025-01-15T10:30:00Z",
    "request_id": "4bf92f3577b34da6a3ce929d0e0e4736"
  }
}

Update VeriFactu configuration PUT

**Deprecated.** Use `PUT /v1/companies/{company_id}/verifactu-configuration`, which behaves identically. Updates the VeriFactu configuration of the company (NIF) in focus. - **Writable fields:** only `enabled` and `apply_by_default`. The rest of the returned configuration (`status`, `signed`, `activated`, `nif_status`) is resolved server-side. - **Full replacement:** both fields are required — this PUT replaces the whole state, it is not a partial merge, so omitting one is a client error and not a silent `false`. - **Coherence:** if `enabled` is false, `apply_by_default` must be false too. The other way round answers `422` `APPLY_BY_DEFAULT_REQUIRES_ENABLED`. ## Turning it off Setting `enabled` to false stops sending invoices to the AEAT and starts the deregistration of the NIF with the VeriFactu provider. It does **not** deactivate the NIF: the activation is a fact of its own for the (company, environment) pair, so issuing carries on and `issuing-readiness` stays `ready`. Releasing the NIF is always `DELETE /v1/companies/{company_id}/activations`, with its own guarantees.

Get invoice customization options GET

**Deprecated.** Use `GET /v1/invoice-customization-options`, which returns exactly the same body. The catalogue is the same for every credential, so it does not belong under `/v1/configuration`. Returns, in `template_types`, the catalogue of PDF templates a NIF can be rendered with. - **Fields:** each entry carries the `code` to send as `template_type`, plus a `name` and a short `description` translated into the language of the user the credential belongs to. - **Removed fields:** `suggested_colors`, `features` and `preview_url` are no longer returned; the invoice customization accepts any 6-digit hexadecimal colour, so pick your own.