Roles
Overview
Manage roles and permissions within your organization. Roles are collections of permissions that can be assigned to users.
List Permissions
Get all available permissions in the system.
GET /api/permissionsResponse
{ "status": "success", "data": { "permissions": [ { "id": "uuid", "resource": "users", "action": "read", "description": "View users" }, { "id": "uuid", "resource": "users", "action": "create", "description": "Create users" } ] }}List Roles
Get all roles in your organization.
GET /api/rolesQuery Parameters
| Parameter | Type | Description |
|---|---|---|
search | string | Filter by role name |
Response
{ "status": "success", "data": { "roles": [ { "id": "uuid", "name": "admin", "description": "Full access to all features", "is_system": true, "is_default": false, "permission_count": 45, "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z" }, { "id": "uuid", "name": "Custom Role", "description": "Custom role with specific permissions", "is_system": false, "is_default": false, "permission_count": 12, "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z" } ] }}Get Role
Get a single role with its permissions.
GET /api/roles/{id}Response
{ "status": "success", "data": { "id": "uuid", "name": "Custom Role", "description": "Custom role with specific permissions", "is_system": false, "is_default": false, "permissions": [ { "id": "uuid", "resource": "contacts", "action": "read", "description": "View contacts" }, { "id": "uuid", "resource": "contacts", "action": "create", "description": "Create contacts" } ], "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z" }}Create Role
Create a new custom role.
POST /api/rolesRequest Body
{ "name": "Support Agent", "description": "Can view and respond to chats", "permissions": ["contacts:read", "messages:read", "messages:create"]}| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Unique role name |
description | string | No | Role description |
permissions | array | Yes | Array of permission keys (e.g., resource:action) |
is_default | boolean | No | Set as default role for new users |
Response
{ "status": "success", "data": { "id": "uuid", "name": "Support Agent", "description": "Can view and respond to chats", "is_system": false, "is_default": false, "permissions": [ { "id": "uuid", "resource": "contacts", "action": "read", "description": "View contacts" } ], "created_at": "2024-01-01T00:00:00Z" }}Update Role
Update an existing custom role.
PUT /api/roles/{id}Request Body
{ "name": "Senior Support Agent", "description": "Can view, respond to chats, and access analytics", "permissions": ["contacts:read", "messages:read", "messages:create", "analytics:read"]}| Field | Type | Description |
|---|---|---|
name | string | Role name |
description | string | Role description |
permissions | array | Array of permission keys |
is_default | boolean | Set as default role for new users |
Response
{ "status": "success", "data": { "id": "uuid", "name": "Senior Support Agent", "description": "Can view, respond to chats, and access analytics", "is_system": false, "is_default": false, "permissions": [...], "updated_at": "2024-01-01T00:00:00Z" }}Delete Role
Delete a custom role.
DELETE /api/roles/{id}Response
{ "status": "success", "data": { "message": "Role deleted successfully" }}Permission Keys
Permissions use the format resource:action. Here are all available permissions:
User Management
users:read- View usersusers:create- Create usersusers:update- Update usersusers:delete- Delete users
Role Management
roles:read- View rolesroles:create- Create rolesroles:update- Update rolesroles:delete- Delete roles
Team Management
teams:read- View teamsteams:create- Create teamsteams:update- Update teamsteams:delete- Delete teams
Contacts
contacts:read- View contactscontacts:create- Create contactscontacts:update- Update contactscontacts:delete- Delete contacts
Messages
messages:read- View messagesmessages:create- Send messages
Templates
templates:read- View templatestemplates:create- Create templatestemplates:update- Update templatestemplates:delete- Delete templates
Campaigns
campaigns:read- View campaignscampaigns:create- Create campaignscampaigns:update- Update campaignscampaigns:delete- Delete campaigns
Chatbot
chatbot:read- View chatbot settingschatbot:update- Update chatbot settingsflows:read- View flowsflows:create- Create flowsflows:update- Update flowsflows:delete- Delete flows
Settings
settings:read- View organization settingssettings:update- Update organization settingsaccounts:read- View WhatsApp accountsaccounts:create- Create WhatsApp accountsaccounts:update- Update WhatsApp accountsaccounts:delete- Delete WhatsApp accountswebhooks:read- View webhookswebhooks:create- Create webhookswebhooks:update- Update webhookswebhooks:delete- Delete webhooksapi_keys:read- View API keysapi_keys:create- Create API keysapi_keys:delete- Delete API keys
Analytics
analytics:read- View analytics
See Also
- Roles & Permissions - Learn about the permission system
- Users API - User management