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

x-account-id   header string

Account ID for multi-tenant context

id   path string

The unique ID of the ticket 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: /ticket-rotations/[id]/next-user/route.ts

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