Mark several invoices paid
POST
/invoices/mark-paid
const url = 'https://example.com/invoices/mark-paid';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"],"via":"transfer"}'};
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/mark-paid \ --header 'Content-Type: application/json' \ --cookie __Host-bottle.session_token=<__Host-bottle.session_token> \ --data '{ "invoiceIds": [ "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f" ], "via": "transfer" }'For a batch of bank transfers, or a pile of cash: each unpaid invoice is marked paid today, the same way. 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>
via
required
string
Responses
Section titled “Responses”What was marked paid 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" } ]}