Establecer una concesión de API de aplicación
PUT /v1/applications/{application_id}/api-grants/{api_id} · permiso applications:write
Reemplaza, en su totalidad, los ámbitos que una aplicación puede solicitar para una API. Una aplicación puede tener concesiones para como máximo 50 API.
Solicitud
| Parámetro | En | Descripción |
|---|---|---|
application_id |
path | Identificador de la aplicación (app_…). |
api_id |
path | Identificador de la API (api_…). |
Body
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
scopes |
string[] | sí | Ámbitos permitidos (resource:action); cada uno debe estar definido en la API. Como máximo 1000. |
default_scopes |
string[] | no | Ámbitos otorgados de forma predeterminada; un subconjunto de scopes. |
Respuesta
200 OK con la concesión.
{
"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"
}
Errores
| HTTP | code |
Cuándo |
|---|---|---|
| 401 | unauthenticated |
La clave falta, no es válida o ha sido revocada. |
| 403 | insufficient_permissions |
La clave carece del permiso requerido. |
| 404 | not_found |
La aplicación o la concesión no existe en este entorno. |
| 422 | validation_failed |
Un ámbito está mal formado o no está definido en la API, o default_scopes no es un subconjunto de scopes. |
| 403 | quota_exceeded |
La aplicación ya tiene concesiones para 50 API. |
| 400 | unknown_field |
El cuerpo tiene un campo que no forma parte del esquema. |
Ejemplo
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"]}'