Cancel invoice
Authentication
Path parameters
Headers
Scope the request to a specific store / account instead of the one resolved from the API key. Aliases: the x-account-id header, or the application_account_id / account_id query parameter.
Scope the request to a specific store / account instead of the one resolved from the API key. Aliases: the x-account-id header, or the application_account_id / account_id query parameter.
Cancels the invoice :id, moving it to the Expired status so it can no longer be paid.
This replaces the deprecated PATCH /v1/invoice/:id/cancel.
x-api-key header with Merchant.invoice.patch. Also accepts JWT user and POS JWT.
id (required): the invoice id.Only invoices with a "New" status can be cancelled. — the invoice is already paid, expired or invalid.Sets the status to Expired, records a CANCELLED invoice event ({ reason: 'manual' }, actor API_USER) and broadcasts the change over the websocket gateway. There is no request body; the response is { status: "cancelled" }.
Notas: Handler: invoiceCreationService.cancel. Cancelling maps to the Expired status, not to a dedicated “cancelled” status. Complements POST /v1/invoice/:id/reopen.