Autenticación
Envía una clave de API como token de portador. La clave debe tener el permiso reseller.manage; una clave que no lo tenga se rechazará con un código 403, no 404.
Donde va el ID de tu organización
Este endpoint acepta org_id como parámetro de consulta. Omítelo y la llamada abarcará todo tu subárbol de inquilinos; envíalo para acotar la llamada a una sola organización.
El id de tu organización se encuentra en la pantalla de claves de API en tu panel de control, junto a la propia clave. Es el mismo id en cada llamada que realices.
Pruébalo
Reemplaza cualquier elemento entre corchetes angulares por tus propios valores, y el marcador de posición key con una clave de tu panel de control.
curl -X POST https://api.zinndigital.com/v1/branding/logo \
-H "Authorization: Bearer zdk_live_…"¿Has iniciado sesión? La consola de la API en tu panel de control rellena el ID de tu organización real y tu propia clave, y ejecuta la solicitud contra la API en vivo para que puedas ver la respuesta real. Abre este endpoint en la consola de la API
Detalles
Your logo, as an image file. Requires `reseller.manage`. ⚖️ **Uploaded, never linked** — owner ruling 2026-09-01. We store the image ourselves and serve it from `GET /v1/branding/logo/{sha256}`, and that is what makes it possible to print it on your invoices: an invoice is rendered offline from a frozen copy of the document and cannot fetch anything, so a link to your own web server could never appear on one. It would also mean a document that changes if your site goes down. Send the file as the `logo` part of a `multipart/form-data` request. PNG, JPEG, WebP and GIF, up to 256 KB and 4000 px on a side. ⛔ SVG is refused: it can carry scripts and remote references. ⛔ Changing your logo does **not** change invoices already issued. Each document keeps the logo it was issued with, because it is referenced by a digest of the exact image.
Parámetros
| Nombre | Tipo | Obligatorio | ¿Qué es esto? |
|---|---|---|---|
org_id (query) | Uuid | No | The organization this call acts on. Optional for a caller with exactly one direct membership; **required** for anyone with more than one — which is every reseller and every agen… |
Respuesta
| Nombre | Tipo | Obligatorio | ¿Qué es esto? |
|---|---|---|---|
logo_url | string | Sí | — |
sha256 | string | Sí | — |
purpose | string<panel, favicon, email> | No | Which mark was stored — echoed back so a caller can confirm. |
content_type | string | No | — |
width | integer | No | — |
height | integer | No | — |
byte_size | integer | No | — |
Errores que este endpoint puede devolver
401 · 403 · 422 · 429