All topics
Get started8Account, team & permissions44Units & fields70Records, views & tasks39WhatsApp & Cortex Chat68Email & social27Lead ads & distribution38Automations52Documents & quotes32Dashboards40Cortex AI18Developers & API12
Help Center·448 guidesAll topicsContact support

Key scopes, and how they combine with permissions

A scope is the name of an action on a unit, such as read.contacts. It decides which endpoints the key reaches. The records it sees are decided by the level of the member who created the key, on every request.

5 min

The 5 verbs

Verb
Allows
read.{unit}
Reading records, search, relations, history, comments and the unit’s fields
create.{unit}
Creating records
update.{unit}
Editing records, one at a time and in bulk
assign.{unit}
Changing a record’s assignees, one at a time and in bulk
delete.{unit}
Deleting records, one at a time and in bulk

Levels on the create screen

Level
Resulting scopes
Read
read
Write
read, create, update and assign
Full
Write + delete

The All units row takes None, Read, Write or Full, and produces wildcard scopes such as read.*, which cover every unit the creator can reach, now and later. Add specific object adds one unit with its own level (Read, Write or Full, starting at Write). You can also type any scope, such as read.contacts, in the Scopes field and press Enter.

The double check

The scope only gates the endpoints. After it, every record is checked against the creator’s current level. A key with the read.contacts scope, created by a member whose level is “If responsible”, sees only their records. If the member’s level is lowered later, what the key sees is lowered straight away.

A key never goes past its scopes, even if the owner created it. But a key from the owner or a super admin sees all records in the units within its scopes. Create keys from a member with the fewest permissions when the difference matters to you.

Assigning

Changing the assignee needs assign specifically. update isn’t enough, and the update.* wildcard doesn’t produce assign. The creator also needs the permission to assign and to edit that record.

If something goes wrong

What you see
Why
What to do
The key reads fewer records than expected
The creator’s level is “If responsible” or “Team-wide access”.
Create the key from a member whose level is Allowed. See Permissions: Allowed, Team-wide access, If responsible, Denied.
Refused for a missing scope (INSUFFICIENT_SCOPE)
The key doesn’t carry the scope.
Create a key with the scope you need.
Refused without a missing scope (RESOURCE_FORBIDDEN)
The scope is there, but the creator or the record is outside the permissions.
Raise the creator’s permission. Creating the key again won’t help.

Good to know

Scopes are chosen at creation only.
You can’t grant a scope the creator doesn’t have, except for the owner and super admins.
There’s no scope for the structure of units, for members or for billing.
Did this guide solve it?
If not, we’ll ask what was missing.
Open in Corteksa
Did this guide solve it?

We read every answer. To get a reply, use Contact support.