API keys and roles
A key or an MCP connection never has more rights than the person it acts as. Three things decide what a request may do:
- Who it acts as: the key type.
- What the key may call: its access level (API keys) or scopes (MCP).
- That person’s role and data scope in the workspace.
Who it acts as
Section titled “Who it acts as”| Credential | Acts as |
|---|---|
| Organization API key | The workspace owner |
| Personal API key | The member who created it, while they are still on the team |
| Old personal API key | Its owner, in whichever workspace they have open |
| MCP over OAuth | The person who signed in and approved the client |
MCP server token (mcps_…) |
The person who created the MCP server |
What it may call
Section titled “What it may call”| Credential | Allowed |
|---|---|
| API key, Full access | Every REST endpoint and every MCP tool |
| API key, Contacts: create & update only | Only POST /v1/contacts (write, no read) |
Test key (nxa_test_…) |
Only POST /v1/contacts, and it writes nothing |
MCP, scope mcp:read |
Read tools |
MCP, scope mcp:write |
Read and write tools |
| MCP server with Restrict Tools / Restrict Connections | Only the tools and services allowed on it |
What the person may see
Section titled “What the person may see”Tools and endpoints that read CRM data return what that person would see on the Contacts page:
- Owners, admins and managers, and members with data scope All, see the whole workspace.
- Members with Only see assigned records see only contacts and deals assigned to them or created by them.
- Deleted records are never returned.
Because an organization key acts as the owner, it sees everything in the workspace. Give it only to systems you trust, and prefer Contacts: create & update only for anything that just sends leads.
