Download the managed-account import template
Scopeaccounts:readDownloads the sample CSV that POST /v1/accounts/imports expects: the required headers plus
one example row, separated by semicolons and written with a UTF-8 byte order mark so that
Excel opens it with the accents intact — the same conventions as
GET /v1/templates/customer-import.
- The example row is deliberately not importable: its tax id has a valid shape and an impossible check digit, so it is rejected instead of silently provisioning an account. Replace it with your own rows.
customers_file: the optional second file of that import is not a new format; it is the customer import template, unchanged. Download it fromGET /v1/templates/customer-import.- Scope: the file is the same for every credential and does not depend on any account or on any NIF.
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
text/csv
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://app.beel.es/api/v1/templates/account-import""external_ref;email;display_name;nif;legal_name;entity_type;direccion_calle;direccion_numero;direccion_codigo_postal;direccion_poblacion;direccion_provincia;irpf;iban;legal_form;trade_name;idioma\n10042;socio@ejemplo.es;\"EJEMPLO - BORRA ESTA FILA\";00000000A;\"EJEMPLO - BORRA ESTA FILA\";LEGAL_ENTITY;\"Calle Mayor\";12;43330;Riudoms;Tarragona;15;ES9121000418450200051332;SL;\"Transportes Ejemplo\";es\n"{
"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": "RATE_LIMIT_EXCEEDED",
"message": "Too many requests. Please try again in 60 seconds."
},
"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"
}
}Download the customer import template GET
Downloads the sample CSV that `POST /v1/customers/import-csv-preview` expects: the required headers plus example rows, separated by semicolons and written with a UTF-8 byte order mark so that Excel opens it with the accents intact. - **Example rows:** every one is importable as it stands — commas, quotes and accents included — so the template can be uploaded unchanged as a first test of the import. - **Scope:** the file is the same for every credential and does not depend on any account or on any NIF.
Preview an import of customers into a company POST
Parses and validates the file without writing anything: no customer is created. It returns the same per-record outcome the import would produce, so the caller can correct the data before importing it with `POST .../customers/imports`. - **`source`:** the origin travels in the body, exactly as in the import.