Concedere l'accesso al supporto

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

Concede al personale di supporto di KeenAuth un accesso a tempo limitato a questo ambiente, ad esempio mentre lavora su un ticket di supporto. L'accesso è di sola lettura (read) oppure può anche modificare la configurazione (read_write_config); il personale di supporto non scrive mai dati degli utenti finali. Ogni utilizzo dell'autorizzazione e ogni azione del personale viene registrato nel log di audit di gestione, e viene pubblicato un evento support_access_grant.created. Le autorizzazioni possono essere create solo dalla dashboard, da un owner o un admin che ha effettuato di nuovo l'accesso negli ultimi 5 minuti; le chiavi API e i client macchina ricevono 403 insufficient_permissions.

Richiesta

Campo Tipo Obbligatorio Descrizione
Idempotency-Key header no Facoltativo. 16-64 caratteri [A-Za-z0-9_-]; ripetere la stessa chiave con lo stesso corpo restituisce la stessa autorizzazione.
scope string sì read (sola lettura) oppure read_write_config (può modificare anche la configurazione).
duration_hours integer sì Durata in ore, 1-72.
ticket_ref string sì Riferimento del ticket di supporto: 1-200 caratteri ASCII stampabili, senza spazi iniziali o finali.
allowed_regions_of_staff array | null no Solo Enterprise. Solo il personale situato in queste regioni (eu, us) può usare l'autorizzazione; se omesso o null, non c'è alcuna restrizione.

Corpo della richiesta:

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

Risposta

201 Created con la nuova autorizzazione.

{
  "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
}

Errori

HTTP code Quando
400 malformed_request Il corpo non è JSON valido oppure Idempotency-Key è malformato.
403 insufficient_permissions La richiesta non è stata fatta dalla dashboard da un owner o un admin, oppure la credenziale non ha il permesso richiesto.
403 plan_feature_unavailable allowed_regions_of_staff richiede il piano Enterprise.
422 validation_failed Un campo non è valido (scope, duration_hours fuori da 1-72, ticket_ref, allowed_regions_of_staff).
422 idempotency_key_reuse L'Idempotency-Key è già stata usata con un corpo diverso.
401 unauthenticated La credenziale manca, non è valida o è stata revocata.
429 rate_limited È stato superato il limite di frequenza; riprovare dopo il periodo indicato in Retry-After.
503 service_unavailable Una dipendenza non è temporaneamente disponibile; riprovare dopo il periodo indicato in Retry-After.

Esempio

Creazione e revoca sono azioni della dashboard. La richiesta inviata dalla dashboard:

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"]
}