Obtener los permisos efectivos de un usuario

GET /v1/users/{user_id}/effective-permissions · permiso users:read

Devuelve los permisos que el usuario tiene efectivamente, para soporte y diagnóstico: los permisos de los roles directos del entorno del usuario y, cuando se indica org_id, los de los roles de su membresía activa en esa organización. Cada permiso enumera los roles que lo conceden. Los permisos de las API eliminadas no se incluyen. La lista no está paginada y se ordena por API y luego por valor del permiso.

Solicitud

Campo Tipo Obligatorio Descripción
user_id path sí ID de usuario (usr_…).
org_id query no ID de la organización (org_…); incluye también los roles de la membresía activa del usuario en ella.
api_id query no ID de la API (api_…); solo los permisos de esa API. Una API desconocida devuelve una lista vacía.

Sin cuerpo de solicitud.

Respuesta

200 OK con los permisos.

{
  "permissions": [
    {
      "permission_id": "perm_01j9xs0a2b4c6d8e0f2g4h6j8k",
      "api_id": "api_01j9xq1b3c5d7e9f1g3h5j7k9m",
      "value": "read:invoices",
      "role_ids": [
        "rol_01j9xr7s1t2w6x8y0z2a4b6c8e"
      ]
    }
  ]
}

Errores

HTTP code Cuándo
404 not_found El usuario, o la organización indicada en org_id, no existe en este entorno.
422 validation_failed org_id o api_id tiene un formato incorrecto o está repetido.
401 unauthenticated La credencial falta, no es válida o fue revocada.
403 insufficient_permissions La credencial no tiene el permiso requerido.
429 rate_limited Se superó el límite de frecuencia; reintente después del período indicado en Retry-After.
503 service_unavailable Una dependencia no está disponible temporalmente; reintente después del período indicado en Retry-After.

Ejemplo

curl -i -X GET "https://api.eu.keenauth.com/v1/users/usr_01j9xh2k6p7q1r3s5t7v9w1x3y/effective-permissions?org_id=org_01j9xk3m7q8r2s4t6v8w0y2z4a" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"