BillKit/DocsConsole
Invoices

List invoices

List invoices, newest first, without their line items.

GET/v1/invoices
Operation list_invoices·Scope invoices:read·OpenAPI v1.1.0

Parameters

ParameterDescription
customer_idstring | null · queryoptionalOnly invoices for this customer. At most 64 characters.
subscription_idstring | null · queryoptionalOnly invoices issued for this subscription. At most 64 characters.
payment_idstring | null · queryoptionalOnly invoices issued for this payment. At most 64 characters.
statusenum · queryoptionalOnly invoices in this status. An unknown value is a 400. One of open, paid, uncollectible, void.
limitinteger · queryoptionalMaximum number of objects to return. Defaults to 10. Between 1 and 100.
starting_afterstring | null · queryoptionalCursor for pagination: the id of the last object on the previous page. Returns the objects listed after it. An id that names no such object is a 400. At most 128 characters.
expandstring | null · queryoptionalComma-separated related objects to include in the response. Expandable here: customer. An unknown name is a 400, and embedding another resource needs that resource's read scope. At most 256 characters.

Cursor-paginated. limit caps a page and starting_after takes the last id you saw.

Returns

Returns a page of InvoiceResponse objects. data holds the page and has_more says whether another one exists. Page forward by passing the last id of the page as starting_after; a short page is not the end of the list.

Errors

StatusCause
400The request was refused (type: invalid_request_error): a required parameter is missing (parameter_missing), one failed validation (parameter_invalid) or is not one the operation takes (parameter_unknown), and param names it.
401No credential, or one that does not authenticate.
402The account is suspended (tenant_suspended), or the payment provider refused a charge or refund the call made (type: payment_error, code: payment_refused).
403Authenticated, but not allowed: missing scope (insufficient_scope), a key of the wrong mode (mode_mismatch), or a refused origin. Needs the invoices:read scope.
404No such object in this account and mode.
429Rate limited. Retry-After says when to try again.
500Something failed on BillKit's side (type: api_error). Retry with the same Idempotency-Key.
503Temporarily unable to serve. reason says whether the request was attempted.
Request · curl
curl -X GET https://api.billkit.eu/v1/invoices \
  -H "Authorization: Bearer $BILLKIT_API_KEY"
Response · 200 OK
{
  "data": [
    {
      "billing_address_at_invoice_time": {
        "key": "value"
      },
      "created": 1789392000,
      "currency": "EUR",
      "customer": {
        "country_code": "NL",
        "email": "ada@example.com",
        "id": "obj_9XKp2vQ1",
        "name": "Ada Lovelace",
        "object": "customer.summary"
      },
      "customer_business_name_at_invoice_time": "string",
      "customer_email_at_invoice_time": "ada@example.com",
      "customer_id": "cus_9XKp2vQ1",
      "customer_name_at_invoice_time": "string",
      "customer_vat_number_at_invoice_time": "string",
      "discount_cents": 1900,
      "due_at": 1789392000,
      "id": "inv_9XKp2vQ1",
      "lines": [
        {
          "amount_cents": null,
          "currency": null,
          "description": null,
          "id": null,
          "object": null,
          "period_end": null,
          "period_start": null,
          "quantity": null,
          "tax_rate_basis_points": null
        }
      ],
      "livemode": false,
      "number": "string",
      "object": "invoice",
      "one_shot_payment_id": "osp_9XKp2vQ1",
      "paid_at": 1789392000,
      "payment_id": "pay_9XKp2vQ1",
      "pdf_url": "https://acme.example/welcome",
      "status": "open",
      "subscription_id": "sub_9XKp2vQ1",
      "subtotal_cents": 1900,
      "tax_cents": 1900,
      "tax_country_code": "NL",
      "tax_reverse_charged": false,
      "total_cents": 1900,
      "voided_at": 1789392000
    }
  ],
  "has_more": false,
  "object": "list"
}