Skip to content

Management API Security ​

The Management API (/api/v2/*) is protected by OAuth2 access tokens. This page explains how authentication and authorization work for management operations.

Authentication ​

To call the Management API, obtain an access token using the client credentials flow:

http
POST /oauth/token
{
  "client_id": "your-management-client-id",
  "client_secret": "your-management-client-secret",
  "audience": "https://your-auth-domain/api/v2/",
  "grant_type": "client_credentials"
}

Include the token in the Authorization header:

http
GET /api/v2/users
Authorization: Bearer {access_token}

Scopes ​

Management API access is controlled by scopes. Request only the scopes your application needs:

ScopeAccess
read:usersList and get users
create:usersCreate new users
update:usersUpdate user properties
delete:usersDelete users
read:clientsList and get applications
update:clientsUpdate application settings
read:connectionsList and get connections
read:rolesList and get roles
create:rolesCreate roles
read:organizationsList and get organizations
create:organizationsCreate organizations

The full scope list mirrors Auth0's Management API scopes.

Tenant Isolation ​

Every Management API request is scoped to a single tenant. The tenant is determined from the request context (domain, token claims, or path). A management token for Tenant A cannot access Tenant B's resources.

Best Practices ​

  • Use separate management clients for different services (admin UI, background jobs, etc.)
  • Request minimum scopes needed for each client
  • Rotate client secrets periodically
  • Audit management API access through the logs system

Dual-licensed: AGPL-3.0-only or commercial license.