Skip to main content

Manager Keys

A manager key gives access to your own account and every account you supervise (the accounts in your manager groups). It works the same way in the REST API and in the MCP server.

Creating a manager key

In Settings > API, click Create Key and tick Manager key. The option only appears if you have manager access.
Access is checked on every request. If an account is removed from your manager groups, the key stops seeing it immediately. If you lose manager access, the key falls back to your own account only.

Listing accessible accounts

Call GET /v1/accounts to get the id, name and label of every account the key covers. Several accounts can share the same name. Each account therefore also has a label made of its name and its admin’s name, for example lalaleads.io – Marie Dupont.
Your own manager account is left out of “all accounts” reads while it holds no leads and no calls, so it does not add empty lines. It stays reachable with account_id, and is included automatically as soon as it holds data. GET /v1/accounts always lists it, with included_by_default: false while it is hidden.

Reading data

Without any parameter, list endpoints (/leads, /campaigns, /call-logs, /agents, /workspaces, /stats, /dispositions, /sms-messages, /sms-conversations, /tasks, /webhooks) return data from all covered accounts. Each item includes an account object so you know where it comes from:
To restrict a request to one account, add account_id (the account id, its label, or its name). If several accounts match a name, the API returns 400 with the list of matching ids: use the id or the label instead.
GET /v1/stats adds up all covered accounts by default and accepts group_by=account to get one line per account. Endpoints that target a single record (GET /v1/leads/:id, PUT /v1/leads/:id, POST /v1/campaigns/:id/leads…) work on any covered account, with no extra parameter.

Creating data

When the key covers several accounts, creation endpoints (POST /v1/leads, POST /v1/tasks) require account_id in the body (or the query string). Without it, the API returns 400 with a message pointing to GET /v1/accounts.

Webhooks

A webhook created with a manager key without account_id receives events from all covered accounts, including accounts added to your groups later. Its covers_all_supervised_accounts field is true. Pass account_id to subscribe to a single account instead. Every webhook delivery includes an account object (id, name, label) identifying the account where the event happened.

Errors