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

Delete a recurring invoice

Scopeinvoices:write

Deprecated. Use DELETE /v1/companies/{company_id}/recurring-invoices/{recurring_invoice_id}, which behaves identically.

Permanently deletes a recurring invoice template and cancels any pending scheduled generations. Invoices already generated from it are not affected.


DELETE
/v1/recurring-invoices/{recurring_invoice_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

recurring_invoice_idstring
Formatuuid

Response Body

application/json

application/json

application/json

curl -X DELETE "https://app.beel.es/api/v1/recurring-invoices/497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
{
  "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": "UNSUPPORTED_MEDIA_TYPE",
    "message": "Unsupported media type: text/plain. Supported: application/json"
  },
  "meta": {
    "timestamp": "2025-01-15T10:30:00Z",
    "request_id": "4bf92f3577b34da6a3ce929d0e0e4736"
  }
}

Update a recurring invoice PATCH

**Deprecated.** Use `PATCH /v1/companies/{company_id}/recurring-invoices/{recurring_invoice_id}`, which behaves identically. Updates only the fields present in the body, leaving every other field of the recurring invoice template as it is. - **Omitted vs `null`:** an omitted field keeps its current value; a field sent as `null` is cleared, and only where the request schema documents the field as nullable. - **`lines`:** replaced as a whole, not patched line by line. The recipient survives the change, and an empty array is rejected. - **`payment_method`:** replaced as a whole together with `payment_iban`, `payment_swift` and `payment_term_days` — send them in the same request or they are dropped. - **Schedule:** `day_of_month` and `start_date` stay put unless you send them; sending `day_of_month` moves the next generation. `start_date` is only editable while the template has not generated any invoice yet.

Generate an invoice now from a recurring template POST

**Deprecated.** Use `POST /v1/companies/{company_id}/recurring-invoices/{recurring_invoice_id}/generate`, which behaves identically. Runs the generation of a recurring template immediately, out of its schedule. - **It brings the upcoming occurrence forward, it does not add one:** the call consumes the period that was pending, so the invoice is created now and `next_generation` advances one period. - **`next_generation` in the response:** the template's next date after this call, or `null` when the advance took the template past its `end_date` and its status is now `COMPLETED`.