Email an invoice to the customer
Requires the scope invoices.write.
invoices.write.Authorizations
Tenant credential. This is sufficient by itself.
Headers
Tenant credential: optional and, when sent, must equal the shop bound to the key. Partner credential: required; it selects an organisation the user previously authorised.
Optional client-generated key for write retries. Reusing it with a different request returns 409; a replay includes Idempotency-Replayed: true.
1 - 200Path Parameters
UUID.
"11111111-2222-3333-4444-555555555555"
Body
Parity with SendQuoteInput (F-29). Send Invoice is now the Send Quote flow — a
Review step then a Compose & Send step with {{tokens}} and a live preview — so
the operator composes a subject and can copy themselves, exactly as on a quote.
The field names differ from the quote's (toEmail vs emailTo) only because
this input shipped first; renaming it would break every deployed client.
Operator-composed subject. Omitted or blank → the server default,
Invoice {ref}, which is what every send used before F-29.
The WHOLE email body as Markdown, with {{tokens}} already resolved by the
client — the same contract as SendQuoteInput.emailBodyMarkdown. When set,
the server composes nothing: no invoice summary block is prepended.
Copy the sending rep, as on a quote.
A note PREPENDED to a server-composed summary (ref, amount due, due date, pay link). Kept working for clients that predate F-29.

