On-Call API › Schedule layers
Reorder a layer's rota
PUT/api/v1/schedules/{id}/layers/{layerID}/rotations
Sets the order the layer's people run in. rotation_ids must list every
rota slot of the layer exactly once, in the new order.
Permission (API-key scope): oncall:schedule:write.
Authorization
bearerAuth(oncall:schedule:write)apiKeyHeader(oncall:schedule:write)
Parameters
Path parameters
idstring requiredThe schedule's id.layerIDstring requiredThe layer's id. It must belong to the schedule in the path.
Request body required
rotation_idsarray of string required
Responses
200
The layer's rota in its new order.
dataarray of ScheduleRotation requiredShow ScheduleRotation properties
idstringlayer_idstringuser_idstringpositioninteger0-based place in the rota.created_atstring (date-time)
successboolean required
400
The body is not JSON (INVALID_BODY), or rotation_ids is empty or does not list exactly this layer's slots once each (VALIDATION_FAILED).
errorobject requiredcodestring requiredmessagestring requireddetailsarray of object requiredfieldstringmessagestring
401
No API key was sent, or it is unknown, revoked or expired (UNAUTHORIZED).
errorobject requiredcodestring requiredMachine-readable code. Branch on this.messagestring requiredHuman-readable explanation.
403
The key lacks the scope this endpoint needs (FORBIDDEN).
errorobject requiredcodestring requiredMachine-readable code. Branch on this.messagestring requiredHuman-readable explanation.
404
No such schedule, or no such layer on it (NOT_FOUND).
errorobject requiredcodestring requiredMachine-readable code. Branch on this.messagestring requiredHuman-readable explanation.
429
Too many requests (RATE_LIMITED). Wait Retry-After seconds.
Retry-AfterintegerSeconds to wait.
errorobject requiredcodestring requiredMachine-readable code. Branch on this.messagestring requiredHuman-readable explanation.
500
Something went wrong on EvoHub's side (INTERNAL_ERROR). Retry later.
errorobject requiredcodestring requiredMachine-readable code. Branch on this.messagestring requiredHuman-readable explanation.
Example request
curl -X PUT 'https://evohub.io/api/v1/schedules/5b1c7d2e-8f3a-4b9c-a0d1-e2f3a4b5c6d7/layers/7c3d9e1f-2a4b-4c6d-8e0f-1a2b3c4d5e6f/rotations' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
-d '{
"rotation_ids": [
"8d4e0f2a-3b5c-4d7e-9f1a-2b3c4d5e6f70",
"9e5f1a3b-4c6d-4e8f-a0b2-c4d6e8f0a2b4"
]
}'