insufficient_scope
A la llave le falta un scope que este endpoint exige.
A la llave le falta un scope que este endpoint exige.
| Código | insufficient_scope |
| Tipo | permission_error — Credencial válida, no permitida |
| HTTP | 403 |
| ¿Reintentable? | No |
Qué hacer
error.details.required_scope nombra el scope que falta y error.details.mint es la llamada que produce una llave que lo lleva — POST /v1/api_keys con una llave root, POST /dashboard/api_keys con una sesión de cuenta. Una persona también puede acuñarla en https://app.facturia.cl/llaves. Los scopes se fijan al acuñar: una llave se reemplaza, nunca se amplía.
Reintentar el mismo request va a fallar igual. Cambia el request, no la frecuencia.
El sobre
{
"error": {
"type": "permission_error",
"code": "insufficient_scope",
"message": "…",
"hint": "`error.details.required_scope` names the missing scope and `error.details.mint` is the call that produces a key carrying it — `POST /v1/api_keys` from a root key, `POST /dashboard/api_keys` from an account session. A human can also mint one at https://app.facturia.cl/llaves. Scopes are fixed at mint time: a key is replaced, never widened.",
"retriable": false,
"doc_url": "https://docs.facturia.cl/errors/insufficient_scope",
"request_id": "req_01K2R7Q9M4T2VB"
}
}Programa contra code, nunca contra message — la prosa se puede reescribir, el código no (§5.8).
hint y retriable llegan en la respuesta, con estos mismos valores: son función del code y salen del mismo diccionario que sirve GET /v1/error_codes, así que el sobre y el diccionario no pueden discrepar. hint va en inglés a propósito — el español de este código es esta ficha. Más en El sobre de error.
También
Todos los códigos
El sobre de error
La copia legible por máquina de esta ficha vive en GET /v1/error_codes, sin autenticación.