401 Unauthorized when the key does not carry the permission the target endpoint requires, so pick the minimum set your integration needs.
Keys created before permissions existed carry no permissions and keep access to every endpoint, so no action is required for older keys. Provision a fresh key from the dashboard to opt into the scoped model.
How the check works
- Header: requests carry the key in
x-api-key(see Authentication). - Multiple permissions: where several are listed for one endpoint, any one of them is enough.
- Failure mode: a key missing the required permission is rejected with
401 Unauthorized, exactly the same shape as an unrecognised, malformed, revoked, or disabled key. The API does not distinguish those cases on the wire.
