Validate CFDI (Electronic Invoice)
Credits: 1 per call.
Validates a CFDI (Comprobante Fiscal Digital por Internet) — Mexico’s mandatory electronic invoice — by checking its current status with SAT. Returns whether the CFDI is currently valid (VALID) or cancelled (CANCELED), the cancellation status (e.g. requires receiver acceptance), and the fiscal effect (INCOME, EXPENSE, TRANSPORT, PAYROLL, PAYMENT).
Use this endpoint when reconciling supplier invoices, processing expense reports, or ensuring that the invoices you receive are real and not later cancelled by the issuer without your knowledge.
Authorizations
Body
- Option 1
- Option 2
CFDI Folio Fiscal (UUID format 8-4-4-4-12). Required when sending direct identifiers.
"7C8BD4EA-AE86-4CB5-88B8-C6E61E988A8B"
RFC of the issuer (12 or 13 chars). Required when sending direct identifiers.
"PEZJ811011KI1"
RFC of the receiver (12 or 13 chars). Required when sending direct identifiers.
"EMP170623KI3"
Total CFDI amount as decimal string (no currency symbol). Required when sending direct identifiers.
"999999.99"
Base64-encoded CFDI document. Accepts the XML invoice or a printable representation (PDF, PNG, JPG) containing the SAT QR code. The format is auto-detected from the payload; the backend derives the identifiers from the XML body or from the embedded QR.
Response
CFDI Validation Result (Strict Envelope Pattern).
High-level outcome. OK means the request was successfully processed (regardless of business result). ERROR means the request was rejected or could not be processed.
OK, ERROR Stable result type code. Includes generic codes (SUCCESS, INVALID_REQUEST, UNAUTHORIZED, SERVICE_UNAVAILABLE, INTERNAL_ERROR, RATE_LIMIT_EXCEEDED) plus endpoint-specific result codes — see this endpoint's response examples.
Human-readable summary of the result. Always in English (per Language Conventions in the API overview).
Unique identifier of this request, generated by the API Gateway. Propagated end-to-end for traceability.
ISO 8601 datetime with Mexico City offset (-06:00). Always set by the API Gateway when the response leaves the system.
Whether this request will be charged against the client's plan. Typically true for successful business results and false for validation errors or system errors that prevented processing.
Response payload. null on error responses. Shape depends on the endpoint — see each operation's response schema.
Per-field error details. Present only on INVALID_REQUEST responses.