> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.coperniq.io/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.coperniq.io/_mcp/server.

## Viewer seats can no longer create API keys

### Updated: `POST /api-keys`

Users with a Viewer (view-only) seat in the selected company now get a `403` from `POST /api-keys` and its legacy alias `GET /token`, and no key is created. Office and Field seats are unaffected.

* The seat checked is the one in the company the key is for: the `company_id` you pass, or your default company. A user who is a Viewer in one company and an Office user in another can still create keys for the second company.
* Keys that Viewer users created before this change keep working. A superadmin can find them with `GET /api-keys` and delete them with `DELETE /api-keys/{key_id}`.