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