Skip to content

GET   /lead-rotations/{rotationId}/next-user

Get the next user in a lead rotation

Retrieves the next user in the specified lead rotation and updates the current rotation position. The user must have access to the account that owns the rotation.

Authentication Required

Authorization: Bearer {token}   header string

This header is required to access this endpoint

Required Parameters

x-account-id   header string

Account ID for multi-tenant context

rotationId   path integer

The ID of the lead rotation

Try it out

Loading...

Output:

Responses

Description

Next user retrieved successfully

{
"user": {
"id": 0,
"email": "string",
"name": "string",
"userId": "string",
"weight": 0
},
"rotationId": "string",
"newPosition": 0,
"totalUsers": 0,
"currentUser": "string",
"nextUser": "string",
"rotation": {
"id": 0,
"uniqueId": "string",
"accountId": "string",
"name": "string",
"ticketTypeId": "string",
"status": "string",
"userRotationArray": [
{
"userId": "string",
"email": "string",
"name": "string",
"weight": 0
}
],
"currentPosition": 0,
"createdAt": "string",
"updatedAt": "string",
"createdBy": "string",
"updatedBy": "string"
},
"currentPosition": 0
}

References

#/components/parameters/xAccountIdHeader

in: header
name: x-account-id
schema:
type: string
description: Account ID for multi-tenant context
required: true
example: "2311"

#/components/schemas/UserRotationMember

type: object
description: A user in the rotation with their weight
properties:
userId:
type: string
description: Unique ID of the user
email:
type: string
description: Email of the user
name:
type: string
description: Display name of the user
weight:
type: integer
minimum: 1
maximum: 10
description: Weight for this user in the rotation (1-10). Higher weight means
they receive more tickets.
required:
- userId
- email
- name
- weight

#/components/schemas/TicketRotation

type: object
description: Ticket rotation object representing a weighted round-robin strategy
for distributing tickets among users
properties:
id:
type: integer
description: Internal database ID
uniqueId:
type: string
description: Unique identifier for the ticket rotation
accountId:
type: string
description: ID of the account that owns this ticket rotation
name:
type: string
description: Name of the ticket rotation
ticketTypeId:
type: string
description: ID of the ticket type associated with this rotation
status:
type: string
description: Status of the ticket rotation
enum:
- active
- inactive
userRotationArray:
type: array
items:
$ref: "#/components/schemas/UserRotationMember"
description: Array of users in the rotation with their assigned weights (1-10)
currentPosition:
type: integer
description: Current position in the weighted rotation array
createdAt:
type: string
format: date-time
description: When the ticket rotation was created
updatedAt:
type: string
format: date-time
description: When the ticket rotation was last updated
createdBy:
type: string
description: Email of the user who created the ticket rotation
updatedBy:
type: string
description: Email of the user who last updated the ticket rotation
required:
- id
- uniqueId
- accountId
- name
- status
- userRotationArray

#/components/schemas/NextUserResponse

type: object
description: Response containing information about the next user in the rotation
(read-only, does not change position)
properties:
user:
type: object
description: The user who is next in the rotation
properties:
id:
type: integer
description: ID of the user
email:
type: string
description: Email of the user
name:
type: string
description: Name of the user
userId:
type: string
description: ID of the user
weight:
type: integer
description: Weight of the user in the rotation
rotationId:
type: string
description: ID of the ticket rotation
newPosition:
type: integer
description: The updated position in the rotation after this operation
totalUsers:
type: integer
description: Total number of users in the rotation
currentUser:
type: string
description: The current user in the rotation
nextUser:
type: string
description: The next user in the rotation
rotation:
$ref: "#/components/schemas/TicketRotation"
currentPosition:
type: integer
description: Current position in the rotation (unchanged)

Route Source Code

Check out the source code for this route entrypoint here: /lead-rotations/[rotationId]/next-user/route.ts

Or the swagger.yaml spec this documentation was generated from: /lead-rotations/swagger.yaml