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

Delete series

Scopeseries:write

Deprecated. 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.

DELETE
/v1/configuration/series/{series_id}
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

Path Parameters

series_idstring

Series ID

Formatuuid

Response 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"
Empty
{
  "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.