Skip to main content
Returns a cursor-paginated list of invoice objects belonging to your account. Results are ordered newest-first. Use the next_cursor value from one page as the cursor parameter on the next call to walk through the full set. An empty data array with next_cursor: null means you have reached the end. The overdue status is computed at read time — no invoice row is ever stored with that value — so filtering by status=overdue returns all open invoices whose due_date is in the past, even though their stored column reads open.
Base URL: https://invoice.horizonpay.co

Authentication

string
required
Bearer token in the form Bearer inv_live_…. The token must carry the invoices:read scope.

Query Parameters

string
Filter by invoice status. One of: draft, open, paid, overdue, void. overdue is computed server-side from due_date; all other values match the stored column.
string
Filter by customer. Accepts a cus_… public ID or the underlying UUID.
string
Lower bound on issue_date, inclusive. ISO 8601 date string (YYYY-MM-DD).
string
Upper bound on issue_date, inclusive. ISO 8601 date string (YYYY-MM-DD).
string
Opaque pagination cursor. Pass the next_cursor value returned by the previous page. Omit to start from the first page.
integer
Maximum number of invoices to return per page. The server may return fewer. Defaults to 20.

Request Example


Response Example

The list response does not expand lines. To retrieve line items for an invoice, call GET /api/v1/invoices/:id. Only the retrieve endpoint populates the lines.data array.

Response Fields

array
Array of invoice objects. Empty array [] when no invoices match the filter. Invoice objects in the list do not include the lines field.
string
Unique public identifier for the invoice, prefixed in_.
string
Always "invoice".
string | null
Human-readable invoice number (e.g. INV/25-26/0042). null for drafts — a number is assigned only when the invoice is finalized.
string
Current invoice status. One of draft, open, paid, overdue, or void. overdue is derived at read time from due_date and is never stored.
string
The cus_… public ID of the customer this invoice belongs to.
string
Three-letter ISO 4217 currency code (e.g. "USD", "EUR", "INR").
string
How payment is collected: "send_invoice" or "charge_automatically".
string
ISO 8601 date the invoice was issued (YYYY-MM-DD).
string | null
ISO 8601 date payment is due. null if no due date was set.
string | null
Notes shown on the invoice body. null if not set.
Footer text shown at the bottom of the invoice, typically used for payment terms. null if not set.
integer
Sum of all line totals before discounts and tax, in minor units (e.g. 500000 = $5,000.00 USD).
integer
Total discount applied across all line items, in minor units.
integer
The taxable amount (subtotal minus discount), in minor units.
integer
Total tax charged, in minor units.
integer
Grand total (taxable + tax), in minor units.
integer
Amount currently owed, in minor units. 0 for drafts, paid, and voided invoices. Equals total for open and overdue invoices.
string | null
The total expressed in words (e.g. "Five thousand six hundred and five dollars"). null if not generated.
string | null
Token for the shareable public invoice URL. null until the invoice is finalized.
string | null
ISO 8601 datetime when the invoice was finalized. null for drafts.
string | null
ISO 8601 datetime when the invoice was marked paid. null until payment is recorded.
string | null
ISO 8601 datetime when the invoice was voided. null unless voided.
string | null
Reason supplied when voiding. null if the invoice was not voided.
string
ISO 8601 datetime when the invoice record was created.
string
ISO 8601 datetime of the last modification to the invoice record.
string | null
Opaque cursor to pass as cursor on the next request to retrieve the following page. null when you have reached the last page.

Error Codes