Autenticación
Envía una clave de API como token de portador. La clave debe tener el permiso members.role.assign; 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 toma el id de tu organización directamente en la URL, como orgId. Sustitúyelo en la ruta; no hay ninguna cabecera ni parámetro de consulta que sirva para ello.
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 PATCH https://api.zinndigital.com/v1/orgs/{orgId}/members/{userId} \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{ "role": <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
Sets this member's role in the organization. Requires `members.role.assign` **on that org**. ⛔ **Replaces** the member's roles with the one given rather than adding to them — a person may hold several `Membership` rows, and collapsing them can only ever reduce what they hold, so no path through this endpoint escalates by accident. Three refusals, and they are the same rules an invitation is held to: **403** if the member holds a permission the caller does not (`more_privileged`), **403** if the *role being granted* holds one (`role_not_grantable` — this is what stops any holder of the key promoting themselves to `owner`), and **409** for the org's last owner (`last_owner`). An unknown role is a **422**, never a 403, so a typo is distinguishable from a permission you lack.
Parámetros
| Nombre | Tipo | Obligatorio | ¿Qué es esto? |
|---|---|---|---|
orgId (path) | Uuid | Sí | Organization ID (UUIDv7). |
userId (path) | Uuid | Sí | The user to remove from the organization. |
Cuerpo de la solicitud
| Nombre | Tipo | Obligatorio | ¿Qué es esto? |
|---|---|---|---|
role | string | Sí | A role key from `GET /v1/orgs/{orgId}/roles`. |
Respuesta
| Nombre | Tipo | Obligatorio | ¿Qué es esto? |
|---|---|---|---|
user_id | Uuid | Sí | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
email | string | Sí | — |
name | string | Sí | Display name; may be empty for an account that never set one. |
roles | string[] | Sí | Every role this person holds in this org, sorted. |
joined_at | string | Sí | When their EARLIEST membership of this org was created. |
is_self | boolean | Sí | Whether this row is the calling user. |
removable | boolean | Sí | — |
not_removable_reason | OrgMemberRemovalBlock | null | Sí | Why not, when `removable` is false. Null when removable — and also null for a caller lacking `members.remove`, because "you cannot remove anyone here" is a fact about the caller… |
role_assignable | boolean | Sí | Whether `PATCH` on this member would be accepted — the caller holds `members.role.assign` here, does not outrank themselves, and this is not the last owner. ⛔ *Which* role may t… |
Errores que este endpoint puede devolver
401 · 403 · 404 · 409 · 422 · 429