API documentation

Endpoints

GET/client/:customerId/invoices

List customer invoices

This endpoint returns a paginated collection based on records synchronized by the connector. Use it for billing histories, reconciliation and selecting an invoice before requesting its details.

Request
Build the URL with the parameters below and send the code in the Authorization header.
GEThttps://stripe-ix.betacode.tech/api/v1/client/:customerId/invoices

Inputs and parameters

customerIdpathstring

Stripe Customer ID. Starts with cus_.

Required

pagequeryinteger

Page to return. Values below 1 use the default.

Optional · Default: 1

page_sizequeryinteger

Number of records per page. The maximum is 50.

Optional · Default: 10

statusqueryenum

Stripe status: draft, open, paid, void or uncollectible.

Optional

ix_statusquerystring

InvoiceXpress document status, for example draft or settled.

Optional

date_fromquerydate

Inclusive start date in YYYY-MM-DD format.

Optional

date_toquerydate

Inclusive end date in YYYY-MM-DD format.

Optional

qquerystring

Free-text search across number, customer, email and other indexed fields.

Optional

Request example

curl "https://stripe-ix.betacode.tech/api/v1/client/cus_Q1w2E3r4/invoices?page=1&page_size=20&status=paid&ix_status=settled&date_from=2026-01-01" \
  -H "Authorization: Bearer ixp_test_YOUR_ACCESS_CODE" \
  -H "Accept: application/json"
Response
On success, this endpoint returns JSON with Content-Type application/json.

Output example

{
  "invoices": [
    {
      "id": "in_1Q2w3E4r",
      "number": "A-2026-0042",
      "display_name": "Acme, Lda.",
      "customer_name": "Ana Silva",
      "customer_id": "cus_Q1w2E3r4",
      "customer_email": "financeiro@acme.pt",
      "company_name": "Acme, Lda.",
      "customer_tax_id": "PT509123456",
      "issued_at": "2026-08-18T10:30:00.000Z",
      "ix_created_at": "2026-08-18T10:31:12.000Z",
      "subtotal_cents": 10000,
      "discount_cents": 1000,
      "tax_cents": 2300,
      "tax_percent": 23,
      "total_cents": 12300,
      "currency": "eur",
      "status": "paid",
      "ix_sync_state": "synced",
      "ix_id": 98765,
      "ix_status": "settled"
    }
  ],
  "page": 1,
  "page_size": 20,
  "total": 1,
  "total_pages": 1,
  "source": "mongo"
}

Behavior

  • Pagination metadata is returned even when no records match.
  • Monetary values ending in _cents are integers in the currency's smallest unit.
  • status filters the Stripe state; ix_status independently filters the InvoiceXpress document.

Integration notes

  • A page above the last result is normalized to the last available page.
  • ix_sync_state may be not_synced, creating, synced, failed or ignored.