Facturiadocs

missing_api_key

No API key was presented.

No API key was presented.

Codemissing_api_key
Typeauthentication_error — Credential missing, revoked or malformed
HTTP401
Retriable?No

What to do

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

Retrying the same request will fail the same way. Change the request, not the frequency.

The envelope

{
  "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"
  }
}

Program against code, never against message — the prose can be rewritten, the code cannot (§5.8).

hint and retriable arrive in the response with these exact values: they are a function of code and come from the same dictionary GET /v1/error_codes serves, so the envelope and the dictionary cannot disagree. Both are English on the wire by design — one registry, one language. More in The error envelope.

See also

The machine-readable copy of this page lives at GET /v1/error_codes, unauthenticated.

On this page