- Organization roles
- Project roles
Organization roles govern access to org-level resources: members, billing, exports, projects, and flags.
Response:Update a custom role’s name or permissions with
Built-in roles
Togul ships with five system roles. System roles haveis_system: true and cannot be modified or deleted.| Role | Typical use |
|---|---|
owner | Full access, including billing and organization deletion |
admin | Full access except organization deletion |
developer | Flag and rule management |
analyst | Read-only access to flags, rules, and usage |
viewer | Read-only access to flags |
Custom roles
Create a custom role withPOST /api/v1/roles. Requires the roles.create permission.PATCH /api/v1/roles/{id} (requires roles.update). Delete it with DELETE /api/v1/roles/{id} (requires roles.delete).Role schema
| Field | Type | Description |
|---|---|---|
id | string (UUID) | Unique role identifier |
key | string | Machine-readable key (e.g. release_manager) |
name | string | Human-readable display name |
is_system | boolean | true for built-in roles; false for custom roles |
permissions | string[] | Array of permission strings granted by this role |
Invitations
When you invite a user withPOST /api/v1/invitations, you specify a role_id. The invitation assigns that role to the new member when accepted.If the invited email does not belong to an existing Togul account, you can create the account inline by including name and password in the POST /api/v1/invitations/accept request body.Available permissions
Organization
Organization
| Permission | Description |
|---|---|
org.read | View organization details |
org.update | Update organization name and settings |
org.delete | Delete the organization |
Members
Members
| Permission | Description |
|---|---|
members.read | List organization members and pending invitations |
members.invite | Create and revoke invitations |
members.update | Change a member’s role |
members.remove | Remove a member from the organization |
Roles
Roles
| Permission | Description |
|---|---|
roles.read | List all roles |
roles.create | Create a custom role |
roles.update | Update a custom role |
roles.delete | Delete a custom role |
Projects
Projects
| Permission | Description |
|---|---|
projects.read | List and view projects |
projects.write | Create and update projects |
projects.delete | Delete a project |
Environments
Environments
| Permission | Description |
|---|---|
environments.read | View environments |
environments.write | Create environments |
environments.delete | Delete environments |
Flags
Flags
| Permission | Description |
|---|---|
flags.read | List and view flags |
flags.write | Create and update flags |
flags.delete | Delete flags |
Rules
Rules
| Permission | Description |
|---|---|
rules.read | View rules |
rules.write | Create and update rules |
rules.delete | Delete rules |
API keys
API keys
| Permission | Description |
|---|---|
api_keys.read | List API keys |
api_keys.write | Create and rotate API keys |
api_keys.delete | Revoke API keys |
Billing
Billing
| Permission | Description |
|---|---|
billing.read | View subscription details and create portal sessions |
billing.write | Create checkout sessions and modify subscriptions |
Exports
Exports
| Permission | Description |
|---|---|
exports.write | Create and list data exports |
Usage
Usage
| Permission | Description |
|---|---|
usage.read | View usage rollups |
Project members
Project members
| Permission | Description |
|---|---|
project_members.read | List project members |
project_members.write | Add members and update their project roles |
project_members.remove | Remove members from a project |