Resolve Cancellation
Timbrix cannot query SAT in real time for the receptor’s response — call this once you’ve confirmed the outcome via the SAT portal. Session callers must be an owner/admin of the invoice’s organization; API key callers are scoped by the write:invoices scope instead.
requiresApproval: true, cancellationStatus: "pendiente"). Timbrix cannot query the SAT in real time for the receptor’s response — call this endpoint once you’ve verified the actual outcome on the SAT portal.
This is a flat route, same pattern as Cancel Invoice — no /organizations/{organizationId}/ prefix.
Authentication
Accepts either:- A Supabase Bearer session (
Authorization: Bearer <token>) — the authenticated user must be an owner or admin of the invoice’s organization. Plain members can request a cancellation via Cancel Invoice, but cannot resolve one, mirroring the same restriction in the Timbrix dashboard, since resolving can flip a CFDI’sstatustocancelado. - An API key (
X-API-Key: sk_...) with thewrite:invoicesscope — the key’s own organization must match the invoice’s organization. API keys are scoped by thewrite:invoicesscope rather than per-member roles, so the owner/admin restriction only applies to session-authenticated callers.
Path Parameters
Request Body
What happens
outcome: "aceptada"— the invoice’sstatustransitions tocancelado. The cancellation is now final.outcome: "rechazada"— the invoice staysvigente. A rejected attempt does not block retries — you can request a new cancellation for the same invoice via Cancel Invoice.
Example Request
Example Response
InvoiceCancellationDto shape.
Common Errors
400 Bad Request
The cancellation was already resolved (cancellationStatus is not pendiente).
401 Unauthorized
Missing or invalid Bearer token / API key.403 Forbidden
The authenticated user is not a member of the invoice’s organization, is a member but not an owner/admin, or the API key does not have thewrite:invoices scope / belongs to a different organization than the one that owns the invoice.
404 Not Found
uuid does not match any invoice, or cancellationId does not match a cancellation request for that invoice.Authorizations
API Key for authentication (format: sk_...)
Path Parameters
Folio fiscal UUID of the invoice
ID of the cancellation request to resolve
Body
Resultado confirmado manualmente por el usuario tras verificar el estatus real en el portal del SAT — Timbrix no puede consultarlo en tiempo real.
aceptada, rechazada "aceptada"
Response
"6a1b2c3d-4e5f-4890-9abc-def012345678"
Timbrix invoice record ID
"0f2a1c3e-1a2b-4c3d-9e8f-1234567890ab"
01, 02, 03, 04 "02"
false
pendiente, aceptada, rechazada "aceptada"
"2026-08-09T15:50:03.412Z"
null
null
"9f8e7d6c-5b4a-3210-fedc-ba9876543210"
null
null