missing_api_key
No mandaste ninguna llave.
No mandaste ninguna llave.
| Código | missing_api_key |
| Tipo | authentication_error — Credencial ausente, revocada o mal formada |
| HTTP | 401 |
| ¿Reintentable? | No |
Qué hacer
Manda Authorization: Bearer sk_live_… o sk_test_…. ¿Todavía no tienes llave? POST https://api.facturia.cl/account/register con bootstrap.sandbox_key te devuelve una en la misma respuesta — sin navegador y sin humano. Ese endpoint y todo lo que necesitas antes de tener una llave están en el contrato de arranque: https://docs.facturia.cl/openapi-bootstrap.yaml
Reintentar el mismo request va a fallar igual. Cambia el request, no la frecuencia.
El sobre
{
"error": {
"type": "authentication_error",
"code": "missing_api_key",
"message": "…",
"hint": "Send `Authorization: Bearer sk_live_…` or `sk_test_…`. No key yet? `POST https://api.facturia.cl/account/register` with `bootstrap.sandbox_key` returns one in the same response — no browser, no human. That endpoint and everything else you need before you hold a key are in the bootstrap contract: https://docs.facturia.cl/openapi-bootstrap.yaml",
"retriable": false,
"doc_url": "https://docs.facturia.cl/errors/missing_api_key",
"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.