All invoice endpoints are scoped to your tenant. Pass your API key in the
Authorization: Bearer header on every request.Invoice statuses
List invoices
GET /api/invoices
Returns a paginated list of invoices for the authenticated tenant, with company name included in each row.
Query parameters
string
Filter by invoice status. One of:
draft, sent, viewed, partially_paid, paid, overdue, voided.string
Search by invoice number or company name (case-insensitive).
string
Return invoices with
issuedDate on or after this date (YYYY-MM-DD).string
Return invoices with
issuedDate on or before this date (YYYY-MM-DD).integer
default:"1"
1-based page index.
integer
default:"25"
Results per page. Maximum
100.Response
Get an invoice
GET /api/invoices/{id}
Retrieves a full invoice record with company details, optional contact, all line items, and all payment records.
Path parameters
string
required
UUID of the invoice.
Response fields
string
UUID of the invoice.
string
Human-readable invoice number (for example,
INV-2024-0042).string
Current status of the invoice.
string
UUID of the billed company.
string | null
UUID of the associated contact.
string | null
UUID of the originating quote, if any.
string | null
Issue date (
YYYY-MM-DD).string | null
Payment due date (
YYYY-MM-DD).string
Subtotal before tax as a decimal string.
string
Tax rate as a decimal string (for example,
"0.08" for 8%).string
Calculated tax amount.
string
Total amount including tax.
string
Total amount paid to date.
string
Remaining balance.
string | null
Internal notes.
string | null
Notes visible to the customer on the invoice.
object
Custom field key-value pairs.
string | null
Timestamp when the invoice was sent.
string | null
Timestamp when the invoice was fully paid.
object
object | null
array
array
Update an invoice
PATCH /api/invoices/{id}
Updates metadata fields on an invoice. Status transitions (sending, voiding, recording payments) are handled by sub-routes not covered here; this endpoint is for notes, due date, and custom field overrides.
Path parameters
string
required
UUID of the invoice to update.
Request body
All fields are optional.string | null
Updated internal notes. Pass
null to clear.string | null
Updated customer-facing notes. Pass
null to clear.string | null
Updated due date (
YYYY-MM-DD). Pass null to clear.object
Replaces all custom field values with the provided map.
Response
Returns200 OK with the updated invoice object. Returns 404 Not Found if the invoice does not exist or belongs to a different tenant.