Cancel invoice

POST https://api.invunion.com/api/v1/invoices/:code/cancel invoices:write Idempotency-Key Markdown

Cancel an invoice that has not been settled.

Sets status to cancelled. Refused when live matches, credit-note allocations, or a non-zero settled_amount exist. Already cancelled invoices return 200 without changing the row. Identify the invoice with its invoice_number.

Path parameters

NameTypeRequired
code

Invoice number (invoice_number). Invoices without a number cannot be addressed by path.

Example: INV-2026-0042

string

Max 100

Required

Errors

This operation can return the following errors in addition to generic HTTP failures.

Error HTTP code Description
Missing Bearer token 401 The Authorization header is missing or is not a Bearer token.
Invalid or revoked API key 401 The API key is unknown, malformed, expired, or has been revoked.
API key is missing scope invoices:write 403 The key does not include invoices:write. A write scope does not imply the matching read scope.
Too many requests, please try again later 429 More than 100 requests in one minute from this API key or IP address. Wait for the Retry-After header (seconds) and retry.
Tenant ID required 400 The authenticated credential is not bound to a tenant.
Invoice not found 404 No invoice with this number exists in the authenticated tenant.
This invoice has received payments or credit-note allocations. Unlink them or issue a credit note instead of cancelling. 409 Live matches, allocations, or settled_amount prevent cancel.
Internal server error 500 Unexpected server error. The JSON body includes correlationId. Retry with backoff.
Idempotency-Key must be 8-255 characters: letters, digits, ".", "_", ":" or "-". 400 The Idempotency-Key header is present but malformed.
A request with this Idempotency-Key is still being processed. 409 The first request with this key has not finished. Retry after it completes. code is idempotency_in_progress.
This Idempotency-Key was already used with a different request body. 422 Send a new key for a different request. code is idempotency_key_reuse.