Documentación / API / Retenciones (plataformas digitales)

Consultar un CFDI de retenciones

GEThttps://api.cfdi.express/v1/retenciones/{id}API key

Devuelve una constancia de retenciones: estatus, UUID, periodo, montos derivados, archivos y cancelación.

Desde la v1.43.0. Úsalo para seguir un timbrado que respondió 202 (status: "stamping") y para leer las URLs firmadas cuando files.status pasa a ready.

Por MCP, get_retencion devuelve el mismo recurso.

Autenticación
Authorization: Bearer sk_test_... | sk_live_...

El header x-account-id indica la cuenta. Si no eres miembro, la respuesta es 403.

Parámetros

Parámetros de ruta

CampoTipoDescripción
idreqstringId de la retención.

Ejemplos

cURL
curl https://api.cfdi.express/v1/retenciones/ret7k3q9x2m4v1t8p6d0n5cb \
  -H "Authorization: Bearer sk_test_..."

Respuesta

200 OK
{
  "id": "ret7k3q9x2m4v1t8p6d0n5cb",
  "object": "retencion",
  "livemode": false,
  "status": "stamped",
  "merchantId": "mkq2f8v3x1t7p9d4n6c0b5rz",
  "uuid": "9f1b2c3d-4e5f-4a6b-8c9d-0e1f2a3b4c5d",
  "serie": "RET",
  "folio": 42,
  "folioText": "202609C0042",
  "fecha": "2026-10-01T10:00:00",
  "cveRetenc": "26",
  "ejercicio": 2026,
  "mes": 9,
  "periodicidad": "02",
  "tipoServicio": "05",
  "montoTotOperacion": 1000,
  "montoTotRet": 360,
  "isrRetenido": 200,
  "ivaRetenido": 160,
  "ivaTrasladado": 160,
  "difIvaEntregadoPrestServ": 0,
  "comisiones": 150,
  "currency": "MXN",
  "files": { "status": "ready" },
  "stampedAt": "2026-10-01T16:00:10.512Z",
  "createdAt": "2026-10-01T16:00:08.907Z"
}

Errores

StatuscodeCuándo aparece
401unauthorizedFalta el header Authorization o la llave es inválida.
404not_foundLa retención no existe en tu cuenta.

Notas

  • El recurso también trae receiver, servicios, impRetenidos y cancellation. Los campos de cancellation no están detallados en el OpenAPI publicado: el acuse queda en ese objeto cuando el estatus es de cancelación.

Continuar