Creates an invoice for your organization.
Set the customer via customerId (find candidates with GET /v1/customers), and one or more receiving accounts via paymentAccountIds (find candidates with GET /v1/payment-accounts?enabledForAR=true). Payment accounts are optional at create time but at least one is required before you can share the invoice.
Set denomination to fiat or token. A fiat-denominated invoice prices its lines in fiat and lists the token/network rails the payor may settle on in paymentOptions (e.g. a USD invoice payable in USDC or ETH on base). A token-denominated invoice prices its lines directly in tokens; for those lines you may set a per-line exchangeRate (USD per token), and when you omit it the server values the line at the close price of its currency on the line's date. The model is identical for single- and multi-currency invoices: the invoice's totals carry one entry per distinct line currency.
Every invoice is created as a draft (lifecycle: draft, settlement: unpaid) and is fully editable. It is not committed until you call POST /v1/invoices/{invoiceId}:issue or :share — see the Invoice lifecycle section. A draft is native to Bitwave and is never synced to external systems.
Idempotency: send an Idempotency-Key header so a network retry can't create a duplicate (see the API description). A new invoice returns 201; a replay of the same key returns the original invoice with 200.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
