# Subir o reemplazar el logo > `PUT https://api.cfdi.express/v1/merchants/{id}/logo` — Sube la imagen que aparece en el encabezado de los PDFs del emisor. PNG, JPEG o WebP en base64, máximo 500 KB. URL de esta página: https://cfdi.express/docs/api/subir-logo Autenticación: requiere API key (`Authorization: Bearer sk_test_…` o `sk_live_…`) Sin logo, el PDF muestra sólo la razón social. El logo no afecta el XML ni el timbrado: es puramente de presentación. ### Parámetros de ruta | Campo | Tipo | Requerido | Descripción | |---|---|---|---| | `id` | string | sí | Id del emisor. | ### Cuerpo (JSON) | Campo | Tipo | Requerido | Descripción | |---|---|---|---| | `logo` | string | sí | Imagen PNG, JPEG o WebP en base64. Máximo 500 KB ya decodificada. | ## Ejemplos ### cURL ```bash curl -X PUT https://api.cfdi.express/v1/merchants/mkq2f8v3x1t7p9d4n6c0b5rz/logo \ -H "Authorization: Bearer sk_test_..." \ -H "Content-Type: application/json" \ -d "{ \"logo\": \"$(base64 -w0 logo.png)\" }" ``` ## 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": { "object": "csd", "serialNumber": "30001000000500003416", "rfc": "EKU9003173C9", "validFrom": "2023-05-18T00:00:00.000Z", "validTo": "2027-05-18T00:00:00.000Z", "status": "active", "registeredWithPac": true, "updatedAt": "2026-08-18T16:24:51.002Z" }, "logoUrl": "https://files.cfdi.express/logos/mkq2f8...png?X-Amz-Expires=900&...", "createdAt": "2026-08-18T16:20:03.114Z" } ``` ## Errores | Status | code | Cuándo aparece | |---|---|---| | 400 | `validation_error` | El archivo no es PNG/JPEG/WebP o pesa más de 500 KB. | | 401 | `unauthorized` | Falta el header Authorization o la llave es inválida. | | 404 | `not_found` | El emisor no existe en tu cuenta. | ## Relacionados - [DELETE /v1/merchants/{id}/logo](https://cfdi.express/docs/api/eliminar-logo) — Eliminar logo - [GET /v1/merchants/{id}](https://cfdi.express/docs/api/obtener-emisor) — Obtener emisor --- Referencia completa: https://cfdi.express/docs/api · OpenAPI: https://api.cfdi.express/openapi.json · Llaves: https://dash.cfdi.express