Scheduling
Round-robin rota API
Generates a round-robin rota assigning people to ordered slots cyclically (perSlot people each), returning the assignment and each person's shift count with a balance check. Answers 'Who is on duty each day in a fair rotation?', 'How many shifts does each person get?'.
Price$0.02per request
MethodPOST
Route/v1/scheduling/rota-round-robin
StatusLive
MIME typeapplication/json
Rate limit120/minute
Cache0s public
schedulingshiftsrotaround-robinrotationfairnesscoverageagents
API URL
Integration docshttps://x402.hexl.dev/v1/scheduling/rota-round-robinExample request
{
"people": [
"alice",
"bob",
"carol"
],
"slots": [
"Mon",
"Tue",
"Wed",
"Thu"
]
}Example response
{
"rota": [
{
"slot": "Mon",
"assigned": [
"alice"
]
},
{
"slot": "Tue",
"assigned": [
"bob"
]
},
{
"slot": "Wed",
"assigned": [
"carol"
]
},
{
"slot": "Thu",
"assigned": [
"alice"
]
}
],
"shiftCounts": {
"alice": 2,
"bob": 1,
"carol": 1
},
"maxShifts": 2,
"minShifts": 1,
"balanced": true,
"interpretation": "Assigned 4 slot(s) across 3 people; spread 1–2 shifts."
}Input schema
{
"type": "object",
"required": [
"people",
"slots"
],
"properties": {
"people": {
"type": "array",
"items": {
"type": "string"
},
"examples": [
[
"alice",
"bob",
"carol"
]
]
},
"slots": {
"type": "array",
"items": {
"type": "string"
},
"examples": [
[
"Mon",
"Tue",
"Wed",
"Thu"
]
]
},
"startIndex": {
"type": "number",
"examples": [
0
]
},
"perSlot": {
"type": "number",
"examples": [
1
]
}
}
}Output schema
{
"type": "object",
"additionalProperties": true
}