# Eliminar CSD > `DELETE https://api.cfdi.express/v1/merchants/{id}/csd` — Elimina el CSD de un comercio. El comercio no se borra y los CFDIs ya timbrados no cambian. Sin CSD no puede timbrar ni cancelar hasta que vuelvas a subir el certificado. URL de esta página: https://cfdi.express/docs/api/eliminar-csd Autenticación: requiere API key (`Authorization: Bearer sk_test_…` o `sk_live_…`) Disponible a partir de la versión **v1.34.0** de la API. La operación borra el certificado y su llave privada cifrada, y desactiva el CSD en el PAC. Si otro comercio usa el mismo certificado, en el PAC se queda activo. No se puede deshacer: para restaurarlo, vuelve a subir el `.cer` y el `.key` con [POST /v1/merchants/{id}/csd](https://cfdi.express/docs/api/subir-csd). Sin CSD, ese comercio no puede timbrar facturas, notas de crédito, nóminas ni complementos de pago, ni cancelar CFDIs. A partir de la **v1.35.0**, `DELETE /v1/merchants/{id}` también borra el CSD de ese comercio. Si vuelves a crear un RFC que habías borrado, se restaura el mismo comercio (mismo `id`, historial y folios), sin CSD. Antes, esa operación fallaba con un error 500. ### Parámetros de ruta | Campo | Tipo | Requerido | Descripción | |---|---|---|---| | `id` | string | sí | Id del comercio. | ## Ejemplos ### cURL ```bash curl -X DELETE https://api.cfdi.express/v1/merchants/mkq2f8v3x1t7p9d4n6c0b5rz/csd \ -H "Authorization: Bearer sk_test_..." ``` ## Respuesta ### 200 OK ```json { "id": "mkq2f8v3x1t7p9d4n6c0b5rz", "object": "merchant", "livemode": false, "rfc": "EKU9003173C9", "legalName": "ESCUELA KEMPER URGATE", "regimenFiscal": "601", "zip": "42501", "serie": "A", "defaultClaveProdServ": "01010101", "defaultClaveUnidad": "E48", "csd": null, "logoUrl": "https://files.cfdi.express/logos/mkq2f8...png?X-Amz-Expires=900&...", "createdAt": "2026-08-18T16:20:03.114Z" } ``` ### 400 — documentos en curso ```json { "type": "https://api.cfdi.express/docs/errors/validation_error", "title": "Validation error", "status": 400, "code": "validation_error", "detail": "This merchant has documents still stamping or awaiting cancellation — try again once they finish", "subcode": "documents_in_flight" } ``` ### 404 — sin CSD ```json { "type": "https://api.cfdi.express/docs/errors/not_found", "title": "Not found", "status": 404, "code": "not_found", "detail": "This merchant has no CSD uploaded" } ``` ## Errores | Status | code | Cuándo aparece | |---|---|---| | 400 | `validation_error` | subcode documents_in_flight. Hay facturas, pagos o nóminas en stamping o cancel_pending. Se puede reintentar cuando terminen. | | 401 | `unauthorized` | Falta el header Authorization o la llave es inválida. | | 404 | `not_found` | El comercio no existe, está eliminado o no tiene CSD. Sin CSD, el mensaje es "This merchant has no CSD uploaded". | ## Notas - Devuelve el recurso Merchant completo, con `csd` en `null`. - El comercio no se borra. Los CFDIs ya timbrados no cambian. - En el dashboard, «Eliminar CSD» solo aparece en el menú de acciones si el comercio tiene CSD. El diálogo se titula «Eliminar CSD — {RFC}» y explica que se borran el certificado y su llave privada. El botón Eliminar CSD va en rojo. - Para volver a timbrar hay que subir el certificado de nuevo. Hasta entonces no puede timbrar facturas, notas de crédito, nóminas ni complementos de pago, ni cancelar CFDIs. ## Relacionados - [POST /v1/merchants/{id}/csd](https://cfdi.express/docs/api/subir-csd) — Subir CSD - [PUT /v1/merchants/{id}/csd](https://cfdi.express/docs/api/reemplazar-csd) — Reemplazar CSD - [GET /v1/merchants/{id}/csd](https://cfdi.express/docs/api/obtener-csd) — Consultar CSD - [DELETE /v1/merchants/{id}](https://cfdi.express/docs/api/eliminar-emisor) — Eliminar emisor - [POST /v1/merchants](https://cfdi.express/docs/api/crear-emisor) — Crear emisor --- Referencia completa: https://cfdi.express/docs/api · OpenAPI: https://api.cfdi.express/openapi.json · Llaves: https://dash.cfdi.express