Subir o reemplazar el logo
PUThttps://api.cfdi.express/v1/merchants/{id}/logoAPI key
Sube la imagen que aparece en el encabezado de los PDFs del emisor. PNG, JPEG o WebP en base64, máximo 500 KB.
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.
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 |
|---|---|---|
| logoreq | string | Imagen PNG, JPEG o WebP en base64. Máximo 500 KB ya decodificada. |
Ejemplos
cURL
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
{
"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. |
