Skip to main content
POST
Create invoice

Authorizations

Authorization
string
header
default:Bearer <token>
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

x-api-key
string | null

Body

application/json

Request to create an invoice.

Participant data (email, display_name, address) is snapshotted at creation time. Amount is computed as sum of items[].price * items[].quantity. invoice_number is auto-generated per (contractor, client) pair.

contractorEmail
string
required
contractorDisplayName
string
required
clientEmail
string
required
clientDisplayName
string
required
currency
enum<string>
default:USD

Supported invoice/contract currencies. G10 majors + AED/HKD.

Available options:
USD,
EUR,
GBP,
JPY,
CHF,
CAD,
AUD,
NZD,
SEK,
NOK,
AED,
HKD
comment
string | null
emailMessage
string | null
Maximum string length: 2000
invoicePrefix
string
default:INV

Prefix for auto-generated invoice_number, e.g. "INV" → "INV-0001".

Required string length: 1 - 16
Pattern: ^[A-Za-z0-9_-]+$
issuedDate
string<date> | null
dueDate
string<date> | null
items
Items · object[]
discount

Fixed discount in invoice currency. Subtracted from sum of items.

Required range: x >= 0
documentIds
string<uuid>[] | null
contractorAddress
UserAddress · object | null

Address schema for user.

Canonical field names: street_address, address_line_2, city, state, country, zip. Accepts legacy Align/IBAN field names (street_line_1, street_line_2, postal_code) for backward compatibility with existing JSONB data.

clientAddress
UserAddress · object | null

Address schema for user.

Canonical field names: street_address, address_line_2, city, state, country, zip. Accepts legacy Align/IBAN field names (street_line_1, street_line_2, postal_code) for backward compatibility with existing JSONB data.

banks
string<uuid>[] | null
onchain
boolean
default:false

Response

Successful Response

Invoice response.

id
string<uuid>
required
amount
string
required
Pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
currency
enum<string>
required

Supported invoice/contract currencies. G10 majors + AED/HKD.

Available options:
USD,
EUR,
GBP,
JPY,
CHF,
CAD,
AUD,
NZD,
SEK,
NOK,
AED,
HKD
status
enum<string>
required

Invoice status.

Available options:
draft,
sent,
paid,
cancelled,
client_paid,
client_declined
createdAt
string<date-time>
required
updatedAt
string<date-time>
required
onchainTransactionId
string | null
transaction
InvoiceTransactionInfo · object | null

Minimal transaction info embedded in invoice response.

discount
string | null
Pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
comment
string | null
emailMessage
string | null
invoiceNumber
string | null
periodNumber
integer | null
issuedDate
string<date> | null
dueDate
string<date> | null
items
Items · object[]
paymentMethods
(IBANAccountDetails · object | USExternalAccountDetails · object | SwiftAccountDetails · object | ContactWalletResponse · object | EmailAccountInput · object)[]

IBAN (SEPA) external account.

client
InvoiceParticipant · object | null

Minimal participant info for invoice response.

contractor
InvoiceParticipant · object | null

Minimal participant info for invoice response.

contract
InvoiceContractInfo · object | null

Minimal contract info embedded in invoice response.

documents
InvoiceDocumentInfo · object[]
paidAt
string<date-time> | null