root_key_required
This endpoint accepts only a root key or an account session.
This endpoint accepts only a root key or an account session.
| Code | root_key_required |
| Type | permission_error — Valid credential, not allowed |
| HTTP | 403 |
| Retriable? | No |
What to do
Key management is a root-key power. Mint a root key from an account session with POST /dashboard/api_keys \{"name": "…", "root": true\}; it comes back as sk_live_root_… / sk_test_root_… and is the credential POST /v1/api_keys takes.
Retrying the same request will fail the same way. Change the request, not the frequency.
The envelope
{
"error": {
"type": "permission_error",
"code": "root_key_required",
"message": "…",
"hint": "Key management is a root-key power. Mint a root key from an account session with `POST /dashboard/api_keys {\"name\": \"…\", \"root\": true}`; it comes back as `sk_live_root_…` / `sk_test_root_…` and is the credential `POST /v1/api_keys` takes.",
"retriable": false,
"doc_url": "https://docs.facturia.cl/errors/root_key_required",
"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
Every code
The error envelope
The machine-readable copy of this page lives at GET /v1/error_codes, unauthenticated.