Delete series
Scopeseries:writeDeprecated. Use DELETE /v1/companies/{company_id}/series/{series_id}, which
behaves identically.
Soft-deletes an invoice series. If the series is active, it is automatically deactivated before deletion.
- The code is NOT released: it stays taken even after deletion, because it identifies
invoices already issued under it. Recreating a series with the same code returns
409 SERIES_CODE_DUPLICATED, so always pick a new code. - Default series: it cannot be deleted while another active series of the same
document type exists — promote that other one first. If it is the only series of its
type, it can be deleted and the type is left with no series: a valid state in which
issuing without an explicit series returns
SERIES_DEFAULT_NOT_FOUND.
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
Path Parameters
Series ID
uuidResponse Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X DELETE "https://app.beel.es/api/v1/configuration/series/550e8400-e29b-41d4-a716-446655440000"{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "The provided data is not valid",
"details": {
"field": "specific error message"
}
},
"meta": {
"timestamp": "2025-01-15T10:30:00Z",
"request_id": "4bf92f3577b34da6a3ce929d0e0e4736"
},
"type": "https://docs.beel.es/errors/INVOICE_NO_LINES",
"title": "INVOICE_NO_LINES",
"detail": "La factura debe tener al menos una línea",
"instance": "/v1/invoices/abc-123"
}{
"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": "NOT_FOUND",
"message": "Resource not found"
},
"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"
}
}Mark series as default POST
**Deprecated.** Use `PUT /v1/companies/{company_id}/series/{series_id}/default`, which behaves identically. Marking a series as the default is idempotent, so the canonical form is a `PUT`. Marks an invoice series as the default one for its document type. - **One per type:** only one series can be the default per company (NIF) and document type; the previous default is automatically unmarked. - **Must be active:** an inactive series cannot be marked as default.
Update invoice series PUT
**Deprecated.** The canonical form has a single update verb, `PATCH /v1/companies/{company_id}/series/{series_id}`. The same body produces the same result there — this route already merges field by field, leaving absent fields untouched — with one difference: an explicit `description: null`, which this route ignores, clears the description under `PATCH`. Updates an existing invoice series with the body you send; absent fields keep their value. - **Numbering fields:** `code`, `format`, `counter_reset` and `initial_number` are rejected once the series has issued invoices (`numbering_locked` is `true`). `name`, `description`, `active`, `default_series` and `document_type` can always be changed. - **`active`:** a default series cannot be deactivated — set another one as default first. - **`default_series`:** sending `false` on the series that currently is the default is rejected with `DEFAULT_CANNOT_BE_UNMARKED`. Promote another series with `PUT /v1/companies/{company_id}/series/{series_id}/default`, which unmarks the previous one for you. An inactive series cannot be marked as default.