Assign a ticket to the next available team member
Round-robin: pick the next eligible team member and assign the ticket to them, so a caller does not have to know who is on shift.
/v1/teams/{team_id}/assignEditor- Operation id
- team_round_robin_assign
- Access
- A viewer is refused.
/v1/teams/{team_id}/assignRound-robin: pick the next eligible team member and assign the ticket to them, so a caller does not have to know who is on shift.
The team decides who. Members take turns, and the turn advances inside the same transaction, so two calls at the same moment cannot land on the same operator. The response names who was chosen.
Eligibility is checked at the moment of the call, so someone who has gone offline or marked themselves unavailable is skipped. A team with nobody eligible is refused rather than assigned to someone who is not there.
Eligibility: * user.status = 'active' * user.presence != 'offline' * user.preferences->>'helpdesk_unavailable' IS NOT TRUE
Tenancy: the request is scoped to one workspace, and the credential presented is what selects it. A caller with no membership in that workspace is refused with 404, which is indistinguishable from a workspace that does not exist.
Authorisation: editor, admin or owner. A viewer receives 403 insufficient_role.
Access: Authorization: Bearer carrying either a realm access token or an API key. A key must hold the helpdesk-ingress:write scope, and the workspace role of the person who owns it must meet the floor above.
A realm-issued access token, presented as Authorization: Bearer <token>. It acts as the person who signed in, and every operation resolves their workspace role live from the membership record.
In: header
Path Parameters
uuidRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/teams/497f6eca-6276-4993-bfeb-53cbbbba6f08/assign" \ -H "Content-Type: application/json" \ -d '{ "ticket_id": "5e8b0c31-7a4d-4f92-b6c8-1d3e2a5f7b90" }'{ "assignee_id": "3fe98b76-2409-5003-b75a-93e56b450433", "assignee_name": "Dana Osei", "ticket_id": "5e8b0c31-7a4d-4f92-b6c8-1d3e2a5f7b90", "team_id": "d907a188-148a-5522-82a6-55798ccdecb6"}