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