List cover requests
using System.Net.Http.Headers;var client = new HttpClient();var request = new HttpRequestMessage{ Method = HttpMethod.Get, RequestUri = new Uri("https://api.roundrobinbot.eu/v1/rotations/example/cover-requests?from=2026-04-15T12%3A00%3A00Z&to=2026-04-15T12%3A00%3A00Z"), Headers = { { "Authorization", "Bearer <token>" }, },};using (var response = await client.SendAsync(request)){ response.EnsureSuccessStatusCode(); var body = await response.Content.ReadAsStringAsync(); Console.WriteLine(body);}package main
import ( "fmt" "net/http" "io")
func main() {
url := "https://api.roundrobinbot.eu/v1/rotations/example/cover-requests?from=2026-04-15T12%3A00%3A00Z&to=2026-04-15T12%3A00%3A00Z"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close() body, _ := io.ReadAll(res.Body)
fmt.Println(res) fmt.Println(string(body))
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder() .url("https://api.roundrobinbot.eu/v1/rotations/example/cover-requests?from=2026-04-15T12%3A00%3A00Z&to=2026-04-15T12%3A00%3A00Z") .get() .addHeader("Authorization", "Bearer <token>") .build();
Response response = client.newCall(request).execute();import axios from 'axios';
const options = { method: 'GET', url: 'https://api.roundrobinbot.eu/v1/rotations/example/cover-requests', params: {from: '2026-04-15T12:00:00Z', to: '2026-04-15T12:00:00Z'}, headers: {Authorization: 'Bearer <token>'}};
try { const { data } = await axios.request(options); console.log(data);} catch (error) { console.error(error);}const url = 'https://api.roundrobinbot.eu/v1/rotations/example/cover-requests?from=2026-04-15T12%3A00%3A00Z&to=2026-04-15T12%3A00%3A00Z';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://api.roundrobinbot.eu/v1/rotations/example/cover-requests?from=2026-04-15T12%3A00%3A00Z&to=2026-04-15T12%3A00%3A00Z' \ --header 'Authorization: Bearer <token>'Requires read:oncall and a key whose workspace and rotation selector permit this rotation. Returns requests overlapping the half-open UTC range [from, to), action capabilities and the rotation ETag. API keys have no participant identity, so all participant action capabilities are false. Returns at most 100 matching requests. Pass nextCursor as cursor with the same range for the next page. The final page has complete true and no nextCursor. An invalid cursor or a changed range returns 422 with invalidCoverCursor; restart without the cursor. Participant actions use these routes with a Slack member access token. API keys cannot perform them.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Query Parameters
Section titled “Query Parameters”Responses
Section titled “Responses”OK
Bounded overlapping requests and cell capabilities. False Complete means requests may be omitted.
object
A permitted cover request, its rotation name and caller-specific capabilities.
object
Requested interval, selected audience and current cover lifecycle state.
object
Actions currently permitted for this caller. Mutations recheck these permissions.
object
Whether the caller may request cover for this cell and queried interval, with eligible recipients.
object
Examplegenerated
{ "items": [ { "request": { "id": "example", "rotationId": "example", "cellId": "example", "requesterUserId": "example", "recipientUserIds": [ "example" ], "declinedUserIds": [ "example" ], "from": "2026-04-15T12:00:00Z", "to": "2026-04-15T12:00:00Z", "reason": "example", "revision": 1, "state": "example", "acceptedUserId": "example", "arrangementId": "example" }, "capability": { "canAccept": true, "canDecline": true, "canCancel": true, "canEnd": true, "reason": "example" }, "rotationName": "example" } ], "capabilities": [ { "cellId": "example", "canRequest": true, "reason": "example", "eligibleUserIds": [ "example" ] } ], "from": "2026-04-15T12:00:00Z", "to": "2026-04-15T12:00:00Z", "complete": true, "nextCursor": "example"}