Roles & permissions
Before your engineers can request live API tokens, someone with the right role has to grant them. This page is about the dashboard, not the API.
Only users with Owner or Admin privileges can create Developer Applications, issue API keys, or view webhook secrets. If those options are greyed out for you, you have the Developer or Analyst role — ask an Owner to either grant you Admin or issue the key on your behalf.
The roles
| Role | Can issue API keys | Can view webhook secrets | Can send test notifications | Can read analytics | Can manage members |
|---|---|---|---|---|---|
| Owner | Yes | Yes | Yes | Yes | Yes |
| Admin | Yes | Yes | Yes | Yes | Yes, except Owners |
| Developer | No | No | Yes | Yes | No |
| Analyst | No | No | No | Yes | No |
There is exactly one Owner per workspace at creation. Transferring ownership is an Owner-only action.
Assigning a role
- Log into dashboard.nerve.sh.
- Go to Settings → Team.
- Invite by email address, or change an existing member's role from the row menu.
- Toggle the read/write authorisation scopes the member needs.
A role change takes effect on the member's next page load. It does not revoke API keys they already created — see below.
How roles relate to API keys
This is the part that catches people out.
An API key is scoped to the workspace, not to the person who created it. If a Developer leaves and you remove them from the team, any key they issued keeps working until you revoke the key itself.
When someone with key-issuing rights leaves, audit Settings → Developer Applications and revoke anything they created. Rotating is safe — create the replacement, deploy it, then revoke the old one, so there is no window where in-flight requests fail. See Managing API keys.
The same applies in reverse: a key is not limited by the role of whoever created it. A key issued by an Admin can do everything the API allows, which today means notifying any subscriber on any configured channel.
What roles do not control
Roles govern the dashboard. They do not translate into API-level scopes:
- There is no read-only API key.
- There is no key restricted to a single channel or a single workflow.
- There is no per-endpoint permission — a key that can read health can also send notifications.
If you need finer control than that, put your own service in front of Nerve and enforce it there.
Next
- Managing API keys — creating, scoping and rotating
- Authentication — how keys are presented on the wire