Skip to main content
Every member of an organization has a role. Each role grants a fixed set of permissions. Every permission is a resource:action pair, such as policies:write. On plans with role-based access control (rbac) you can also adjust a single member’s permissions on top of their role.

Roles

On Starter and Growth, only the Owner and Admin roles can be assigned. Assigning Developer, CISO or Auditor requires a plan with rbac (Scale and Enterprise). Inviting or changing a role without it returns 403 from the auth endpoints, with the plan error JSON inside the message string. See Limits & errors.

Permission matrix

“Yes” means the role holds the permission by default.

What each permission unlocks

A request without the needed permission gets 403 with { "error": "Forbidden", "required": "resource:action" }.

API keys

An API key acts as the member who created it, with that member’s current effective permissions. If you change the creator’s role or permissions, their keys change with them. If the creator is removed from the organization, their keys stop working.

Per-member overrides

Overrides let you grant extra permissions to one member, or take some away, without changing their role. They require a plan with rbac.

What you can customize

Team management, billing, SSO and organization deletion are not customizable. They stay tied to the role.

Rules

  • An override is a list of grants and a list of revokes applied on top of the role.
  • An action implies its view. Granting policies:write also grants policies:read. Revoking a view removes the actions that depend on it.
  • The Owner’s permissions can’t be customized. Overrides on an Owner are rejected.
  • You can’t change your own permissions.
  • You can only grant what you hold yourself. Anything a change newly gives the member, including role defaults, must already be in your effective permissions.
  • Changing a member’s role clears their overrides.
  • If your plan loses rbac, existing overrides stay enforced, but you can only clear them.

In the dashboard

Set overrides when you invite a member, or later through Edit permissions on the member’s row in Settings → Team. Members with overrides show a Customized badge.

API

PATCH /api/v1/members/:userId/permissions requires member:update (Owner and Admin by default).
Both grants and revokes are required arrays (up to 64 strings each). Send two empty arrays to clear overrides. The request is normalized to the smallest difference from the role. The response is:

Audit

Every override change is recorded as an access_change audit event, with the actor, target, role, and the before and after grants and revokes. The event kind is invite, edit or role_change (when a role change clears overrides). See Audit trail.