Skip to content
ReferenceWorkspace

Users

User management API

DevelopersUpdated

Manage users within your organization. Users are assigned roles that control their access to features through granular permissions.

Users can be either native (created in the organization) or members (added from another organization). The is_member field in responses indicates cross-org members, who have limited update/delete behavior.

All users (regardless of role) can access their profile to view account information and change their password. The Profile page is accessible from the user menu in the top navigation.

GET/api/me
{
"status": "success",
"data": {
"id": "uuid",
"email": "[email protected]",
"full_name": "John Doe",
"role": {
"id": "uuid",
"name": "admin",
"description": "Full access to all features"
},
"permissions": ["users:read", "users:write", "contacts:read", "..."],
"is_super_admin": false,
"created_at": "2024-01-01T00:00:00Z"
}
}
PUT/api/me/password
{
"current_password": "oldpassword",
"new_password": "newsecurepassword"
}
Field Type Required Description
current_password string Yes Current password for verification
new_password string Yes New password (minimum 6 characters)
{
"status": "success",
"data": {
"message": "Password changed successfully"
}
}

Update the current user’s notification preferences.

PUT/api/me/settings
{
"email_notifications": true,
"new_message_alerts": true,
"campaign_updates": false
}
Field Type Description
email_notifications boolean Receive email notifications
new_message_alerts boolean Alert on new inbound messages
campaign_updates boolean Notify on campaign status changes
{
"status": "success",
"data": {
"message": "Settings updated successfully",
"settings": {
"email_notifications": true,
"new_message_alerts": true,
"campaign_updates": false
}
}
}

Retrieve all users in your organization.

GET/api/users
Parameter Type Description
search string Filter by name or email
{
"status": "success",
"data": {
"users": [
{
"id": "uuid",
"email": "[email protected]",
"full_name": "John Doe",
"role_id": "uuid",
"role": {
"id": "uuid",
"name": "agent",
"is_system": true
},
"is_active": true,
"is_available": true,
"is_member": false,
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2024-01-01T00:00:00Z"
}
]
}
}

Retrieve a single user.

GET/api/users/{id}
{
"status": "success",
"data": {
"id": "uuid",
"email": "[email protected]",
"full_name": "John Doe",
"role_id": "uuid",
"role": {
"id": "uuid",
"name": "agent",
"is_system": true
},
"is_active": true,
"is_available": true,
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2024-01-01T00:00:00Z"
}
}

Create a new user in your organization.

POST/api/users
{
"email": "[email protected]",
"password": "securepassword",
"full_name": "Jane Smith",
"role_id": "uuid"
}
Field Type Required Description
email string Yes Unique email address
password string Yes Must be non-empty. No minimum length is enforced (unlike PUT /api/me/password, which requires 6+)
full_name string Yes Display name
role_id string No UUID of the role to assign. If not provided, uses the organization’s default role
{
"status": "success",
"data": {
"id": "uuid",
"email": "[email protected]",
"full_name": "Jane Smith",
"role_id": "uuid",
"role": {
"id": "uuid",
"name": "agent",
"is_system": true
},
"is_active": true,
"created_at": "2024-01-01T00:00:00Z"
}
}

Update user details or role.

PUT/api/users/{id}
{
"full_name": "Jane Doe",
"role_id": "uuid",
"is_active": true
}
Field Type Description
email string New email address
password string New password
full_name string Display name
role_id string UUID of the role to assign
is_active boolean Enable/disable user

Remove a user from the organization.

DELETE/api/users/{id}
{
"status": "success",
"data": {
"message": "User deleted successfully"
}
}

Users set their own availability status for chat routing. This always acts on the authenticated user — there is no per-user-ID availability route.

PUT/api/me/availability
{
"is_available": true
}

Retrieve all organizations the current user belongs to. Used by the organization switcher.

GET/api/me/organizations
{
"status": "success",
"data": {
"organizations": [
{
"organization_id": "uuid",
"name": "Acme Corp",
"slug": "acme-corp-a1b2c3d4",
"role_name": "admin",
"role_id": "uuid",
"is_default": true
},
{
"organization_id": "uuid",
"name": "Partner Org",
"slug": "partner-org-e5f6g7h8",
"role_name": "agent",
"role_id": "uuid",
"is_default": false
}
]
}
}