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

Download the customer import template

Scopecustomers:read

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.

GET
/v1/templates/customer-import
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

Response Body

text/csv

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://app.beel.es/api/v1/templates/customer-import"
"nombre_fiscal;nif;email;telefono;direccion_calle;direccion_numero;direccion_codigo_postal;direccion_poblacion;direccion_provincia\n\"Construcciones García y Asociados SL\";B12345674;contacto@construccionesgarcia.es;915551234;\"Calle Gran Vía\";45;28013;Madrid;Madrid\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"
  }
}

Delete a customer of a company DELETE

Deletes a customer of this company (NIF) that has no invoices. - **What deleting means:** the customer is retained internally for tax record-keeping purposes, but is no longer exposed by the API: subsequent requests to it return `404`, and it is never included in the customer list, under any value of the `active` filter. - **Identifier released:** its NIF or alternative identifier is freed, so a new customer may be created with the same identifier. - **Customers with invoices:** they cannot be deleted and the request answers `409` `CLIENT_HAS_INVOICES`. To stop using a customer, update it with `active` set to `false` instead of deleting it.

Download the managed-account import template GET

Downloads 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 from `GET /v1/templates/customer-import`. - **Scope:** the file is the same for every credential and does not depend on any account or on any NIF.