Skip to content

Invoice history.

GET
/billing/invoices
curl --request GET \
--url https://api.siteqwality.com/billing/invoices \
--header 'Authorization: Bearer <token>'
limit
integer | null format: int64

How many invoices to return (default 24, max 100).

Invoices, newest first

Media type application/json
object
invoices
required
Array<object>
object
id
required
string
number

Stripe’s human-facing invoice number. Absent until finalization.

string | null
created
required

Unix seconds.

integer format: int64
total_cents
required
integer format: int64
currency
required

ISO 4217, uppercase.

string
status
required
string
pdf_url

A direct files.stripe.com link, handed to the browser as-is rather than proxied. A PDF download is a file, not a management screen, so it does not break the “no screen sends the customer to Stripe” rule, and proxying it would mean streaming a document through a Lambda for no gain. The link is short-lived and scoped to the invoice by Stripe.

string | null
description
required

A readable summary of the line items. Deliberately NOT Stripe’s top-level description, which is null on every subscription invoice we generate and would leave the whole column blank.

string
has_more
required

Stripe’s paging flag for the page requested. It counts invoices Stripe holds, not rows returned, so it can be true while this page dropped a draft.

boolean
Example generated
{
"invoices": [
{
"id": "example",
"number": "example",
"created": 1,
"total_cents": 1,
"currency": "example",
"status": "example",
"pdf_url": "example",
"description": "example"
}
],
"has_more": true
}

Missing or invalid authentication

Account has no Stripe customer

Internal server error