Back to Docs

Scopes & Permissions

API keys can be restricted to specific scopes. Each scope controls access to a group of related endpoints. JWT users bypass scope checks and have full access.

ScopeDescription
passes:readView passes, their status, and details
passes:writeIssue, update, revoke passes, check-in tickets, send notifications, batch operations
templates:readView pass templates and their configurations
templates:writeCreate, update, publish, archive, and delete templates
events:readView events, statistics, and registrations
events:writeCreate and manage events, enable/disable registration, cancel registrations
analytics:readView dashboard statistics, charts, and reports
assets:readView uploaded image assets
assets:writeUpload and delete image assets
tenants:readView organization information
validate:writeValidate QR codes and check-in passes at events

JWT Users

When authenticated via JWT (dashboard login), scope restrictions do not apply. JWT users have full access to all endpoints based on their role.

API Key Users

API key users must have ALL required scopes for an endpoint. If a key is missing a scope, the request will receive a 403 Forbidden error listing the missing scope(s).

Restricted Endpoints

The following endpoints are NOT accessible via API keys:

  • POST /auth/register — Account creation is platform-only
  • POST /auth/login — Login is for dashboard sessions only
  • POST /auth/refresh — Token refresh is for JWT sessions only
  • All /users endpoints — User management requires JWT + role-based access
  • PATCH /tenants/current — Org settings update requires JWT