---
title: "403 — insufficient permissions"
url: https://lumean.app/en/developers/docs/errors/403
locale: en
description: "The key was recognized, but the action is forbidden. Body: `{\"success\": false, \"message\": \"This API key does not have permission to perform this action.\", \"data\": null}`. Accessing a resource that belongs to another account returns the same code — and the message does not change."
generated: 2026-10-17
---

# 403 — insufficient permissions

- HTTP: `403`

- `Retry-After` header: no

## What happened

The key was recognized, but the action is forbidden. Body: `{"success": false, "message": "This API key does not have permission to perform this action.", "data": null}`. Accessing a resource that belongs to another account returns the same code — and the message does not change.

## Why

Three different causes under one code. First: the key lacks the scope for the operation — downloading requires a separate `orders.download`, voice catalogs require `voices.read`, the profile requires `profile.read`. Second: the resource belongs to another account (ownership is checked after scopes). Third: a domain refusal when creating an order — `no_subscription`, `entitlement_missing`, `template_access_denied`; these have a `reason` in the body.

## What to do

First check whether the body contains `reason`: if it does, this is a domain refusal, not a key scope issue. If there is no `reason`, compare the scope the operation requires with the list of scopes granted to the key. Preset trap: `automation` does NOT include `templates.write`, so the "create a template → order TTS" scenario cannot be completed end to end with it.

## Next request

`GET /orders?per_page=1` requires only `orders.read`. If it succeeds, the key is alive and the problem is the scope for the specific operation, not the key as a whole.

## Related

- [Guide: API keys, scopes, and headers](https://lumean.app/en/developers/docs/guide/authentication)
- [template_access_denied — no access to the template](https://lumean.app/en/developers/docs/errors/template-access-denied)
- [GET /orders](https://lumean.app/en/developers/docs/api/get-orders)
- [My key scopes](https://lumean.app/en/developers)

---

- This page in the browser: https://lumean.app/en/developers/docs/errors/403
- Full machine-readable reference: https://api.lumean.app/docs/llm.md
