Cancel several invoices
POST
/invoices/cancel
const url = 'https://example.com/invoices/cancel';const options = { method: 'POST', headers: { cookie: '__Host-bottle.session_token=<__Host-bottle.session_token>', 'Content-Type': 'application/json' }, body: '{"invoiceIds":["019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f"]}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/invoices/cancel \ --header 'Content-Type: application/json' \ --cookie __Host-bottle.session_token=<__Host-bottle.session_token> \ --data '{ "invoiceIds": [ "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f" ] }'Each unpaid invoice is kept on the books marked cancelled, and any card payment link on it is closed. One already paid or cancelled is left as it is and listed as skipped.
Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
object
invoiceIds
required
Array<string>
Responses
Section titled “Responses”What was cancelled and what was skipped
Media typeapplication/json
object
done
required
Array<object>
object
invoiceId
required
UUID v7
string format: uuid
number
required
string
skipped
required
Array<object>
object
invoiceId
required
UUID v7
string format: uuid
number
required
string | null
reason
required
string
Example
{ "done": [ { "invoiceId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f" } ], "skipped": [ { "invoiceId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f", "reason": "not_found" } ]}Not signed in
Media typeapplication/json
object
error
required
string
message
required
string
Example
{ "error": "not_found", "message": "Customer not found"}Not a member, or without the permission this needs
Media typeapplication/json
object
error
required
string
message
required
string
Example
{ "error": "not_found", "message": "Customer not found"}Validation failed
Media typeapplication/json
object
error
required
string
message
required
string
issues
required
Array<object>
object
path
required
string
message
required
string
Example
{ "error": "validation", "issues": [ { "path": "email", "message": "Invalid email" } ]}