| Concept | What it means |
|---|---|
| Resource | The kind of object the permission applies to. Currently agents. |
| Action | What the member is allowed to do: view, edit, delete, publish, or create. |
| Scope | How far the action reaches — from a user’s owned resources all the way to the whole organization. |
| Principal | Who the set is assigned to. Currently users. |
| Scope | Grants the action on… |
|---|---|
| all | Every agent in the organization (broadest). |
| project | Agents belonging to projects the member can access. |
| team | Agents user’s team(s) can access. |
| own | Only agents the member owns (narrowest). |
| Action | Type | Description |
|---|---|---|
| view | scope | null | View / read access to agents in scope. |
| edit | scope | null | Modify an agent's configuration. |
| delete | scope | null | Delete agents in scope. |
| publish | scope | null | Publish staging changes live to production. |
| create | boolean | Whether the member may create new agents. |
| Role | Scope of control | What they can typically do |
|---|---|---|
| Global Admin | The entire organization | Full control: manage all users, teams, projects, agents, and corpora; configure organization settings; create and assign Permission Sets. This is the highest level of access. |
| Application Admin | Application-level functions and resources | Elevated administrative access over many areas and shared resources, but without full organization-admin authority. Sits below a Global Admin. |
| User | Only the resources they own or are granted | Works within their own agents, projects, and corpora, plus anything explicitly shared with them. |
Note: On any individual resource (a specific agents, team, or project), a user can additionally hold an Admin or Member access, which further refines what they can do with that one item — independent of their org-wide role.
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/v2/permission-sets | List the organization's permission sets. Supports search (query), sorting (sort_by=name), and optional pagination. |
| POST | /api/v2/permission-sets | Create a permission set from a name, optional description, default flag, and permissions object. |
| GET | /api/v2/permission-sets/{permission_set_id} | Retrieve a single permission set by ID. |
| PUT | /api/v2/permission-sets/{permission_set_id} | Update name, description, default flag, or permission scopes. |
| DELETE | /api/v2/permission-sets/{permission_set_id} | Delete a permission set and revoke its permission grants. System sets cannot be deleted. |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/v2/permission-sets/{permission_set_id}/members | List the users assigned to a set. Supports search, sorting (name, subject_type), and pagination. |
| POST | /api/v2/permission-sets/{permission_set_id}/members | Assign one or more users to the set. |
| DELETE | /api/v2/permission-sets/{permission_set_id}/members | Remove one or more users from the set. |
| POST | /api/v2/users/{user_id}/permission-sets | Assign a single user to multiple permission sets in one call. |
| Share level | What it can unlock (given a matching permission set) |
|---|---|
| member | View only. |
| admin | View, edit, delete, and publish. |
Note: Direct shares to a team behave slightly differently — a team share is gated at teamscope rather than by the scope-agnostic capability. The capability-based resolution above applies to shares made directly to an individual user.
Quick reference
Rule Detail System sets Scopes are locked; only the default toggle and user assignments can change. Minimum defaults At least one default must always exist in the organization. Last default Its default field cannot be toggled off while it's the only default. New users All default sets are auto-assigned to every new user. Per-user limit Maximum of 20 Permission Sets per user at a time.