Get invoice customization options
Scopeconfiguration:readDeprecated. 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
codeto send astemplate_type, plus anameand a shortdescriptiontranslated into the language of the user the credential belongs to. - Removed fields:
suggested_colors,featuresandpreview_urlare no longer returned; the invoice customization accepts any 6-digit hexadecimal colour, so pick your own.
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
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://app.beel.es/api/v1/configuration/invoice-customization-options"{
"success": true,
"data": {
"template_types": [
{
"code": "MODERN_TABLE",
"name": "Modern Table",
"description": "Structured table design, suited to standard products and services with several lines."
}
]
},
"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": "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 user preferred language PUT
**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).
Validate a NIF against the AEAT register POST
Checks a NIF or CIF against the AEAT register through VeriFactu and returns what the register says about it. It only reads the register: it creates nothing and stores no customer. - **`status`:** distinguishes a NIF found in the register from one that is syntactically correct but absent, and from a check that could not be completed because VeriFactu was unavailable — in which case the NIF is validated automatically once the service is back. - **`valid: true`:** means different things by holder. For an individual, AEAT matched NIF and name together. For a legal entity the name you sent is **not verified** at all — AEAT identifies a company by its CIF alone — so it says nothing about your name. - **`legal_name_verified`:** tells those two cases apart. - **`census_status`:** says whether an identified NIF is also deregistered or revoked. ## Invalid input - **Bad syntax is an answer, not an error:** it comes back `200` with `status: INVALID`, so a pre-validation flow never has to tell rejections apart by status code. - **A missing NIF is an error:** an absent or empty `nif` answers `422` `FIELD_BLANK`, with `details.field` naming it.