AuralisDocs
OperationsInbound messages

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.
POST/v1/teams/{team_id}/assign

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.

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.

Authorization

AuthorizationBearer <token>

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

team_id*Team Id
Formatuuid

Request 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"}