Facturiadocs
Errores

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ódigoinsufficient_scope
Tipopermission_error — Credencial válida, no permitida
HTTP403
¿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

La copia legible por máquina de esta ficha vive en GET /v1/error_codes, sin autenticación.

En esta página