Skip to main content

Get Queue Users

Retrieves all users (agents/members) assigned to a specific queue. This endpoint returns detailed information about queue members including their availability status, workload metrics, skills, and roles within the queue. Used for agent assignment dropdowns and queue management interfaces.


Endpoint

Method: GET URL: {{base_url}}/api/v2/ticketing/queue/{queueId}/users


Authentication

This endpoint uses Bearer Token authentication via a JWT (JSON Web Token). The token must be included in the Authorization header.


Headers

HeaderDescriptionRequired
AuthorizationBearer token (JWT) for authenticationYes
acceptSpecifies acceptable response formats (application/json)Yes
x-tenantidUUID identifying the tenant/organizationYes
realmnameThe authentication realm nameYes
issupportrequestBoolean flag indicating if this is a support-related requestNo

Path Parameters

ParameterTypeDescriptionRequired
queueIdintegerThe unique numeric identifier of the queueYes

Query Parameters

ParameterTypeDescriptionRequired
typestringFilter by type. Accepted values: template, agent, userYes
modulestringThe module context. Example: ticketingYes

Request Body Schema

Not applicable — this is a GET request with no request body.


Example cURL

curl --request GET \
--url '{{base_url}}/api/v2/ticketing/queue/33654/users?type=template&module=ticketing' \
--header 'accept: application/json' \
--header 'authorization: Bearer {{access_token}}' \
--header 'x-tenantid: {{tenant_id}}' \
--header 'realmname: {{realm_name}}' \
--header 'issupportrequest: false'

Success Response Example

Status Code: 200 OK

{
"success": true,
"message": "Queue users retrieved successfully",
"data": {
"queueId": 33654,
"queueName": "IT Support - Tier 1",
"users": [
{
"id": "1876278a-3634-4833-b73e-1536d806e117",
"userId": 19528,
"username": "deepak.purohit@rezolve.ai",
"email": "deepak.purohit@rezolve.ai",
"name": "Deepak purohit",
"firstName": "Deepak",
"lastName": "purohit",
"avatar": null,
"role": "agent",
"queueRole": "member",
"availability": {
"status": "online",
"statusSince": "2025-07-10T08:00:00.000Z",
"autoAssign": true
},
"workload": {
"currentLoad": 8,
"maxCapacity": 15,
"utilizationPercentage": 53.3,
"ticketsAssignedToday": 12,
"ticketsResolvedToday": 7,
"avgResolutionTime": 45
},
"skills": [
{
"id": "skill-001",
"name": "Network Troubleshooting",
"level": "expert"
},
{
"id": "skill-002",
"name": "VPN Support",
"level": "intermediate"
}
],
"teams": ["operation", "global"],
"defaultTeam": "operation",
"shift": {
"name": "Morning Shift",
"startTime": "08:00",
"endTime": "17:00",
"timezone": "Asia/Calcutta",
"isOnShift": true
},
"lastActivity": "2025-07-10T12:30:00.000Z",
"joinedQueue": "2024-01-15T10:00:00.000Z"
},
{
"id": "2987389b-4745-5944-c84f-2647e917f228",
"userId": 19529,
"username": "jane.smith@rezolve.ai",
"email": "jane.smith@rezolve.ai",
"name": "Jane Smith",
"firstName": "Jane",
"lastName": "Smith",
"avatar": "https://cdn.example.com/avatars/jane.jpg",
"role": "agent",
"queueRole": "supervisor",
"availability": {
"status": "busy",
"statusSince": "2025-07-10T11:45:00.000Z",
"autoAssign": false
},
"workload": {
"currentLoad": 12,
"maxCapacity": 15,
"utilizationPercentage": 80.0,
"ticketsAssignedToday": 15,
"ticketsResolvedToday": 10,
"avgResolutionTime": 38
},
"skills": [
{
"id": "skill-001",
"name": "Network Troubleshooting",
"level": "expert"
},
{
"id": "skill-003",
"name": "Hardware Support",
"level": "expert"
},
{
"id": "skill-004",
"name": "Software Installation",
"level": "intermediate"
}
],
"teams": ["operation", "it-support"],
"defaultTeam": "operation",
"shift": {
"name": "Morning Shift",
"startTime": "08:00",
"endTime": "17:00",
"timezone": "Asia/Calcutta",
"isOnShift": true
},
"lastActivity": "2025-07-10T12:28:00.000Z",
"joinedQueue": "2023-06-01T09:00:00.000Z"
},
{
"id": "3098490c-5856-6055-d95g-3758f028g339",
"userId": 19530,
"username": "bob.wilson@rezolve.ai",
"email": "bob.wilson@rezolve.ai",
"name": "Bob Wilson",
"firstName": "Bob",
"lastName": "Wilson",
"avatar": null,
"role": "agent",
"queueRole": "member",
"availability": {
"status": "away",
"statusSince": "2025-07-10T12:00:00.000Z",
"autoAssign": false
},
"workload": {
"currentLoad": 5,
"maxCapacity": 15,
"utilizationPercentage": 33.3,
"ticketsAssignedToday": 8,
"ticketsResolvedToday": 6,
"avgResolutionTime": 52
},
"skills": [
{
"id": "skill-002",
"name": "VPN Support",
"level": "expert"
},
{
"id": "skill-005",
"name": "Email Support",
"level": "intermediate"
}
],
"teams": ["operation"],
"defaultTeam": "operation",
"shift": {
"name": "Morning Shift",
"startTime": "08:00",
"endTime": "17:00",
"timezone": "Asia/Calcutta",
"isOnShift": true
},
"lastActivity": "2025-07-10T11:55:00.000Z",
"joinedQueue": "2024-03-20T14:00:00.000Z"
}
],
"summary": {
"totalUsers": 3,
"byStatus": {
"online": 1,
"busy": 1,
"away": 1,
"offline": 0,
"dnd": 0
},
"byRole": {
"member": 2,
"supervisor": 1,
"admin": 0
},
"availableForAssignment": 1,
"totalCapacity": 45,
"currentUtilization": 25,
"averageUtilization": 55.5
}
},
"timestamp": "2025-07-10T12:35:00.000Z"
}

