Filter invoices by several statuses at once
The status filter on GET /v1/invoices now accepts a comma-separated list, so a single paginated request can return invoices in any of several statuses.
The status filter on GET /v1/invoices now accepts a comma-separated list, so a single paginated request can return invoices in any of several statuses.
What else changed
GET /v1/invoices?status=DRAFT,ISSUED,PAID— matches invoices in any of the listed statuses (OR). Previously this needed one request per status, which broke pagination on the merged result.- Nothing changes for a single value.
?status=DRAFTbehaves exactly as before, so existing integrations need no update. ACTIVEandEXPIREDstill resolve to the same stored status, so listing both is equivalent to listing either one.- Excluding a status is not supported: list the ones you do want instead.
Endpoints
- GET/v1/invoicesList invoices, optionally filtered by one or more statuses
Where to go next
One shape for lists, one rule for deletes, Location on every create
Every list now answers `data.<plural>` (+ `data.pagination` where the server paginates), deletes answer `204` unless the body genuinely informs, `DELETE products/bulk` takes `?ids=` instead of a body, and every single-resource `201` carries a `Location` header to its canonical GET.
external_reference — tie an invoice to your order and dedupe by it
Invoices now accept an optional external_reference — your own order / cart / contract id — that BeeL. stores, returns, lets you filter by, and enforces as a business-uniqueness key. It's the right tool for "one invoice per order", separate from the Idempotency-Key (which guards request retries).