Conceder acceso al soporte

POST /v1/support-access-grants · permiso support-access-grants:write

Concede al personal de soporte de KeenAuth acceso limitado en el tiempo a este entorno, por ejemplo mientras trabaja en un ticket de soporte. El acceso es de solo lectura (read) o puede además modificar la configuración (read_write_config); el personal de soporte nunca escribe datos de usuarios finales. Cada uso de la autorización y cada acción del personal se registra en el registro de auditoría de gestión, y se publica un evento support_access_grant.created. Las autorizaciones solo pueden crearlas desde el panel un owner o admin que haya vuelto a iniciar sesión en los últimos 5 minutos; las claves de API y los clientes de máquina reciben 403 insufficient_permissions.

Solicitud

Campo Tipo Requerido Descripción
Idempotency-Key header no Opcional. 16-64 caracteres [A-Za-z0-9_-]; repetir la misma clave con el mismo cuerpo devuelve la misma autorización.
scope string sí read (solo lectura) o read_write_config (también puede modificar la configuración).
duration_hours integer sí Duración en horas, 1-72.
ticket_ref string sí Referencia del ticket de soporte: 1-200 caracteres ASCII imprimibles, sin espacios al principio ni al final.
allowed_regions_of_staff array | null no Solo Enterprise. Solo el personal ubicado en estas regiones (eu, us) puede usar la autorización; si se omite o es null, no hay restricción.

Cuerpo de la solicitud:

{
  "scope": "read",
  "duration_hours": 24,
  "ticket_ref": "SUP-48213",
  "allowed_regions_of_staff": ["eu"]
}

Respuesta

201 Created con la nueva autorización.

{
  "id": "sag_01j9xk3m7q8r2s4t6v8w0y2z4a",
  "scope": "read",
  "status": "active",
  "ticket_ref": "SUP-48213",
  "allowed_regions_of_staff": ["eu"],
  "granted_by": "du_01j9xk2p5n7q9s1t3v5w7y9z1b",
  "created_at": "2026-10-12T09:30:00.123456Z",
  "expires_at": "2026-10-13T09:30:00.123456Z",
  "revoked_at": null
}

Errores

HTTP código Cuándo
400 malformed_request El cuerpo no es JSON válido o el Idempotency-Key tiene formato incorrecto.
403 insufficient_permissions La solicitud no se hizo desde el panel por un owner o admin, o la credencial no tiene el permiso requerido.
403 plan_feature_unavailable allowed_regions_of_staff requiere el plan Enterprise.
422 validation_failed Un campo no es válido (scope, duration_hours fuera de 1-72, ticket_ref, allowed_regions_of_staff).
422 idempotency_key_reuse El Idempotency-Key ya se usó con un cuerpo distinto.
401 unauthenticated La credencial falta, no es válida o fue revocada.
429 rate_limited Se superó el límite de frecuencia; vuelva a intentarlo tras el tiempo indicado en Retry-After.
503 service_unavailable Una dependencia no está disponible temporalmente; vuelva a intentarlo tras el tiempo indicado en Retry-After.

Ejemplo

Crear y revocar son acciones del panel. La solicitud que envía el panel:

POST /v1/support-access-grants
Content-Type: application/json
Idempotency-Key: 2f1c9a7e-5b3d-4e8f-9a6c-1d2e3f4a5b6c

{
  "scope": "read",
  "duration_hours": 24,
  "ticket_ref": "SUP-48213",
  "allowed_regions_of_staff": ["eu"]
}