Skip to main content
Create, send, and manage invoices through the admin API. For general conventions, see JSON-API Conventions. For authentication, see Authentication.

Prerequisites

  • Bearer token with admin access + ?o={organization_id}

Invoice Actions

Cancel an Invoice

Creates a credit note and voids the invoice.

Mark as Paid

Mark a SENT invoice as paid without processing a payment:
Set send_notification to true to email the customer a payment confirmation.

Change Recipient

Transfers an invoice to a different customer. This cancels the original invoice and creates a new copy for the new recipient:

Creating an Invoice

All examples below assume BASE_URL = https://{your-domain}/api/v1.
1

Find a Customer by Email

The email filter performs an exact (case-insensitive) match.For a fuzzy name/email/phone search, use the search filter instead:

Filter by Custom Field

Custom fields are referenced by their UUID. See Custom Field Filters for the full syntax and supported operators.
For checkbox fields, pass true / false as the value. For multi-select fields, the in operator accepts comma-separated values.
2

Create a Customer (if not found)

Required: email, localeCreate the customer’s address as a separate resource:
3

Create the Invoice (draft)

Customer linking

When the invoice is sent, the backend snapshots recipient and buyer_data from the customer so the invoice stays valid even if the profile changes later.

Attributes

4

Add Line Items

* Provide the amount matching the invoice direction. The backend derives the other automatically.Repeat for each line item. Invoice totals recalculate after each item.
5

Send the Invoice

Transitions status to sent and delivers via the configured notification channel.
6

Mark as Paid (optional)


Full Workflow Summary

All endpoints include ?o={organization_id} for tenant context.

Common Errors