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.

GET/v1/invoices/

Authorization

api_key_auth
AuthorizationBearer <token>

API key authentication. Use "Bearer YOUR_API_KEY" format.

In: header

Query Parameters

limit?string

The number of results per page. Minimum value is 1 and maximum is 100. Defaults to 20.

starting_after?string

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.

Match^[0-9a-fA-F]{24}$
ending_before?string

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.

Match^[0-9a-fA-F]{24}$
search?string

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.

Length1 <= length <= 200
status?string

Filter 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.

Value in"draft" | "open" | "paid" | "uncollectible" | "refunded" | "partially_refunded" | "void"
customerId?string

Return all invoices for a specific customer. Useful when you already have the customer record (e.g. from get_customer or list_customers).

Match^[0-9a-fA-F]{24}$
chargeId?string

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.

Match^[0-9a-fA-F]{24}$
poNumber?string

Exact match on the invoice PO number. Use for "find the invoice for PO-5678".

Length1 <= length <= 200
createdAfter?string

Inclusive 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.

Formatdate-time
createdBefore?string

Inclusive 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.

Formatdate-time

Response 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
}