Skip to main content
EMS integrations authenticate with an account_client OAuth client — machine-to-machine credentials tied to your partner account.
This docs site covers account_client only. Other client types (organization_client, account_user, etc.) exist internally but are not part of the EMS integration path.

Get a token

Response:
Use on every API call:
Always send Accept: application/json on Application API and OAuth requests. Without it, auth failures may return an HTML login page instead of a JSON error body.

Create an account_client

Dashboard: Account → OAuth Clients → Create New Or via API (requires an existing client with oauth-clients-write):
Response includes secret in plain text — shown once. Store it immediately. Update scopes later:
Clients created on an account without an organization_id are account_client — this is what you want.
Start with this set:
Request only what you need. Scopes are space-separated in the token request.

All account_client scopes


Access control

Your account_client token is tied to your account. The API checks:
  1. Token has the required scope for the route
  2. Token owner has access to accountId / organizationId in the URL
You can only access your own account’s resources.

Errors