Skip to main content
The v3 Invoices API supports complete invoice automation. All invoice endpoints require an HMAC-SHA256 authorization signature and must be called from your server.
TypeScript integrations can use the signed methods in the ApiClient invoice reference. Endpoint schemas are also available in the generated API reference.

Endpoints

Authentication

Generate the Authorization value from the API secret, HTTP method, exact path without the /v3 prefix, and current timestamp. The ApiClient generates this automatically when you pass apiSecret.

Create and publish

POST /invoices validates the complete invoice, creates a linked SALE order, and emails the recipient a PDF and hosted payment link.
To publish an existing draft, include its id and provide the complete required blocks shown above.

Save or update a draft

POST /invoices/drafts accepts partial content. Omit id to create a draft or include an unpublished draft ID to update it.
Draft blocks are stored as supplied and validated only when published.

List invoices

GET /invoices accepts: The response contains data: InvoiceResponse[] and pagination metadata.

Retrieve, archive, or delete

  • GET /invoices/{invoice_id} returns the invoice details and linked orders.
  • POST /invoices/{invoice_id}/archive retains the invoice and sets archived_at.
  • DELETE /invoices/{invoice_id} returns 204 for a deleted unpublished draft. Published invoices cannot be deleted.

Response fields

Use order_id and orders for payment reconciliation. A published invoice is not necessarily paid; fulfillment depends on the linked order reaching COMPLETED.

Common errors