API reference, Console billing
The account's Stripe invoices
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
objectstringrequiredalways "list"
dataarray of Invoicerequireddata[].idstringrequireddata[].objectstringrequiredalways "invoice"
data[].kindstringrequiredone of "subscription", "top_up", "reset", "other"
data[].planstring | nullrequiredone of "base", "hot", "fierce", null
data[].statusstringrequiredone of "draft", "open", "paid", "void", "uncollectible"
data[].numberstring | nullrequireddata[].createdstringrequiredformat date-time
data[].currencystringrequiredone of "EUR", "USD", "GBP", "INR"
data[].amount_due_centsintegerrequireddata[].amount_paid_centsintegerrequireddata[].hosted_invoice_urlstring | nullrequiredformat uri
data[].invoice_pdfstring | nullrequiredformat uri
data[].period_startstring | nullrequiredformat date-time
data[].period_endstring | nullrequiredformat 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
}
]
}