Get the generation history of a recurring invoice (deprecated)
Scopeinvoices:readDeprecated. Use GET /v1/companies/{company_id}/recurring-invoices/{recurring_invoice_id}/history.
Returns the invoices previously generated from this recurring template, including their status and generation dates. Only generated invoices: this route never reports failed runs, skipped slots or pauses — the successor does.
- Response shape: it differs from the successor's, and that is why this notice exists.
This route is frozen as it shipped until its
Sunsetdate: it returns the whole history indata.historyand carries nopagination. The successor pages withpage/limitand answers the first 20 entries by default. Sendlimitand readdata.paginationwhen you migrate.
Retires on 9 December 2026. See the migration guide for what moved where and what changes when you switch.
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
Unique identifier (UUID) of the recurring invoice template, as returned when it is created or listed. A template of another company answers 404 with RECURRING_NOT_FOUND, exactly like one that does not exist.
uuidResponse Body
application/json
application/json
application/json
application/json
curl -X GET "https://app.beel.es/api/v1/recurring-invoices/497f6eca-6276-4993-bfeb-53cbbbba6f08/history"{
"success": true,
"data": {
"history": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"type": "GENERATED",
"invoice_id": "f4c4edb8-11e0-4b33-bcc1-482dc59ebb32",
"origin": "UNATTENDED",
"reason": "string",
"requested_by": "cda0f200-65cd-4343-aedd-9c936b908826",
"requested_by_name": "string",
"generated_at": "2019-08-24T14:15:22Z",
"scheduled_date": "2019-08-24",
"invoice_number": "string",
"total": 0,
"status": "SCHEDULED"
}
]
},
"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": "INVOICE_NOT_FOUND",
"message": "Invoice 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"
}
}Preview the next invoice of a recurring template (deprecated) GET
**Deprecated.** Use `GET /v1/companies/{company_id}/recurring-invoices/{recurring_invoice_id}/next-occurrence`, which behaves identically. Returns the invoice that would be produced by the next generation of this recurring template, computed from the current issuer, recipient and series data. Nothing is persisted. **Retires on 9 December 2026.** See the [migration guide](https://docs.beel.es/changelog/resources-under-the-nif) for what moved where and what changes when you switch.
Replace a recurring invoice (deprecated) PUT
**Deprecated.** The canonical form has a single update verb, `PATCH /v1/companies/{company_id}/recurring-invoices/{recurring_invoice_id}`, which is not a drop-in replacement: it changes only the fields present in the body. To reproduce a total replacement, send every field and pass `null` in the ones you want cleared. Replaces the schedule, template lines and recipient of a recurring invoice with the body you send. Only allowed while the template is active or paused. - **Not a partial update:** leaving out `end_date`, `payment_method` (with its `payment_iban`, `payment_swift` and `payment_term_days`), `notes` or `email_configuration` clears them. - **`lines`:** replaced as a whole. Omitting them or sending `null` keeps the current ones, and an empty array is rejected. **Retires on 9 December 2026.** See the [migration guide](https://docs.beel.es/changelog/resources-under-the-nif) for what moved where and what changes when you switch.