POST
/api/public/v1/invoices/{invoiceId}/send-emailEmail an invoice
Sends the customer their pay link. Creating an invoice does not send it — this is the send. Only an OPEN invoice can be mailed: once the deposit lands there is nothing left to ask for, and a PENDING_CONTRACT invoice goes out on its own when the contract behind it is signed.
Required scope
The access token must carry this scope. A token missing it gets 403 Forbidden. Grant them to an API client under Settings → Company → API, and to a teammate under Employee → Permissions.
invoices:write
Path Parameters
| Name | Type | Required | Description |
|---|---|---|---|
invoiceId | string | Required | Invoice ID. |
POSTExample request
curl
curl -X POST "https://www.pxb.app/api/public/v1/invoices/{invoiceId}/send-email" \
-H "Authorization: Bearer your_access_token"200Example response
json
{
"message": "Invoice emailed to ap@northwind.example.",
"content": {
"invoiceId": "9f1c2f4e-6b3a-4f28-9c11-0a2b3c4d5e6f",
"email": "ap@northwind.example"
}
}400Example response
json
{
"message": "This invoice has no customer email."
}In the console
The same thing done by hand, for anyone comparing the API against the screen they already use.