Documentación / API / Emisores (merchants)

Reemplazar CSD

PUThttps://api.cfdi.express/v1/merchants/{id}/csdAPI key

Sustituye el CSD del emisor por uno nuevo, típicamente al renovarlo antes de que venza. Mismas validaciones que al subirlo.

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

Parámetros

Parámetros de ruta

CampoTipoDescripción
idreqstringId del emisor.

Cuerpo (JSON)

CampoTipoDescripción
cerreqstringArchivo .cer (DER) en base64.
keyreqstringArchivo .key (DER, PKCS#8 encriptado) en base64.
passwordreqstringContraseña de la llave privada.

Ejemplos

cURL
curl -X PUT https://api.cfdi.express/v1/merchants/mkq2f8v3x1t7p9d4n6c0b5rz/csd \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d @csd-renovado.json

Respuesta

200 OK
{
  "object": "csd",
  "serialNumber": "30001000000600004821",
  "rfc": "EKU9003173C9",
  "validFrom": "2026-06-01T00:00:00.000Z",
  "validTo": "2030-06-01T00:00:00.000Z",
  "status": "active",
  "registeredWithPac": true,
  "updatedAt": "2026-08-18T16:31:08.771Z"
}

Errores

StatuscodeCuándo aparece
400validation_errorEl subcode identifica el problema del certificado.
401unauthorizedFalta el header Authorization o la llave es inválida.
404not_foundEl emisor no existe en tu cuenta.
503pac_unavailableEl PAC no está disponible.

Notas

  • Los CFDIs ya timbrados conservan el sello del certificado con el que se emitieron: reemplazar el CSD no los afecta.

Continuar