Skip to content

Cancel several invoices

POST
/invoices/cancel
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.

Media typeapplication/json
object
invoiceIds
required
Array<string>
>= 1 items <= 500 items

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
Allowed values: not_found paid void

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
Allowed values: validation
message
required
string
issues
required
Array<object>
object
path
required
string
message
required
string

Example

{
"error": "validation",
"issues": [
{
"path": "email",
"message": "Invalid email"
}
]
}