Skip to main content
GET
List invoices

Authorizations

Authorization
string
header
required

Your secret API key as a Bearer token: Authorization: Bearer vxn_sk_.... Keys are created and scoped in the dashboard - see Authentication.

Query Parameters

limit
integer
default:25

Cursor pagination page size. Default 25, max 100. Values outside 1-100 are rejected with 400 invalid_limit, not clamped.

Required range: 1 <= x <= 100
starting_after
string

Cursor for forward pagination; the id of the last item from the previous page. Mutually exclusive with ending_before. Numeric offset or page parameters are not supported; cursors are the only supported paging mechanism.

ending_before
string

Cursor for reverse pagination; the id of the first item from the previous page. Mutually exclusive with starting_after.

status
enum<string>

Filter by invoice status (paid, open, pending, requires_billing_details, failed, refunded, credit_note).

Available options:
paid,
open,
pending,
requires_billing_details,
failed,
refunded,
credit_note
issued[gte]

Lower bound on issued_at - unix seconds or ISO-8601 (inclusive).

issued[lte]

Upper bound on issued_at - unix seconds or ISO-8601 (inclusive).

Response

Paged invoices.

Standard cursor-pagination envelope for list endpoints. See the Pagination guide.

object
string
required

Always "list".

Allowed value: "list"
data
object[]
required

Array of the requested resource type.

has_more
boolean
required

True when more pages exist - pass the last item id as starting_after.

next_cursor
string | null

Cursor for the next page in the direction you are already paging, or null when this page ends the collection. has_more: true always comes with a non-null next_cursor.

Feed it back to the SAME parameter you used: starting_after when paging forward (the default), or ending_before when paging backward. Treat it as opaque and do not parse it.

You no longer need to take the last object's id yourself. That still works and is unchanged, but deriving the cursor from the page put the burden of knowing the sort direction on you, and it broke silently on any endpoint whose cursor is not the object id.

Example:

"cus_iofv5j4hn6bphinmmyat27tc5y"

url
string

Stable collection URL.