Skip to content

GET   /ticket-rotations/{id}/next-user

Get the next user in a ticket rotation (READ-ONLY)

Retrieves the next user in the specified ticket rotation WITHOUT updating the current rotation position. This is a read-only operation that calculates who would be next based on weighted round-robin logic. 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

id   path string

The unique ID of the ticket rotation

Optional Parameters

Click here to view an exhaustive list of all available parameters
x-account-id   header string

The account ID for the request

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: The account ID for the request
required: false

#/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: /ticket-rotations/[id]/next-user/route.ts

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