User Object Schema

FieldTypeDescription
idstringUnique user identifier (UUID from identity provider)
userIdintegerNumeric user ID in ticketing system
usernamestringLogin username
emailstringUser's email address
namestringFull display name
firstNamestringFirst name
lastNamestringLast name
avatarstring|nullURL to user's avatar image
rolestringSystem role: agent, supervisor, admin
queueRolestringRole within this queue: member, supervisor, admin
availabilityobjectCurrent availability status
workloadobjectCurrent workload metrics
skillsarrayList of skills with proficiency levels
teamsarrayTeam memberships
defaultTeamstringPrimary team
shiftobjectShift schedule information
lastActivitystringISO 8601 timestamp of last activity
joinedQueuestringISO 8601 timestamp when user joined this queue

Availability Status Values

StatusDescriptionAvailable for Assignment
onlineAvailable and accepting ticketsYes (if autoAssign: true)
busyCurrently busy/in meetingNo
awayTemporarily awayNo
offlineNot logged in / offlineNo
dndDo not disturbNo

Queue Role Values

RoleDescriptionPermissions
memberRegular queue memberHandle assigned tickets
supervisorQueue supervisorReassign, monitor, manage queue
adminQueue administratorFull queue configuration

Skill Level Values

LevelDescription
beginnerBasic knowledge
intermediateWorking proficiency
expertAdvanced/specialist level

Error Responses

Status CodeErrorDescription
400 Bad RequestInvalid queue ID formatQueue ID must be a valid integer
401 UnauthorizedAuthentication failedBearer token is missing, expired, or invalid
403 ForbiddenInsufficient permissionsUser lacks permission to view queue members
404 Not FoundQueue not foundThe specified queue ID does not exist
500 Internal Server ErrorServer errorUnexpected server-side error

Example Error Response:

{
"success": false,
"error": {
"code": "QUEUE_NOT_FOUND",
"message": "Queue with ID 99999 not found",
"details": "Please verify the queue ID and try again"
},
"timestamp": "2025-07-10T12:35:00.000Z"
}

Notes

  1. Queue Identification: The queueId in the path is the numeric identifier for the queue. Use the /queue/list endpoint to discover available queues and their IDs.

  2. Assignment Dropdown: This endpoint is commonly used to populate agent assignment dropdowns when manually assigning or reassigning tickets.

  3. Workload Metrics: The workload object provides real-time metrics:

    • currentLoad — Number of currently assigned open tickets
    • maxCapacity — Maximum tickets the agent can handle
    • utilizationPercentage — currentLoad / maxCapacity × 100
    • ticketsAssignedToday — Total tickets assigned today
    • ticketsResolvedToday — Total tickets resolved today
    • avgResolutionTime — Average resolution time in minutes
  4. Skill-Based Routing: The skills array enables skill-based ticket assignment. Skills have proficiency levels (beginner, intermediate, expert).

  5. Shift Information: The shift object indicates if the user is currently on shift. isOnShift: false agents may not be available for assignment.

  6. Auto-Assignment: The availability.autoAssign flag indicates whether the agent is receiving automatically routed tickets. Agents can toggle this independently of their status.

  7. Summary Statistics: The summary object provides aggregated statistics for queue capacity planning:

    • availableForAssignment — Count of agents who can receive new tickets
    • totalCapacity — Sum of all agents' maxCapacity
    • currentUtilization — Sum of all agents' currentLoad
    • averageUtilization — Mean utilization percentage
  8. Real-Time Updates: For real-time agent availability updates, consider using WebSocket or SSE connections. This endpoint provides a point-in-time snapshot.

  9. Multi-Queue Membership: Agents may belong to multiple queues. This endpoint returns only the agents assigned to the specified queue.

  10. Related Endpoints:

    • GET /queue/list — List all queues
    • GET /queue/current — Current user's queue assignment
    • POST /queue/{queueId}/users — Add user to queue
    • DELETE /queue/{queueId}/users/{userId} — Remove user from queue
    • PUT /queue/{queueId}/users/{userId} — Update user's queue role