> For the complete documentation index, see [llms.txt](https://developers.incidents.cloud.solarwinds.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developers.incidents.cloud.solarwinds.com/api-reference/rotation.md).

# Rotation

## GET /v4/schedules/{scheduleID}/rotations

> List Schedule Rotations

```json
{"openapi":"3.1.0","info":{"title":"Squadcast","version":"1.0.0"},"tags":[{"name":"Rotation"}],"servers":[{"url":"https://api.squadcast.com","description":"production US env","variables":{}},{"url":"https://api.eu.squadcast.com","description":"production EU env","variables":{}}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer"}},"schemas":{"V4.RotationResponse":{"type":"object","allOf":[{"$ref":"#/components/schemas/V4.Rotation"}]},"V4.Rotation":{"type":"object","required":["id","name","scheduleID","color","startDate","period","changeParticipantsFrequency","changeParticipantsUnit","createdAt","updatedAt"],"properties":{"id":{"type":"integer"},"name":{"type":"string"},"scheduleID":{"type":"integer"},"color":{"type":"string"},"startDate":{"type":"string"},"period":{"type":"string"},"customPeriodFrequency":{"type":"integer"},"customPeriodUnit":{"type":"string"},"shiftTimeSlots":{"type":"array","items":{"$ref":"#/components/schemas/V4.ShiftTimeSlot"}},"changeParticipantsFrequency":{"type":"integer"},"changeParticipantsUnit":{"type":"string"},"endDate":{"type":"string"},"endsAfterIterations":{"type":"integer"},"rotationParticipants":{"type":"array","items":{"$ref":"#/components/schemas/V4.ParticipantGroup"}},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}}},"V4.ShiftTimeSlot":{"type":"object","required":["startHour","startMin","duration"],"properties":{"startHour":{"type":"integer"},"startMin":{"type":"integer"},"duration":{"type":"integer"},"dayOfWeek":{"type":"string"}}},"V4.ParticipantGroup":{"type":"object","required":["participants"],"properties":{"participants":{"type":"array","items":{"$ref":"#/components/schemas/V4.Participant"}}}},"V4.Participant":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string"},"type":{"type":"string"}}},"Common.V4.Error":{"type":"object","required":["error"],"properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}},"required":["field","message"]}}},"required":["code","message"]}}}}},"paths":{"/v4/schedules/{scheduleID}/rotations":{"get":{"operationId":"Rotations_getScheduleRotations","summary":"List Schedule Rotations","parameters":[{"name":"scheduleID","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/V4.RotationResponse"}},{"type":"null"}]}},"required":["data"]}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"409":{"description":"The request conflicts with the current state of the server.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"502":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"503":{"description":"Service unavailable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"504":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}}},"tags":["Rotation"]}}}}
```

## POST /v4/schedules/{scheduleID}/rotations

> Create Rotation

```json
{"openapi":"3.1.0","info":{"title":"Squadcast","version":"1.0.0"},"tags":[{"name":"Rotation"}],"servers":[{"url":"https://api.squadcast.com","description":"production US env","variables":{}},{"url":"https://api.eu.squadcast.com","description":"production EU env","variables":{}}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer"}},"schemas":{"V4.RotationResponse":{"type":"object","allOf":[{"$ref":"#/components/schemas/V4.Rotation"}]},"V4.Rotation":{"type":"object","required":["id","name","scheduleID","color","startDate","period","changeParticipantsFrequency","changeParticipantsUnit","createdAt","updatedAt"],"properties":{"id":{"type":"integer"},"name":{"type":"string"},"scheduleID":{"type":"integer"},"color":{"type":"string"},"startDate":{"type":"string"},"period":{"type":"string"},"customPeriodFrequency":{"type":"integer"},"customPeriodUnit":{"type":"string"},"shiftTimeSlots":{"type":"array","items":{"$ref":"#/components/schemas/V4.ShiftTimeSlot"}},"changeParticipantsFrequency":{"type":"integer"},"changeParticipantsUnit":{"type":"string"},"endDate":{"type":"string"},"endsAfterIterations":{"type":"integer"},"rotationParticipants":{"type":"array","items":{"$ref":"#/components/schemas/V4.ParticipantGroup"}},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}}},"V4.ShiftTimeSlot":{"type":"object","required":["startHour","startMin","duration"],"properties":{"startHour":{"type":"integer"},"startMin":{"type":"integer"},"duration":{"type":"integer"},"dayOfWeek":{"type":"string"}}},"V4.ParticipantGroup":{"type":"object","required":["participants"],"properties":{"participants":{"type":"array","items":{"$ref":"#/components/schemas/V4.Participant"}}}},"V4.Participant":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string"},"type":{"type":"string"}}},"Common.V4.Error":{"type":"object","required":["error"],"properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}},"required":["field","message"]}}},"required":["code","message"]}}},"V4.CreateRotationRequest":{"type":"object","required":["name","startDate","period","changeParticipantsFrequency","changeParticipantsUnit","participantGroups"],"properties":{"name":{"type":"string"},"color":{"type":"string"},"startDate":{"type":"string"},"period":{"type":"string"},"customPeriodFrequency":{"type":"integer"},"customPeriodUnit":{"type":"string"},"shiftTimeSlots":{"type":"array","items":{"$ref":"#/components/schemas/V4.ShiftTimeSlot"}},"changeParticipantsFrequency":{"type":"integer"},"changeParticipantsUnit":{"type":"string"},"endDate":{"type":"string"},"endsAfterIterations":{"type":"integer"},"participantGroups":{"type":"array","items":{"$ref":"#/components/schemas/V4.ParticipantGroup"}}}}}},"paths":{"/v4/schedules/{scheduleID}/rotations":{"post":{"operationId":"Rotations_createRotation","summary":"Create Rotation","parameters":[{"name":"scheduleID","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":"The request has succeeded and a new resource has been created as a result.","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/V4.RotationResponse"}}}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"409":{"description":"The request conflicts with the current state of the server.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"502":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"503":{"description":"Service unavailable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"504":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}}},"tags":["Rotation"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/V4.CreateRotationRequest"}}}}}}}}
```

## GET /v4/schedules/{scheduleID}/rotations/{rotationID}

> Get Schedule Rotation by ID

```json
{"openapi":"3.1.0","info":{"title":"Squadcast","version":"1.0.0"},"tags":[{"name":"Rotation"}],"servers":[{"url":"https://api.squadcast.com","description":"production US env","variables":{}},{"url":"https://api.eu.squadcast.com","description":"production EU env","variables":{}}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer"}},"schemas":{"V4.RotationResponse":{"type":"object","allOf":[{"$ref":"#/components/schemas/V4.Rotation"}]},"V4.Rotation":{"type":"object","required":["id","name","scheduleID","color","startDate","period","changeParticipantsFrequency","changeParticipantsUnit","createdAt","updatedAt"],"properties":{"id":{"type":"integer"},"name":{"type":"string"},"scheduleID":{"type":"integer"},"color":{"type":"string"},"startDate":{"type":"string"},"period":{"type":"string"},"customPeriodFrequency":{"type":"integer"},"customPeriodUnit":{"type":"string"},"shiftTimeSlots":{"type":"array","items":{"$ref":"#/components/schemas/V4.ShiftTimeSlot"}},"changeParticipantsFrequency":{"type":"integer"},"changeParticipantsUnit":{"type":"string"},"endDate":{"type":"string"},"endsAfterIterations":{"type":"integer"},"rotationParticipants":{"type":"array","items":{"$ref":"#/components/schemas/V4.ParticipantGroup"}},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}}},"V4.ShiftTimeSlot":{"type":"object","required":["startHour","startMin","duration"],"properties":{"startHour":{"type":"integer"},"startMin":{"type":"integer"},"duration":{"type":"integer"},"dayOfWeek":{"type":"string"}}},"V4.ParticipantGroup":{"type":"object","required":["participants"],"properties":{"participants":{"type":"array","items":{"$ref":"#/components/schemas/V4.Participant"}}}},"V4.Participant":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string"},"type":{"type":"string"}}},"Common.V4.Error":{"type":"object","required":["error"],"properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}},"required":["field","message"]}}},"required":["code","message"]}}}}},"paths":{"/v4/schedules/{scheduleID}/rotations/{rotationID}":{"get":{"operationId":"Rotations_getScheduleRotationById","summary":"Get Schedule Rotation by ID","parameters":[{"name":"scheduleID","in":"path","required":true,"schema":{"type":"string"}},{"name":"rotationID","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/V4.RotationResponse"}}}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"409":{"description":"The request conflicts with the current state of the server.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"502":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"503":{"description":"Service unavailable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"504":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}}},"tags":["Rotation"]}}}}
```

## PUT /v4/schedules/{scheduleID}/rotations/{rotationID}

> Update Rotation

```json
{"openapi":"3.1.0","info":{"title":"Squadcast","version":"1.0.0"},"tags":[{"name":"Rotation"}],"servers":[{"url":"https://api.squadcast.com","description":"production US env","variables":{}},{"url":"https://api.eu.squadcast.com","description":"production EU env","variables":{}}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer"}},"schemas":{"V4.RotationResponse":{"type":"object","allOf":[{"$ref":"#/components/schemas/V4.Rotation"}]},"V4.Rotation":{"type":"object","required":["id","name","scheduleID","color","startDate","period","changeParticipantsFrequency","changeParticipantsUnit","createdAt","updatedAt"],"properties":{"id":{"type":"integer"},"name":{"type":"string"},"scheduleID":{"type":"integer"},"color":{"type":"string"},"startDate":{"type":"string"},"period":{"type":"string"},"customPeriodFrequency":{"type":"integer"},"customPeriodUnit":{"type":"string"},"shiftTimeSlots":{"type":"array","items":{"$ref":"#/components/schemas/V4.ShiftTimeSlot"}},"changeParticipantsFrequency":{"type":"integer"},"changeParticipantsUnit":{"type":"string"},"endDate":{"type":"string"},"endsAfterIterations":{"type":"integer"},"rotationParticipants":{"type":"array","items":{"$ref":"#/components/schemas/V4.ParticipantGroup"}},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}}},"V4.ShiftTimeSlot":{"type":"object","required":["startHour","startMin","duration"],"properties":{"startHour":{"type":"integer"},"startMin":{"type":"integer"},"duration":{"type":"integer"},"dayOfWeek":{"type":"string"}}},"V4.ParticipantGroup":{"type":"object","required":["participants"],"properties":{"participants":{"type":"array","items":{"$ref":"#/components/schemas/V4.Participant"}}}},"V4.Participant":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string"},"type":{"type":"string"}}},"Common.V4.Error":{"type":"object","required":["error"],"properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}},"required":["field","message"]}}},"required":["code","message"]}}},"V4.UpdateRotationRequest":{"type":"object","required":["name","startDate","period","changeParticipantsFrequency","changeParticipantsUnit"],"properties":{"name":{"type":"string"},"color":{"type":"string"},"startDate":{"type":"string"},"period":{"type":"string"},"customPeriodFrequency":{"type":"integer"},"customPeriodUnit":{"type":"string"},"shiftTimeSlots":{"type":"array","items":{"$ref":"#/components/schemas/V4.ShiftTimeSlot"}},"changeParticipantsFrequency":{"type":"integer"},"changeParticipantsUnit":{"type":"string"},"endDate":{"type":"string"},"endsAfterIterations":{"type":"integer"}}}}},"paths":{"/v4/schedules/{scheduleID}/rotations/{rotationID}":{"put":{"operationId":"Rotations_updateRotation","summary":"Update Rotation","parameters":[{"name":"scheduleID","in":"path","required":true,"schema":{"type":"string"}},{"name":"rotationID","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/V4.RotationResponse"}}}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"409":{"description":"The request conflicts with the current state of the server.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"502":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"503":{"description":"Service unavailable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"504":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}}},"tags":["Rotation"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/V4.UpdateRotationRequest"}}}}}}}}
```

## DELETE /v4/schedules/{scheduleID}/rotations/{rotationID}

> Delete Rotation

```json
{"openapi":"3.1.0","info":{"title":"Squadcast","version":"1.0.0"},"tags":[{"name":"Rotation"}],"servers":[{"url":"https://api.squadcast.com","description":"production US env","variables":{}},{"url":"https://api.eu.squadcast.com","description":"production EU env","variables":{}}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer"}},"schemas":{"Common.V4.Error":{"type":"object","required":["error"],"properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}},"required":["field","message"]}}},"required":["code","message"]}}}}},"paths":{"/v4/schedules/{scheduleID}/rotations/{rotationID}":{"delete":{"operationId":"Rotations_deleteRotation","summary":"Delete Rotation","parameters":[{"name":"scheduleID","in":"path","required":true,"schema":{"type":"string"}},{"name":"rotationID","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"There is no content to send for this request, but the headers may be useful. ","content":{"*/*":{"schema":{"type":"object"}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"409":{"description":"The request conflicts with the current state of the server.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"502":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"503":{"description":"Service unavailable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"504":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}}},"tags":["Rotation"]}}}}
```

## GET /v4/schedules/{scheduleID}/rotations/{rotationID}/participants

> Get Rotation Participants

```json
{"openapi":"3.1.0","info":{"title":"Squadcast","version":"1.0.0"},"tags":[{"name":"Rotation"}],"servers":[{"url":"https://api.squadcast.com","description":"production US env","variables":{}},{"url":"https://api.eu.squadcast.com","description":"production EU env","variables":{}}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer"}},"schemas":{"V4.GetRotationParticipantsResponse":{"type":"object","required":["rotationID","participantGroups"],"properties":{"rotationID":{"type":"integer"},"participantGroups":{"type":"array","items":{"$ref":"#/components/schemas/V4.ParticipantGroup"}}}},"V4.ParticipantGroup":{"type":"object","required":["participants"],"properties":{"participants":{"type":"array","items":{"$ref":"#/components/schemas/V4.Participant"}}}},"V4.Participant":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string"},"type":{"type":"string"}}},"Common.V4.Error":{"type":"object","required":["error"],"properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}},"required":["field","message"]}}},"required":["code","message"]}}}}},"paths":{"/v4/schedules/{scheduleID}/rotations/{rotationID}/participants":{"get":{"operationId":"Rotations_getRotationParticipants","summary":"Get Rotation Participants","parameters":[{"name":"scheduleID","in":"path","required":true,"schema":{"type":"string"}},{"name":"rotationID","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/V4.GetRotationParticipantsResponse"}}}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"409":{"description":"The request conflicts with the current state of the server.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"502":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"503":{"description":"Service unavailable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"504":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}}},"tags":["Rotation"]}}}}
```

## PUT /v4/schedules/{scheduleID}/rotations/{rotationID}/participants

> Update Rotation Participants

```json
{"openapi":"3.1.0","info":{"title":"Squadcast","version":"1.0.0"},"tags":[{"name":"Rotation"}],"servers":[{"url":"https://api.squadcast.com","description":"production US env","variables":{}},{"url":"https://api.eu.squadcast.com","description":"production EU env","variables":{}}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer"}},"schemas":{"V4.RotationParticipantsResponse":{"type":"object","allOf":[{"$ref":"#/components/schemas/V4.RotationParticipants"}]},"V4.RotationParticipants":{"type":"object","required":["rotationID","participantGroups"],"properties":{"rotationID":{"type":"integer"},"participantGroups":{"type":"array","items":{"$ref":"#/components/schemas/V4.ParticipantGroup"}}}},"V4.ParticipantGroup":{"type":"object","required":["participants"],"properties":{"participants":{"type":"array","items":{"$ref":"#/components/schemas/V4.Participant"}}}},"V4.Participant":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string"},"type":{"type":"string"}}},"Common.V4.Error":{"type":"object","required":["error"],"properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}},"required":["field","message"]}}},"required":["code","message"]}}},"V4.UpdateRotationParticipantsRequest":{"type":"object","required":["participantGroups"],"properties":{"participantGroups":{"type":"array","items":{"$ref":"#/components/schemas/V4.ParticipantGroup"}}}}}},"paths":{"/v4/schedules/{scheduleID}/rotations/{rotationID}/participants":{"put":{"operationId":"Rotations_updateRotationParticipants","summary":"Update Rotation Participants","parameters":[{"name":"scheduleID","in":"path","required":true,"schema":{"type":"string"}},{"name":"rotationID","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/V4.RotationParticipantsResponse"}}}}}},"400":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"401":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"402":{"description":"Client error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"403":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"404":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"409":{"description":"The request conflicts with the current state of the server.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"422":{"description":"Client error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"502":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"503":{"description":"Service unavailable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}},"504":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Common.V4.Error"}}}}},"tags":["Rotation"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/V4.UpdateRotationParticipantsRequest"}}}}}}}}
```
