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

Released under the MIT License.