List all invoices
Returns a paginated list of invoices. Invoices belong to payments only — every invoice is generated from a Charge (one-time payment or subscription invoice payment). Filter by chargeId to retrieve the invoice(s) for a specific payment. Sorted with the most recent invoices first.
/v1/invoices/Authorization
api_key_auth API key authentication. Use "Bearer YOUR_API_KEY" format.
In: header
Query Parameters
The number of results per page. Minimum value is 1 and maximum is 100. Defaults to 20.
A cursor value specifying the id of a resource to start before. Retrieves items that appear after this cursor in the list. Cannot be used together with ending_before.
^[0-9a-fA-F]{24}$A cursor value specifying the id of a resource to end after. Retrieves items that appear before this cursor in the list. Cannot be used together with starting_after.
^[0-9a-fA-F]{24}$Case-insensitive search matched against customerEmail, customerName, productTitle and invoiceNumber. The query is routed based on input shape: email-like inputs (jane@example.com) match customerEmail only; identifier-like inputs containing a digit/underscore/hyphen (2026-000010) match invoiceNumber; multi-word inputs match customerName and productTitle; any other single bare word falls back to a broad case-insensitive substring match across customerName, customerEmail and productTitle. Best default when the user gives an ambiguous query. A customer may have multiple invoice records — always review all matches, not just the first.
1 <= length <= 200Filter by invoice status. Only one status per call. Valid values: draft, open, paid, uncollectible, refunded, partially_refunded, void. Use "paid" for completed invoices, "open" for outstanding, "refunded" or "partially_refunded" for refund history, "void" for cancelled. Filter by status when counting a category — an unfiltered total includes drafts and voids.
"draft" | "open" | "paid" | "uncollectible" | "refunded" | "partially_refunded" | "void"Return all invoices for a specific customer. Useful when you already have the customer record (e.g. from get_customer or list_customers).
^[0-9a-fA-F]{24}$Return invoices for a specific payment (Charge). Use when a customer asks for a copy of their invoice and you already have the originating payment ID. Most charges have one invoice.
^[0-9a-fA-F]{24}$Exact match on the invoice PO number. Use for "find the invoice for PO-5678".
1 <= length <= 200Inclusive lower bound on invoice createdAt. ISO-8601 UTC datetime with the Z suffix (e.g. 2026-01-01T00:00:00Z). Never use a local timezone offset — invoices are stored and compared in UTC.
date-timeInclusive upper bound on invoice createdAt. ISO-8601 UTC datetime with the Z suffix (e.g. 2026-12-31T23:59:59Z). Never use a local timezone offset — invoices are stored and compared in UTC.
date-timeResponse Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://api.checkoutpage.com/v1/invoices/"{
"data": [
{
"id": "string",
"sellerId": "string",
"customerId": "65f4a1c2e4a9f3d2b1c0a9e8",
"chargeId": "65f4a1c2e4a9f3d2b1c0a9e8",
"livemode": true,
"currency": "string",
"amount": 0,
"amountRefunded": 0,
"amountUsd": 0,
"amountPaid": 0,
"amountDue": 0,
"amountExcludingTax": 0,
"taxAmount": 0,
"taxBreakdown": [
{
"taxType": "string",
"taxabilityReason": "string",
"taxableAmount": 0,
"taxAmount": 0,
"taxRateDetails": {
"country": "string",
"percentageDecimal": 0,
"state": "string",
"taxType": "string"
}
}
],
"taxSource": "fixed_tax_rate",
"taxRates": [
{
"taxRate": "65f4a1c2e4a9f3d2b1c0a9e8",
"stripeId": "string",
"displayName": "VAT",
"default": true,
"active": true,
"inclusive": true,
"percentage": 0,
"createdAt": "2019-08-24T14:15:22Z",
"updatedAt": "2019-08-24T14:15:22Z"
}
],
"status": "draft",
"lineItems": [
{
"type": "product",
"name": "string",
"quantity": 0,
"unitPrice": 0,
"amount": 0,
"bulkDiscountAmount": 0,
"couponDiscountAmount": 0,
"couponCode": "string"
}
],
"subtotal": 0,
"subtotalAfterDiscount": 0,
"bulkDiscount": {
"minQuantity": 0,
"maxQuantity": 0,
"percentOff": 0,
"amountOff": 0,
"amount": 0
},
"fees": [
{
"name": "string",
"amount": 0,
"percentage": 0
}
],
"coupon": {
"id": "65f4a1c2e4a9f3d2b1c0a9e8",
"label": "string",
"code": "string",
"amountOff": 0,
"percentOff": 0,
"discount": 0
},
"poNumber": "string",
"poNumberLabel": "string",
"invoiceUuid": "string",
"invoiceNumber": "string",
"invoiceUrl": "string",
"billing": {
"name": "string",
"email": "string",
"phone": "string",
"address": {
"line1": "string",
"line2": "string",
"city": "string",
"state": "string",
"postalCode": "string",
"country": "string"
},
"taxId": "string",
"taxIdType": "string"
},
"sellerBilling": {
"name": "string",
"email": "string",
"taxId": "string",
"address": {
"line1": "string",
"line2": "string",
"city": "string",
"state": "string",
"postalCode": "string",
"country": "string"
}
},
"customerName": "string",
"customerEmail": "string",
"productTitle": "string",
"createdAt": "2019-08-24T14:15:22Z",
"updatedAt": "2019-08-24T14:15:22Z"
}
],
"total": 0,
"has_more": true
}{
"status": "error",
"type": "error",
"message": "Not Found",
"errors": [
{
"param": "string",
"message": "string",
"value": null
}
],
"property1": null,
"property2": null
}{
"status": "error",
"type": "error",
"message": "Not Found",
"errors": [
{
"param": "string",
"message": "string",
"value": null
}
],
"property1": null,
"property2": null
}{
"status": "error",
"type": "error",
"message": "Not Found",
"errors": [
{
"param": "string",
"message": "string",
"value": null
}
],
"property1": null,
"property2": null
}{
"status": "error",
"type": "error",
"message": "Not Found",
"errors": [
{
"param": "string",
"message": "string",
"value": null
}
],
"property1": null,
"property2": null
}{
"status": "error",
"type": "error",
"message": "Not Found",
"errors": [
{
"param": "string",
"message": "string",
"value": null
}
],
"property1": null,
"property2": null
}