Codigos de Error
Cada error incluye un codigo unico, mensaje descriptivo y sugerencia de solucion.
Formato de error
{
"success": false,
"error": {
"code": "CFDI_003",
"message": "El certificado CSD ha expirado",
"details": { "vigenciaFin": "2025-12-15T00:00:00Z" }
}
}Autenticacion
AUTH_001401No autorizadoIncluye un API key valido en el header Authorization
AUTH_002401Usuario no encontradoEl API key es valido pero el usuario fue eliminado
AUTH_003403No tienes permisos para esta accionTu rol en la empresa no permite esta operacion
Empresa
EMPRESA_001400Datos invalidosRevisa los campos requeridos: rfc, razonSocial, regimenFiscal, codigoPostal
EMPRESA_002409Ya existe una empresa con este RFCUsa GET /v1/empresas para encontrar la empresa existente
Certificados CSD
CSD_001400Faltan campos requeridosIncluye cerBase64, keyBase64 y password
CSD_002400El certificado y la llave no coincidenVerifica que el .cer y .key sean del mismo par y la contrasena sea correcta
CSD_003400El certificado CSD ya expiroRenueva tu CSD en el portal del SAT
FIEL (e.firma)
La FIEL se usa para descargar CFDIs del SAT. Es un certificado distinto del CSD.
FIEL_001400Faltan campos requeridosIncluye cerBase64, keyBase64 y password de la FIEL
FIEL_002400El .cer y .key de la FIEL no coincidenVerifica que los archivos sean el par correcto y que la contrasena sea correcta
FIEL_003400La FIEL esta expiradaRenueva tu e.firma en el portal del SAT (sat.gob.mx)
FIEL_999500Error interno al procesar la FIELVerifica que los archivos sean correctos. Si persiste, contacta soporte.
MISSING_FIEL412La empresa no tiene FIEL configuradaSube la FIEL via POST /api/empresas/:id/fiel antes de descargar CFDIs
FIEL_EXPIRED412La FIEL esta vencidaRenueva la e.firma y vuelve a subirla
FIEL_DECRYPT500No se pudo desencriptar la FIEL guardadaLa clave de cifrado cambio. Vuelve a subir la FIEL.
Descarga de CFDI desde SAT
Errores del flujo asincrono POST /api/cfdi/descargar-por-uuid. Los errores que empiezan con SAT_ vienen directamente del SAT.
DESCARGA_001400Body JSON invalidoEnvia un objeto JSON valido con el campo uuid
DESCARGA_002400Datos invalidosVerifica que el campo uuid este presente y sea string
DESCARGA_003400jobId requeridoIncluye el jobId en la URL: /api/cfdi/descargar-por-uuid/{jobId}
DESCARGA_004404Job no encontradoEl jobId no existe o pertenece a otra empresa
INVALID_UUID400Formato de UUID invalidoUsa el formato XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
CFDI_NOT_FOUND200SAT no encontro el CFDIVerifica que el UUID sea correcto y que la empresa tenga acceso a ese CFDI (como receptor o emisor)
VERIFICA_TIMEOUT200SAT no termino la solicitud en 5 minutosReintenta mas tarde. El SAT puede estar saturado.
EMPTY_PACKAGE200El paquete del SAT vino vacioReintenta. Si persiste, el CFDI puede no estar disponible aun en Descarga Masiva.
PARSE_ERROR200El XML se descargo pero no se pudo parsearCFDI con formato no soportado — reporta a soporte con el UUID
SAT_5002200Se han agotado las solicitudes permitidasSAT rate-limit. Espera unos minutos antes de reintentar.
SAT_5004200No se encontro informacionEl UUID no existe en el SAT, o no tienes permiso como receptor
SAT_5005200Solicitud duplicadaYa hay una solicitud identica en proceso — reusa el job anterior
SAT_ESTADO_4200SAT rechazo la solicitud (error)Revisa el mensaje del SAT en satMensaje
SAT_ESTADO_5200SAT rechazo la solicitudSolicitud rechazada. Revisa satMensaje.
SAT_ESTADO_6200Solicitud vencidaLa solicitud tomo demasiado tiempo. Reintenta.
Facturacion (CFDI)
CFDI_001400Datos invalidosRevisa que los conceptos tengan claveProdServ, claveUnidad, descripcion, cantidad y precioUnitario
CFDI_002400La empresa no tiene CSD configuradosSube los certificados via POST /v1/empresas/:id/certificados
CFDI_003400El certificado CSD ha expiradoRenueva tu CSD en el portal del SAT y vuelve a subirlo
CFDI_004404Cliente no encontradoCrea el cliente primero via POST /v1/clientes
Timbres
QUOTA_001402Se agotaron los timbres disponiblesAdquiere mas timbres. Consulta tu saldo en GET /v1/timbres/saldo
Cancelacion
CANCEL_002404CFDI no encontradoVerifica el ID del CFDI
CANCEL_003400Status no permite cancelacionSolo se pueden cancelar CFDIs con status TIMBRADO
CANCEL_004400Motivo 01 requiere folioSustitucionIncluye el UUID del CFDI que sustituye al cancelado
Nomina
NOMINA_001400Datos invalidosRevisa salarioDiario, diasPagados y periodicidad
EMPLEADO_002409Ya existe un empleado con ese RFCCada RFC debe ser unico por empresa
Codigos HTTP
200OK — Peticion exitosa201Created — Recurso creado exitosamente400Bad Request — Datos invalidos o faltantes401Unauthorized — API key invalido o faltante402Payment Required — Sin timbres disponibles403Forbidden — Sin permisos para esta accion404Not Found — Recurso no encontrado409Conflict — Recurso duplicado412Precondition Failed — Falta configuracion previa (ej: FIEL no subida)500Internal Server Error — Error interno (reportar)