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
| Campo | Tipo | Descripción |
|---|---|---|
| idreq | string | Id del emisor. |
Cuerpo (JSON)
| Campo | Tipo | Descripción |
|---|---|---|
| cerreq | string | Archivo .cer (DER) en base64. |
| keyreq | string | Archivo .key (DER, PKCS#8 encriptado) en base64. |
| passwordreq | string | Contraseñ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.jsonRespuesta
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
| Status | code | Cuándo aparece |
|---|---|---|
| 400 | validation_error | El subcode identifica el problema del certificado. |
| 401 | unauthorized | Falta el header Authorization o la llave es inválida. |
| 404 | not_found | El emisor no existe en tu cuenta. |
| 503 | pac_unavailable | El 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.
