Impostare un grant API di un'applicazione
PUT /v1/applications/{application_id}/api-grants/{api_id} · permesso applications:write
Sostituisce completamente gli scope che un'applicazione può richiedere per un'API. Un'applicazione può tenere grant per al massimo 50 API.
Richiesta
| Parametro | In | Descrizione |
|---|---|---|
application_id |
path | ID dell'applicazione (app_…). |
api_id |
path | ID dell'API (api_…). |
Body
| Campo | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
scopes |
string[] | sì | Scope consentiti (resource:action); ognuno deve essere definito sull'API. Al massimo 1000. |
default_scopes |
string[] | no | Scope concessi per impostazione predefinita; un sottoinsieme di scopes. |
Risposta
200 OK con il grant.
{
"application_id": "app_6f8d0cjgbmf0gtn2rg6pscp3cg",
"api_id": "api_0000000000000000000000001z",
"scopes": ["orders:read", "orders:write"],
"default_scopes": ["orders:read"],
"created_at": "2026-10-05T10:00:01Z",
"updated_at": "2026-10-05T10:00:01Z"
}
Errori
| HTTP | code |
Quando |
|---|---|---|
| 401 | unauthenticated |
La chiave è mancante, non valida o revocata. |
| 403 | insufficient_permissions |
La chiave non ha il permesso richiesto. |
| 404 | not_found |
L'applicazione o il grant non esiste in questo ambiente. |
| 422 | validation_failed |
Uno scope è malformato o non è definito sull'API, oppure default_scopes non è un sottoinsieme di scopes. |
| 403 | quota_exceeded |
L'applicazione detiene già grant per 50 API. |
| 400 | unknown_field |
Il body ha un campo che non fa parte dello schema. |
Esempio
curl -X PUT https://api.eu.keenauth.com/v1/applications/app_6f8d0cjgbmf0gtn2rg6pscp3cg/api-grants/api_0000000000000000000000001z \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{"scopes":["orders:read","orders:write"],"default_scopes":["orders:read"]}'