Skip to content

Roles

Manage roles and permissions within your organization. Roles are collections of permissions that can be assigned to users.

Get all available permissions in the system.

Terminal window
GET /api/permissions
{
"status": "success",
"data": {
"permissions": [
{
"id": "uuid",
"resource": "users",
"action": "read",
"description": "View users"
},
{
"id": "uuid",
"resource": "users",
"action": "create",
"description": "Create users"
}
]
}
}

Get all roles in your organization.

Terminal window
GET /api/roles
ParameterTypeDescription
searchstringFilter by role name
{
"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 a single role with its permissions.

Terminal window
GET /api/roles/{id}
{
"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 a new custom role.

Terminal window
POST /api/roles
{
"name": "Support Agent",
"description": "Can view and respond to chats",
"permissions": ["contacts:read", "messages:read", "messages:create"]
}
FieldTypeRequiredDescription
namestringYesUnique role name
descriptionstringNoRole description
permissionsarrayYesArray of permission keys (e.g., resource:action)
is_defaultbooleanNoSet as default role for new users
{
"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 an existing custom role.

Terminal window
PUT /api/roles/{id}
{
"name": "Senior Support Agent",
"description": "Can view, respond to chats, and access analytics",
"permissions": ["contacts:read", "messages:read", "messages:create", "analytics:read"]
}
FieldTypeDescription
namestringRole name
descriptionstringRole description
permissionsarrayArray of permission keys
is_defaultbooleanSet as default role for new users
{
"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 a custom role.

Terminal window
DELETE /api/roles/{id}
{
"status": "success",
"data": {
"message": "Role deleted successfully"
}
}

Permissions use the format resource:action. Here are all available permissions:

  • users:read - View users
  • users:create - Create users
  • users:update - Update users
  • users:delete - Delete users
  • roles:read - View roles
  • roles:create - Create roles
  • roles:update - Update roles
  • roles:delete - Delete roles
  • teams:read - View teams
  • teams:create - Create teams
  • teams:update - Update teams
  • teams:delete - Delete teams
  • contacts:read - View contacts
  • contacts:create - Create contacts
  • contacts:update - Update contacts
  • contacts:delete - Delete contacts
  • messages:read - View messages
  • messages:create - Send messages
  • templates:read - View templates
  • templates:create - Create templates
  • templates:update - Update templates
  • templates:delete - Delete templates
  • campaigns:read - View campaigns
  • campaigns:create - Create campaigns
  • campaigns:update - Update campaigns
  • campaigns:delete - Delete campaigns
  • chatbot:read - View chatbot settings
  • chatbot:update - Update chatbot settings
  • flows:read - View flows
  • flows:create - Create flows
  • flows:update - Update flows
  • flows:delete - Delete flows
  • settings:read - View organization settings
  • settings:update - Update organization settings
  • accounts:read - View WhatsApp accounts
  • accounts:create - Create WhatsApp accounts
  • accounts:update - Update WhatsApp accounts
  • accounts:delete - Delete WhatsApp accounts
  • webhooks:read - View webhooks
  • webhooks:create - Create webhooks
  • webhooks:update - Update webhooks
  • webhooks:delete - Delete webhooks
  • api_keys:read - View API keys
  • api_keys:create - Create API keys
  • api_keys:delete - Delete API keys
  • analytics:read - View analytics