Eliminar un rol de organización
DELETE /v1/organizations/{org_id}/roles/{role_id} · permiso roles:write
Elimina el rol. Con force=true, también se elimina un rol asignado y sus asignaciones de membresía se quitan en la misma operación; de lo contrario, un rol asignado devuelve 409 role_in_use. Un rol usado como rol de administrador o de miembro predeterminado de una organización nunca se elimina. If-Match es opcional. La eliminación se audita como role.deleted.
Solicitud
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
org_id |
path | sí | ID de la organización (org_…). |
role_id |
path | sí | ID del rol (rol_…). |
force |
query | no | true también elimina las asignaciones del rol; false (predeterminado) rechaza un rol asignado. |
If-Match |
header | no | ETag actual; si no coincide, 412. |
No hay cuerpo de solicitud.
Respuesta
204 No Content.
Errores
| HTTP | código | Cuándo |
|---|---|---|
| 404 | not_found |
El rol no existe en este ámbito. |
| 409 | role_in_use |
El rol está asignado y force no es true, o es el rol de administrador o de miembro predeterminado de una organización. |
| 412 | precondition_failed |
If-Match no coincide con la versión actual. |
| 422 | validation_failed |
force no es true ni false, o se repite. |
| 401 | unauthenticated |
La credencial falta, no es válida o fue revocada. |
| 403 | insufficient_permissions |
La credencial no tiene el permiso necesario. |
| 429 | rate_limited |
Se superó el límite de frecuencia; reintente después del período de Retry-After. |
| 503 | service_unavailable |
Una dependencia no está disponible temporalmente; reintente después del período de Retry-After. |
Ejemplo
curl -i -X DELETE "https://api.eu.keenauth.com/v1/organizations/org_01j9xk3m7q8r2s4t6v8w0y2z4a/roles/rol_01j9xr7s1t2w6x8y0z2a4b6c8e?force=true" \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY"