Skip to content

Users

Overview

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

Profile & Password Change

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 Current User

Terminal window
GET /api/me

Response

{
"status": "success",
"data": {
"id": "uuid",
"email": "user@example.com",
"full_name": "John Doe",
"role": {
"id": "uuid",
"name": "admin",
"description": "Full access to all features"
},
"permissions": ["users:read", "users:create", "contacts:read", "..."],
"is_super_admin": false,
"created_at": "2024-01-01T00:00:00Z"
}
}

Change Password

Terminal window
PUT /api/me/password

Request Body

{
"current_password": "oldpassword",
"new_password": "newsecurepassword"
}
FieldTypeRequiredDescription
current_passwordstringYesCurrent password for verification
new_passwordstringYesNew password (minimum 8 characters)

Response

{
"status": "success",
"data": {
"message": "Password changed successfully"
}
}

List Users

Retrieve all users in your organization.

Terminal window
GET /api/users

Query Parameters

ParameterTypeDescription
searchstringFilter by name or email

Response

{
"status": "success",
"data": {
"users": [
{
"id": "uuid",
"email": "user@example.com",
"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"
}
]
}
}

Get User

Retrieve a single user.

Terminal window
GET /api/users/{id}

Response

{
"status": "success",
"data": {
"id": "uuid",
"email": "user@example.com",
"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 User

Create a new user in your organization.

Terminal window
POST /api/users

Request Body

{
"email": "newuser@example.com",
"password": "securepassword",
"full_name": "Jane Smith",
"role_id": "uuid"
}
FieldTypeRequiredDescription
emailstringYesUnique email address
passwordstringYesMinimum 8 characters
full_namestringYesDisplay name
role_idstringNoUUID of the role to assign. If not provided, uses the organization’s default role

Response

{
"status": "success",
"data": {
"id": "uuid",
"email": "newuser@example.com",
"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

Update user details or role.

Terminal window
PUT /api/users/{id}

Request Body

{
"full_name": "Jane Doe",
"role_id": "uuid",
"is_active": true
}
FieldTypeDescription
emailstringNew email address
passwordstringNew password (min 8 chars)
full_namestringDisplay name
role_idstringUUID of the role to assign
is_activebooleanEnable/disable user

Delete User

Remove a user from the organization.

Terminal window
DELETE /api/users/{id}

Response

{
"status": "success",
"data": {
"message": "User deleted successfully"
}
}

User Availability

Users can set their availability status for chat routing.

Update Availability

Terminal window
PUT /api/users/{id}/availability

Request Body

{
"is_available": true
}

See Also