OverrideShifts
List override shifts
List override shifts
GET
/
v1
/
schedules
/
{schedule_id}
/
override_shifts
List override shifts
curl --request GET \
--url https://api.rootly.com/v1/schedules/{schedule_id}/override_shifts \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.rootly.com/v1/schedules/{schedule_id}/override_shifts"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.rootly.com/v1/schedules/{schedule_id}/override_shifts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.rootly.com/v1/schedules/{schedule_id}/override_shifts",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.rootly.com/v1/schedules/{schedule_id}/override_shifts"
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(string(body))
}HttpResponse<String> response = Unirest.get("https://api.rootly.com/v1/schedules/{schedule_id}/override_shifts")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rootly.com/v1/schedules/{schedule_id}/override_shifts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "<string>",
"type": "shifts",
"attributes": {
"schedule_id": "<string>",
"rotation_id": "<string>",
"starts_at": "<string>",
"ends_at": "<string>",
"is_override": true,
"created_at": "<string>",
"updated_at": "<string>",
"shift_override": {
"data": {
"id": "<string>",
"type": "shift_override",
"attributes": {
"shift_id": "<string>",
"created_by_user_id": 123,
"created_at": "<string>",
"updated_at": "<string>"
}
},
"included": [
{
"id": "<string>",
"type": "<string>",
"attributes": {},
"relationships": {}
}
]
},
"user_id": 123,
"user": {
"data": {
"id": "<string>",
"type": "users",
"attributes": {
"email": "<string>",
"created_at": "<string>",
"updated_at": "<string>",
"first_name": "<string>",
"last_name": "<string>",
"full_name": "<string>",
"full_name_with_team": "<string>",
"time_zone": "<string>"
},
"relationships": {
"role": {
"data": {
"id": "<string>",
"type": "roles"
}
},
"on_call_role": {
"data": {
"id": "<string>",
"type": "on_call_roles"
}
}
}
},
"included": [
{
"id": "<string>",
"type": "<string>",
"attributes": {},
"relationships": {}
}
]
}
}
}
],
"links": {
"self": "<string>",
"first": "<string>",
"prev": "<string>",
"next": "<string>",
"last": "<string>"
},
"meta": {
"current_page": 123,
"next_page": 123,
"prev_page": 123,
"total_count": 123,
"total_pages": 123,
"next_cursor": "<string>"
},
"included": [
{
"id": "<string>",
"type": "<string>",
"attributes": {},
"relationships": {}
}
]
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Was this page helpful?
Previous
creates an override shiftCreates a new override shift from provided data. If any existing override shifts overlap with the specified time range, they will be automatically deleted and replaced by the new override. This endpoint is idempotent: re-sending an identical override (same user and same start/end time) returns the existing override with a 200 status and does not recreate it.
Next
⌘I
List override shifts
curl --request GET \
--url https://api.rootly.com/v1/schedules/{schedule_id}/override_shifts \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.rootly.com/v1/schedules/{schedule_id}/override_shifts"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.rootly.com/v1/schedules/{schedule_id}/override_shifts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.rootly.com/v1/schedules/{schedule_id}/override_shifts",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.rootly.com/v1/schedules/{schedule_id}/override_shifts"
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(string(body))
}HttpResponse<String> response = Unirest.get("https://api.rootly.com/v1/schedules/{schedule_id}/override_shifts")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rootly.com/v1/schedules/{schedule_id}/override_shifts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "<string>",
"type": "shifts",
"attributes": {
"schedule_id": "<string>",
"rotation_id": "<string>",
"starts_at": "<string>",
"ends_at": "<string>",
"is_override": true,
"created_at": "<string>",
"updated_at": "<string>",
"shift_override": {
"data": {
"id": "<string>",
"type": "shift_override",
"attributes": {
"shift_id": "<string>",
"created_by_user_id": 123,
"created_at": "<string>",
"updated_at": "<string>"
}
},
"included": [
{
"id": "<string>",
"type": "<string>",
"attributes": {},
"relationships": {}
}
]
},
"user_id": 123,
"user": {
"data": {
"id": "<string>",
"type": "users",
"attributes": {
"email": "<string>",
"created_at": "<string>",
"updated_at": "<string>",
"first_name": "<string>",
"last_name": "<string>",
"full_name": "<string>",
"full_name_with_team": "<string>",
"time_zone": "<string>"
},
"relationships": {
"role": {
"data": {
"id": "<string>",
"type": "roles"
}
},
"on_call_role": {
"data": {
"id": "<string>",
"type": "on_call_roles"
}
}
}
},
"included": [
{
"id": "<string>",
"type": "<string>",
"attributes": {},
"relationships": {}
}
]
}
}
}
],
"links": {
"self": "<string>",
"first": "<string>",
"prev": "<string>",
"next": "<string>",
"last": "<string>"
},
"meta": {
"current_page": 123,
"next_page": 123,
"prev_page": 123,
"total_count": 123,
"total_pages": 123,
"next_cursor": "<string>"
},
"included": [
{
"id": "<string>",
"type": "<string>",
"attributes": {},
"relationships": {}
}
]
}