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 PUT https://api.zinndigital.com/v1/reseller/brand/menu/{item_id} \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{ "label": <string>, "url": <string> }'¿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
Replaces one navigation link. Requires `reseller.manage`. ⛔ Scoped to your own organisation as well as to the id. A `get(pk=…)` would let any reseller edit any other reseller's link by guessing a uuid — and uuid7 is time-ordered, so guessing is less of a barrier than it sounds.
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… |
item_id (path) | string | Sí | — |
Cuerpo de la solicitud
| Nombre | Tipo | Obligatorio | ¿Qué es esto? |
|---|---|---|---|
label | string | Sí | — |
url | string | Sí | — |
icon | string | No | — |
position | integer | No | — |
new_tab | boolean | No | — |
visibility | string<both, client, staff> | No | — |
Respuesta
| Nombre | Tipo | Obligatorio | ¿Qué es esto? |
|---|---|---|---|
id | string | Sí | — |
label | string | Sí | — |
url | string | Sí | — |
icon | string | Sí | A design-system icon name from `icons`, or `""` for a label-only item. |
position | integer | Sí | Sort key. Ties break on the label, so the order is total and stable. |
new_tab | boolean | Sí | Renders `target="_blank"`. The panel pairs it with `rel="noopener noreferrer"` unconditionally — that is set on **every** external item, not only the new-tab ones, because `Refe… |
visibility | string<both, client, staff> | Sí | Who sees it. Filtered **server-side** on `GET /v1/branding`: a payload carrying a staff-only link that the app hides has already disclosed it to anybody with a network tab, whic… |
external | boolean | Sí | Whether the link leaves the panel. Computed here so every renderer agrees. |
Errores que este endpoint puede devolver
401 · 403 · 404 · 422