Get a swap request
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/swap-requests/example"), 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/swap-requests/example"
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/swap-requests/example") .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/swap-requests/example', 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/swap-requests/example';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/swap-requests/example \ --header 'Authorization: Bearer <token>'Requires read:oncall and a key whose workspace and rotation selector permit this rotation. Returns the request, read-only action capabilities and rotation ETag. Closed requests remain readable. An inaccessible request returns 404.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Responses
Section titled “Responses”OK
A swap request, its rotation name and the actions available to this caller.
object
True when the caller may accept, decline or cancel the request.
True while the request is pending or accepted.
The instant the state, phase and capabilities were evaluated.
The actions available to the caller.
object
Whether the caller may accept the request.
Whether the caller may cancel the request.
Whether the caller may decline the request.
The reason the actions are unavailable. Absent when they are available.
The same word as reason, or null when the actions are available.
The earliest later instant at which the state, a phase, active or actionable changes by the clock alone. Null when none will.
The request.
object
The request identifier.
The offered intervals.
An offered duty interval and its accepted assignment identifier, when present. phase is upcoming, running or ended for this leg at the time the response is built.
object
The accepted assignment identifier. Absent until the request is accepted.
The cell identifier.
The inclusive interval start.
The user who holds the interval.
The key of this leg within the request.
upcoming, running or ended for this leg at the instant the response is built.
The rotation identifier.
The exclusive interval end.
upcoming before the earliest leg starts, ended once the latest leg has ended, running between, at the instant the response is built.
The reason given with the request.
The user asked to swap.
The user who made the request.
The revision of the request.
The rotation identifier.
The lifecycle state of the request.
The name of the rotation.
Examplegenerated
{ "actionable": true, "active": true, "asOfUtc": "2026-04-15T12:00:00Z", "capability": { "canAccept": true, "canCancel": true, "canDecline": true, "reason": "example", "reasonCode": "example" }, "changesAtUtc": "2026-04-15T12:00:00Z", "request": { "id": "example", "legs": [ { "arrangementId": "example", "cellId": "example", "from": "2026-04-15T12:00:00Z", "holderUserId": "example", "key": "example", "phase": "example", "rotationId": "example", "to": "2026-04-15T12:00:00Z" } ], "phase": "example", "reason": "example", "recipientUserId": "example", "requesterUserId": "example", "revision": 1, "rotationId": "example", "state": "example" }, "rotationName": "example"}