Docs menu

API reference, Console billing

The account's Stripe invoices

View as Markdown

GET/v1/console/invoicesoperation id listInvoices

Every invoice Stripe issued to the account (plan renewals, top-ups, resets), newest first, with links to the hosted invoice page and the PDF. Invoices arrive through Stripe webhooks, so a payment made seconds ago may show up on the next read.

Authentication. Console session cookie (__Host-dex_session), or an app session token (Authorization: Bearer dex_ses_...). With the cookie, state-changing routes also need the x-dex-csrf header.

Responses

200The invoices, newest first.

Headers: x-request-id

objectstringrequired
  • always "list"
dataarray of Invoicerequired
data[].idstringrequired
The Stripe invoice id.
data[].objectstringrequired
  • always "invoice"
data[].kindstringrequired
  • one of "subscription", "top_up", "reset", "other"
data[].planstring | nullrequired
  • one of "base", "hot", "fierce", null
data[].statusstringrequired
Stripe's invoice status. New values may appear.
  • one of "draft", "open", "paid", "void", "uncollectible"
data[].numberstring | nullrequired
The invoice number Stripe printed on it; null while it is a draft.
data[].createdstringrequired
  • format date-time
data[].currencystringrequired
The currency the invoice was paid in (since 28 Sep 2026, region-based checkout). New currencies may appear within v1.
  • one of "EUR", "USD", "GBP", "INR"
data[].amount_due_centsintegerrequired
Including VAT, in the invoice currency's minor unit (cents, pence, paise).
data[].amount_paid_centsintegerrequired
data[].hosted_invoice_urlstring | nullrequired
  • format uri
data[].invoice_pdfstring | nullrequired
  • format uri
data[].period_startstring | nullrequired
  • format date-time
data[].period_endstring | nullrequired
  • format date-time
401Missing, unknown, revoked or expired credentials.

Headers: x-request-id, x-client-request-id

Error envelope. See Errors for every type and code.

403The credentials are valid but not allowed to do this (missing scope, suspended account or failed CSRF check).

Headers: x-request-id, x-client-request-id

Error envelope. See Errors for every type and code.

500An unexpected error. Any charge was refunded. Retry with the same idempotency key.

Headers: x-request-id, x-client-request-id

Error envelope. See Errors for every type and code.

503maintenance: the console's database, sign-in or payments are unavailable for a moment (for createGoogleSession also: Google sign-in is not configured, or Google's signing keys cannot be fetched). Retry after retry-after. Nothing was changed.

Headers: x-request-id, retry-after

Error envelope. See Errors for every type and code.

Examples

Illustrative values. Examples show the shape of requests and responses; the numbers in them are not measured results.

Response: A renewal, a reset and a top-up

{
  "object": "list",
  "data": [
    {
      "id": "in_1QTx7c2eZvKYlo2C5QzX1a2b",
      "object": "invoice",
      "kind": "subscription",
      "plan": "base",
      "status": "paid",
      "number": "THINQIT-0042",
      "created": "2026-11-03T09:15:12Z",
      "currency": "EUR",
      "amount_due_cents": 1209,
      "amount_paid_cents": 1209,
      "hosted_invoice_url": "https://invoice.stripe.com/i/acct_1O/live_YWNjdF8xTz",
      "invoice_pdf": "https://pay.stripe.com/invoice/acct_1O/live_YWNjdF8xTz/pdf",
      "period_start": "2026-11-03T09:15:00Z",
      "period_end": "2026-12-03T09:15:00Z"
    },
    {
      "id": "in_1QTx6a2eZvKYlo2C7Yb3C4d5",
      "object": "invoice",
      "kind": "reset",
      "plan": "base",
      "status": "paid",
      "number": "THINQIT-0041",
      "created": "2026-10-20T14:02:40Z",
      "currency": "EUR",
      "amount_due_cents": 303,
      "amount_paid_cents": 303,
      "hosted_invoice_url": "https://invoice.stripe.com/i/acct_1O/live_YWNjdF8xTy",
      "invoice_pdf": "https://pay.stripe.com/invoice/acct_1O/live_YWNjdF8xTy/pdf",
      "period_start": null,
      "period_end": null
    },
    {
      "id": "in_1QTx5b2eZvKYlo2C9Ef6G7h8",
      "object": "invoice",
      "kind": "top_up",
      "plan": null,
      "status": "paid",
      "number": "THINQIT-0040",
      "created": "2026-10-19T08:30:05Z",
      "currency": "EUR",
      "amount_due_cents": 6050,
      "amount_paid_cents": 6050,
      "hosted_invoice_url": "https://invoice.stripe.com/i/acct_1O/live_YWNjdF8xTx",
      "invoice_pdf": "https://pay.stripe.com/invoice/acct_1O/live_YWNjdF8xTx/pdf",
      "period_start": null,
      "period_end": null
    }
  ]
}