curl --request POST \
--url https://api.shiftkeeper.io/user/coverage_requests/ \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"start": "2024-12-01T00:00:00Z",
"end": "2024-12-08T00:00:00Z",
"reason": "I will be out of office during this week. Could someone jump in to cover these shifts?",
"schedule_ids": [
"sch_KR5uoK0xD0rWQoKTDqwgu",
"sch_ldYmnBVr5o2ikebwmRRZv"
]
}
'
import requests
url = "https://api.shiftkeeper.io/user/coverage_requests/"
payload = {
"start": "2024-12-01T00:00:00Z",
"end": "2024-12-08T00:00:00Z",
"reason": "I will be out of office during this week. Could someone jump in to cover these shifts?",
"schedule_ids": ["sch_KR5uoK0xD0rWQoKTDqwgu", "sch_ldYmnBVr5o2ikebwmRRZv"]
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)
const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
start: '2024-12-01T00:00:00Z',
end: '2024-12-08T00:00:00Z',
reason: 'I will be out of office during this week. Could someone jump in to cover these shifts?',
schedule_ids: ['sch_KR5uoK0xD0rWQoKTDqwgu', 'sch_ldYmnBVr5o2ikebwmRRZv']
})
};
fetch('https://api.shiftkeeper.io/user/coverage_requests/', 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.shiftkeeper.io/user/coverage_requests/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'start' => '2024-12-01T00:00:00Z',
'end' => '2024-12-08T00:00:00Z',
'reason' => 'I will be out of office during this week. Could someone jump in to cover these shifts?',
'schedule_ids' => [
'sch_KR5uoK0xD0rWQoKTDqwgu',
'sch_ldYmnBVr5o2ikebwmRRZv'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.shiftkeeper.io/user/coverage_requests/"
payload := strings.NewReader("{\n \"start\": \"2024-12-01T00:00:00Z\",\n \"end\": \"2024-12-08T00:00:00Z\",\n \"reason\": \"I will be out of office during this week. Could someone jump in to cover these shifts?\",\n \"schedule_ids\": [\n \"sch_KR5uoK0xD0rWQoKTDqwgu\",\n \"sch_ldYmnBVr5o2ikebwmRRZv\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}
HttpResponse<String> response = Unirest.post("https://api.shiftkeeper.io/user/coverage_requests/")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"start\": \"2024-12-01T00:00:00Z\",\n \"end\": \"2024-12-08T00:00:00Z\",\n \"reason\": \"I will be out of office during this week. Could someone jump in to cover these shifts?\",\n \"schedule_ids\": [\n \"sch_KR5uoK0xD0rWQoKTDqwgu\",\n \"sch_ldYmnBVr5o2ikebwmRRZv\"\n ]\n}")
.asString();
require 'uri'
require 'net/http'
url = URI("https://api.shiftkeeper.io/user/coverage_requests/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"start\": \"2024-12-01T00:00:00Z\",\n \"end\": \"2024-12-08T00:00:00Z\",\n \"reason\": \"I will be out of office during this week. Could someone jump in to cover these shifts?\",\n \"schedule_ids\": [\n \"sch_KR5uoK0xD0rWQoKTDqwgu\",\n \"sch_ldYmnBVr5o2ikebwmRRZv\"\n ]\n}"
response = http.request(request)
puts response.read_body
{
"error": {
"code": "too_many_shifts_in_coverage_request",
"message": "A coverage request can have a maximum of 500 shifts. Please select a shorter period for your coverage request.",
"status": 422,
"docs_url": "https://docs.shiftkeeper.io/api-reference/errors#too-many-shifts-in-coverage-request"
}
}
Coverage
Request coverage
Create a new coverage request for the authenticated user.
POST
/
user
/
coverage_requests
/
Request coverage
curl --request POST \
--url https://api.shiftkeeper.io/user/coverage_requests/ \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"start": "2024-12-01T00:00:00Z",
"end": "2024-12-08T00:00:00Z",
"reason": "I will be out of office during this week. Could someone jump in to cover these shifts?",
"schedule_ids": [
"sch_KR5uoK0xD0rWQoKTDqwgu",
"sch_ldYmnBVr5o2ikebwmRRZv"
]
}
'
import requests
url = "https://api.shiftkeeper.io/user/coverage_requests/"
payload = {
"start": "2024-12-01T00:00:00Z",
"end": "2024-12-08T00:00:00Z",
"reason": "I will be out of office during this week. Could someone jump in to cover these shifts?",
"schedule_ids": ["sch_KR5uoK0xD0rWQoKTDqwgu", "sch_ldYmnBVr5o2ikebwmRRZv"]
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)
const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
start: '2024-12-01T00:00:00Z',
end: '2024-12-08T00:00:00Z',
reason: 'I will be out of office during this week. Could someone jump in to cover these shifts?',
schedule_ids: ['sch_KR5uoK0xD0rWQoKTDqwgu', 'sch_ldYmnBVr5o2ikebwmRRZv']
})
};
fetch('https://api.shiftkeeper.io/user/coverage_requests/', 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.shiftkeeper.io/user/coverage_requests/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'start' => '2024-12-01T00:00:00Z',
'end' => '2024-12-08T00:00:00Z',
'reason' => 'I will be out of office during this week. Could someone jump in to cover these shifts?',
'schedule_ids' => [
'sch_KR5uoK0xD0rWQoKTDqwgu',
'sch_ldYmnBVr5o2ikebwmRRZv'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.shiftkeeper.io/user/coverage_requests/"
payload := strings.NewReader("{\n \"start\": \"2024-12-01T00:00:00Z\",\n \"end\": \"2024-12-08T00:00:00Z\",\n \"reason\": \"I will be out of office during this week. Could someone jump in to cover these shifts?\",\n \"schedule_ids\": [\n \"sch_KR5uoK0xD0rWQoKTDqwgu\",\n \"sch_ldYmnBVr5o2ikebwmRRZv\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}
HttpResponse<String> response = Unirest.post("https://api.shiftkeeper.io/user/coverage_requests/")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"start\": \"2024-12-01T00:00:00Z\",\n \"end\": \"2024-12-08T00:00:00Z\",\n \"reason\": \"I will be out of office during this week. Could someone jump in to cover these shifts?\",\n \"schedule_ids\": [\n \"sch_KR5uoK0xD0rWQoKTDqwgu\",\n \"sch_ldYmnBVr5o2ikebwmRRZv\"\n ]\n}")
.asString();
require 'uri'
require 'net/http'
url = URI("https://api.shiftkeeper.io/user/coverage_requests/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"start\": \"2024-12-01T00:00:00Z\",\n \"end\": \"2024-12-08T00:00:00Z\",\n \"reason\": \"I will be out of office during this week. Could someone jump in to cover these shifts?\",\n \"schedule_ids\": [\n \"sch_KR5uoK0xD0rWQoKTDqwgu\",\n \"sch_ldYmnBVr5o2ikebwmRRZv\"\n ]\n}"
response = http.request(request)
puts response.read_body
{
"error": {
"code": "too_many_shifts_in_coverage_request",
"message": "A coverage request can have a maximum of 500 shifts. Please select a shorter period for your coverage request.",
"status": 422,
"docs_url": "https://docs.shiftkeeper.io/api-reference/errors#too-many-shifts-in-coverage-request"
}
}
You can optionally limit the coverage request to specific schedules. If not provided, the coverage request will include all schedules you are a member of.
{"docsConfig":{"$schema":"https://mintlify.com/docs.json","theme":"mint","name":"Shiftkeeper docs","colors":{"primary":"#4338CA","light":"#899FEB","dark":"#4338CA"},"favicon":"/favicon.svg","logo":{"light":"https://mintcdn.com/shiftkeeper/0UjY-yTrwVupDEok/logo/light.svg?fit=max\u0026auto=format\u0026n=0UjY-yTrwVupDEok\u0026q=85\u0026s=4056d85cb2884e804ac421d7d096ffe1","dark":"https://mintcdn.com/shiftkeeper/0UjY-yTrwVupDEok/logo/dark.svg?fit=max\u0026auto=format\u0026n=0UjY-yTrwVupDEok\u0026q=85\u0026s=512033acf1aa24f832e91b54d48935f6","href":"https://shiftkeeper.io"},"background":{"decoration":null,"color":{"light":"#FDFDFF","dark":"#20202E"}},"navbar":{"links":[{"label":"Contact","href":"mailto:hello@shiftkeeper.io"}],"primary":{"type":"button","label":"Open app","href":"https://app.shiftkeeper.io"}},"footer":{"socials":{"x":"https://x.com/shiftkeeper","linkedin":"https://linkedin.com/company/shiftkeeper","website":"https://shiftkeeper.io"}},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"shiftkeeper","hasAudioNarration":false,"actualSubdomain":"shiftkeeper","customDomains":["docs.shiftkeeper.io"],"gitSource":{"type":"github","owner":"shiftkeeper","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a21a71e3d3709865082f189","collectionId":"898c6e70-34de-4409-8b9b-df99e4112827","schemaVersion":"v2"},"entitlements":{},"buildId":"6a21a71e3d3709865082f189:success","clientVersion":"0.0.4043","searchFilterCounts":[{"language":"default","tag":"API Reference","count":38},{"language":"default","tag":"Schedules","count":17},{"language":"default","tag":"Guides","count":13},{"language":"default","tag":"Using Shiftkeeper","count":11},{"language":"default","tag":"Teams","count":9},{"language":"default","tag":"Coverage","count":6},{"language":"default","tag":"Overrides","count":4},{"language":"default","tag":"Using the API","count":3},{"language":"default","tag":"Workspace","count":3},{"language":"default","tag":"Users","count":3}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/coverage/request-coverage","slug":"/api-reference/coverage/request-coverage","pageMetadata":{"title":"Request coverage","description":"Create a new coverage request for the authenticated user.","deprecated":null,"version":null,"openapi":"https://api.shiftkeeper.io/openapi.json post /user/coverage_requests/","href":"/api-reference/coverage/request-coverage","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Create a new coverage request for the authenticated user.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Request coverage","description":"Create a new coverage request for the authenticated user.","deprecated":null,"version":null,"openapi":"https://api.shiftkeeper.io/openapi.json post /user/coverage_requests/","href":"/api-reference/coverage/request-coverage","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"summary":"Request coverage","tags":["Coverage"],"description":"Create a new coverage request for the authenticated user.","requestBody":"3c7d3d3b-3fe8-43f3-a9c7-5536133217fd","responses":{"200":"c667567b-26e1-4459-ab84-49e798e04ea7","422":"9d382cbd-c391-412e-b867-02605dd2405c"},"method":"post","type":"path","servers":["5d4271df-6d94-4335-93e6-818e683201f6"],"security":["5cf14d6a-45fa-494e-9cc5-3688a7a47457"],"path":"/user/coverage_requests/","baseUrlOptions":["https://api.shiftkeeper.io"],"title":"Request coverage","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"start":{"type":"string","format":"date-time","description":"The start date and time of the interval you need coverage for.","isRequired":true,"uniqueKey":"start","typeLabel":"string\u003cdate-time>"},"end":{"type":"string","format":"date-time","description":"The end date and time of the interval you need coverage for.","isRequired":true,"uniqueKey":"end","typeLabel":"string\u003cdate-time>"},"reason":{"type":"string","minLength":1,"maxLength":300,"description":"The reason you need coverage.","isRequired":true,"uniqueKey":"reason","typeLabel":"string"},"schedule_ids":{"type":"array","items":{"type":"string","uniqueKey":"schedule_ids.items.[INDEX]","typeLabel":"string"},"description":"You can optionally limit the coverage request to specific schedules. If not provided, the coverage request will include all schedules you are a member of.","uniqueKey":"schedule_ids","typeLabel":"string[]"}},"required":["start","end","reason"],"examples":[{"start":"2024-12-01T00:00:00Z","end":"2024-12-08T00:00:00Z","reason":"I will be out of office during this week. Could someone jump in to cover these shifts?","schedule_ids":["sch_KR5uoK0xD0rWQoKTDqwgu","sch_ldYmnBVr5o2ikebwmRRZv"]}],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"start":"2024-12-01T00:00:00Z","end":"2024-12-08T00:00:00Z","reason":"I will be out of office during this week. Could someone jump in to cover these shifts?","schedule_ids":["sch_KR5uoK0xD0rWQoKTDqwgu","sch_ldYmnBVr5o2ikebwmRRZv"]}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"c667567b-26e1-4459-ab84-49e798e04ea7":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"coverage_request":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the coverage request.","isRequired":true,"uniqueKey":"coverage_request.id","typeLabel":"string"},"reason":{"type":"string","description":"The reason for the coverage request.","isRequired":true,"uniqueKey":"coverage_request.reason","typeLabel":"string"},"user":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the user.","isRequired":true,"uniqueKey":"coverage_request.user.id","typeLabel":"string"},"name":{"type":"string","description":"The name of the user.","isRequired":true,"uniqueKey":"coverage_request.user.name","typeLabel":"string"},"email":{"type":"string","format":"email","description":"The email of the user.","isRequired":true,"uniqueKey":"coverage_request.user.email","typeLabel":"string\u003cemail>"},"role":{"type":"string","enum":["owner","standard"],"description":"The role of the user. Learn more about roles in [our docs](/shiftkeeper/workspace/users#roles).","isRequired":true,"uniqueKey":"coverage_request.user.role","typeLabel":"enum\u003cstring>"},"seat":{"type":"string","enum":["viewer","member"],"description":"The seat of the user. Learn more about seat in [our docs](/shiftkeeper/workspace/users#seats).","isRequired":true,"uniqueKey":"coverage_request.user.seat","typeLabel":"enum\u003cstring>"},"time_zone":{"type":"string","description":"The preferred time zone of the user. If not set, the organization's time zone will be used.","uniqueKey":"coverage_request.user.time_zone","typeLabel":"string"},"slack_id":{"type":"string","description":"The Slack ID of the user.","uniqueKey":"coverage_request.user.slack_id","typeLabel":"string"}},"required":["id","name","email","role","seat"],"examples":[{"id":"usr_bq7CmsOKLmkMeZkUUu1hy","name":"Rick","email":"rick@example.org","time_zone":"Europe/Paris","role":"owner","seat":"member","slack_id":"U082KENSEQ3"},{"id":"usr_C0GwCFdk0I4pBMRny4qYV","name":"Dena","email":"dena@example.org","role":"standard","seat":"member","slack_id":"U082GMAFR1T"},{"id":"usr_YlxrjoB1JqUsollScfFYT","name":"Lily","email":"lily@example.org","time_zone":"America/New_York","role":"standard","seat":"viewer","slack_id":"U0529FWNCG2"}],"isRequired":true,"uniqueKey":"coverage_request.user","typeLabel":"object"},"status":{"type":"string","enum":["pending","accepted","canceled","expired"],"isRequired":true,"uniqueKey":"coverage_request.status","typeLabel":"enum\u003cstring>"},"shifts":{"type":"array","items":{"type":"object","properties":{"start":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"coverage_request.shifts.items.[INDEX].start","typeLabel":"string\u003cdate-time>"},"end":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"coverage_request.shifts.items.[INDEX].end","typeLabel":"string\u003cdate-time>"},"schedule_reference":{"type":"object","properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"coverage_request.shifts.items.[INDEX].schedule_reference.id","typeLabel":"string"},"name":{"type":"string","isRequired":true,"uniqueKey":"coverage_request.shifts.items.[INDEX].schedule_reference.name","typeLabel":"string"}},"required":["id","name"],"isRequired":true,"uniqueKey":"coverage_request.shifts.items.[INDEX].schedule_reference","typeLabel":"object"}},"required":["start","end","schedule_reference"],"uniqueKey":"coverage_request.shifts.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"coverage_request.shifts","typeLabel":"object[]"},"accepted_by":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the user.","isRequired":true,"uniqueKey":"coverage_request.accepted_by.id","typeLabel":"string"},"name":{"type":"string","description":"The name of the user.","isRequired":true,"uniqueKey":"coverage_request.accepted_by.name","typeLabel":"string"},"email":{"type":"string","format":"email","description":"The email of the user.","isRequired":true,"uniqueKey":"coverage_request.accepted_by.email","typeLabel":"string\u003cemail>"},"role":{"type":"string","enum":["owner","standard"],"description":"The role of the user. Learn more about roles in [our docs](/shiftkeeper/workspace/users#roles).","isRequired":true,"uniqueKey":"coverage_request.accepted_by.role","typeLabel":"enum\u003cstring>"},"seat":{"type":"string","enum":["viewer","member"],"description":"The seat of the user. Learn more about seat in [our docs](/shiftkeeper/workspace/users#seats).","isRequired":true,"uniqueKey":"coverage_request.accepted_by.seat","typeLabel":"enum\u003cstring>"},"time_zone":{"type":"string","description":"The preferred time zone of the user. If not set, the organization's time zone will be used.","uniqueKey":"coverage_request.accepted_by.time_zone","typeLabel":"string"},"slack_id":{"type":"string","description":"The Slack ID of the user.","uniqueKey":"coverage_request.accepted_by.slack_id","typeLabel":"string"}},"required":["id","name","email","role","seat"],"examples":[{"id":"usr_bq7CmsOKLmkMeZkUUu1hy","name":"Rick","email":"rick@example.org","time_zone":"Europe/Paris","role":"owner","seat":"member","slack_id":"U082KENSEQ3"},{"id":"usr_C0GwCFdk0I4pBMRny4qYV","name":"Dena","email":"dena@example.org","role":"standard","seat":"member","slack_id":"U082GMAFR1T"},{"id":"usr_YlxrjoB1JqUsollScfFYT","name":"Lily","email":"lily@example.org","time_zone":"America/New_York","role":"standard","seat":"viewer","slack_id":"U0529FWNCG2"}],"uniqueKey":"coverage_request.accepted_by","typeLabel":"object"},"accepted_shifts":{"type":"array","items":{"type":"object","properties":{"start":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"coverage_request.accepted_shifts.items.[INDEX].start","typeLabel":"string\u003cdate-time>"},"end":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"coverage_request.accepted_shifts.items.[INDEX].end","typeLabel":"string\u003cdate-time>"},"schedule_reference":{"type":"object","properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"coverage_request.accepted_shifts.items.[INDEX].schedule_reference.id","typeLabel":"string"},"name":{"type":"string","isRequired":true,"uniqueKey":"coverage_request.accepted_shifts.items.[INDEX].schedule_reference.name","typeLabel":"string"}},"required":["id","name"],"isRequired":true,"uniqueKey":"coverage_request.accepted_shifts.items.[INDEX].schedule_reference","typeLabel":"object"}},"required":["start","end","schedule_reference"],"uniqueKey":"coverage_request.accepted_shifts.items.[INDEX]","typeLabel":"object"},"uniqueKey":"coverage_request.accepted_shifts","typeLabel":"object[]"}},"required":["id","reason","user","status","shifts"],"examples":[{"id":"cov_RxQottluZ1oeM47nz4bVl","user":{"id":"usr_bq7CmsOKLmkMeZkUUu1hy","name":"Rick","email":"rick@example.org","time_zone":"Europe/Paris","role":"owner","seat":"member","slack_id":"U082KENSEQ3"},"reason":"I will be out of office during this week. Could someone jump in to cover these shifts?","status":"pending","shifts":[{"start":"2024-12-02T09:00:00Z","end":"2024-12-02T17:00:00Z","schedule_reference":{"id":"sch_KR5uoK0xD0rWQoKTDqwgu","name":"Portal support"}},{"start":"2024-12-03T09:00:00Z","end":"2024-12-03T17:00:00Z","schedule_reference":{"id":"sch_KR5uoK0xD0rWQoKTDqwgu","name":"Portal support"}},{"start":"2024-12-04T09:00:00Z","end":"2024-12-04T17:00:00Z","schedule_reference":{"id":"sch_KR5uoK0xD0rWQoKTDqwgu","name":"Portal support"}},{"start":"2024-12-05T09:00:00Z","end":"2024-12-05T17:00:00Z","schedule_reference":{"id":"sch_KR5uoK0xD0rWQoKTDqwgu","name":"Portal support"}},{"start":"2024-12-06T09:00:00Z","end":"2024-12-06T17:00:00Z","schedule_reference":{"id":"sch_KR5uoK0xD0rWQoKTDqwgu","name":"Portal support"}},{"start":"2024-12-01T00:00:00Z","end":"2024-12-08T00:00:00Z","schedule_reference":{"id":"sch_ldYmnBVr5o2ikebwmRRZv","name":"Citadel"}}]}],"isRequired":true,"uniqueKey":"coverage_request","typeLabel":"object"}},"required":["coverage_request"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"coverage_request":{"id":"cov_RxQottluZ1oeM47nz4bVl","user":{"id":"usr_bq7CmsOKLmkMeZkUUu1hy","name":"Rick","email":"rick@example.org","time_zone":"Europe/Paris","role":"owner","seat":"member","slack_id":"U082KENSEQ3"},"reason":"I will be out of office during this week. Could someone jump in to cover these shifts?","status":"pending","shifts":[{"start":"2024-12-02T09:00:00Z","end":"2024-12-02T17:00:00Z","schedule_reference":{"id":"sch_KR5uoK0xD0rWQoKTDqwgu","name":"Portal support"}},{"start":"2024-12-03T09:00:00Z","end":"2024-12-03T17:00:00Z","schedule_reference":{"id":"sch_KR5uoK0xD0rWQoKTDqwgu","name":"Portal support"}},{"start":"2024-12-04T09:00:00Z","end":"2024-12-04T17:00:00Z","schedule_reference":{"id":"sch_KR5uoK0xD0rWQoKTDqwgu","name":"Portal support"}},{"start":"2024-12-05T09:00:00Z","end":"2024-12-05T17:00:00Z","schedule_reference":{"id":"sch_KR5uoK0xD0rWQoKTDqwgu","name":"Portal support"}},{"start":"2024-12-06T09:00:00Z","end":"2024-12-06T17:00:00Z","schedule_reference":{"id":"sch_KR5uoK0xD0rWQoKTDqwgu","name":"Portal support"}},{"start":"2024-12-01T00:00:00Z","end":"2024-12-08T00:00:00Z","schedule_reference":{"id":"sch_ldYmnBVr5o2ikebwmRRZv","name":"Citadel"}}]}}}},"exampleType":"generated"}},"exampleType":"generated"},"9d382cbd-c391-412e-b867-02605dd2405c":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"status":{"type":"number","enum":[422],"isRequired":true,"uniqueKey":"error.status","typeLabel":"enum\u003cnumber>"},"code":{"type":"string","enum":["too_many_shifts_in_coverage_request"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"docs_url":{"type":"string","uniqueKey":"error.docs_url","typeLabel":"string"}},"required":["message","status","code"],"example":{"code":"unprocessable_entity","status":422,"message":"The request cannot be processed"},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"too_many_shifts_in_coverage_request","message":"A coverage request can have a maximum of 500 shifts. Please select a shorter period for your coverage request.","status":422,"docs_url":"https://docs.shiftkeeper.io/api-reference/errors#too-many-shifts-in-coverage-request"}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"too_many_shifts_in_coverage_request","message":"A coverage request can have a maximum of 500 shifts. Please select a shorter period for your coverage request.","status":422,"docs_url":"https://docs.shiftkeeper.io/api-reference/errors#too-many-shifts-in-coverage-request"}}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"5cf14d6a-45fa-494e-9cc5-3688a7a47457":{"apiKey":{"type":"apiKey","in":"header","name":"x-api-key","description":"Enter your API key which starts with 'keeper_'","scopes":[]}}},"servers":{"5d4271df-6d94-4335-93e6-818e683201f6":{"url":"https://api.shiftkeeper.io"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"x-api-key","description":"Enter your API key which starts with 'keeper_'","scopes":[]},"schema":{"title":"x-api-key","type":"string","description":"Enter your API key which starts with 'keeper_'","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"apiKey","name":"x-api-key"}],"title":"apiKey"}]},"originalFileLocation":"https://api.shiftkeeper.io/openapi.json"},"subdomain":"shiftkeeper","siteName":"Shiftkeeper docs","title":"Request coverage - Shiftkeeper docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2025-11-30T22:06:22.584Z","originalFileLocation":"api-reference/coverage/request-coverage.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Create a new coverage request for the authenticated user.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Shiftkeeper docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/shiftkeeper/vHUPlLWMitlofGOK/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/shiftkeeper/vHUPlLWMitlofGOK/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/shiftkeeper/vHUPlLWMitlofGOK/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/shiftkeeper/vHUPlLWMitlofGOK/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/shiftkeeper/vHUPlLWMitlofGOK/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/shiftkeeper/vHUPlLWMitlofGOK/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/shiftkeeper/vHUPlLWMitlofGOK/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/shiftkeeper/vHUPlLWMitlofGOK/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/shiftkeeper/vHUPlLWMitlofGOK/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Request coverage - Shiftkeeper docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Create a new coverage request for the authenticated user.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Shiftkeeper docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.shiftkeeper.io/api-reference/coverage/request-coverage\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://shiftkeeper.mintlify.app/_mintlify/api/og/v2?division=Coverage\u0026amp;title=Request+coverage\u0026amp;description=Create+a+new+coverage+request+for+the+authenticated+user.\u0026amp;theme=b9522b741d445c95c52edea2\u0026amp;signature=c3d6ce7ff7a9b8d8a77dd1f186b35d5ea2ef3ac8dcaee08cf6e77df8f8bfc144\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Request coverage - Shiftkeeper docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Create a new coverage request for the authenticated user.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://shiftkeeper.mintlify.app/_mintlify/api/og/v2?division=Coverage\u0026amp;title=Request+coverage\u0026amp;description=Create+a+new+coverage+request+for+the+authenticated+user.\u0026amp;theme=b9522b741d445c95c52edea2\u0026amp;signature=c3d6ce7ff7a9b8d8a77dd1f186b35d5ea2ef3ac8dcaee08cf6e77df8f8bfc144\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/shiftkeeper/vHUPlLWMitlofGOK/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Shiftkeeper docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#4338CA\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.shiftkeeper.io/api-reference/coverage/request-coverage\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/coverage/request-coverage.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.shiftkeeper.io/#organization\",\"name\":\"Shiftkeeper docs\",\"url\":\"https://docs.shiftkeeper.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/shiftkeeper/0UjY-yTrwVupDEok/logo/light.svg?fit=max\u0026auto=format\u0026n=0UjY-yTrwVupDEok\u0026q=85\u0026s=4056d85cb2884e804ac421d7d096ffe1\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.shiftkeeper.io#website\",\"name\":\"Shiftkeeper docs\",\"url\":\"https://docs.shiftkeeper.io\",\"publisher\":{\"@id\":\"https://docs.shiftkeeper.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.shiftkeeper.io/api-reference/coverage/request-coverage#webpage\",\"url\":\"https://docs.shiftkeeper.io/api-reference/coverage/request-coverage\",\"name\":\"Request coverage\",\"description\":\"Create a new coverage request for the authenticated user.\",\"dateModified\":\"2025-11-30T22:06:22.584Z\",\"isPartOf\":{\"@id\":\"https://docs.shiftkeeper.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.shiftkeeper.io/api-reference/coverage/request-coverage#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.shiftkeeper.io/api-reference/coverage/request-coverage#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Coverage\",\"item\":\"https://docs.shiftkeeper.io/api-reference/coverage/list-coverage-requests\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Request coverage\",\"item\":\"https://docs.shiftkeeper.io/api-reference/coverage/request-coverage\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.shiftkeeper.io/api-reference/coverage/request-coverage#apireference\",\"headline\":\"Request coverage\",\"name\":\"Request coverage\",\"description\":\"Create a new coverage request for the authenticated user.\",\"url\":\"https://docs.shiftkeeper.io/api-reference/coverage/request-coverage\",\"mainEntityOfPage\":{\"@id\":\"https://docs.shiftkeeper.io/api-reference/coverage/request-coverage#webpage\"},\"dateModified\":\"2025-11-30T22:06:22.584Z\",\"publisher\":{\"@id\":\"https://docs.shiftkeeper.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.shiftkeeper.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Shiftkeeper docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Shiftkeeper docs","nav":{"global":null,"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":"/getting-started/introduction"}]},{"tab":"API Reference","groups":[{"group":"Using the API","pages":[{"title":"Getting started","href":"/api-reference/getting-started"},{"title":"Versions","href":"/api-reference/versions"},{"title":"Errors","href":"/api-reference/errors"}]},{"group":"Schedules","pages":[{"title":"List schedules","deprecated":null,"version":null,"openapi":"https://api.shiftkeeper.io/openapi.json get /schedules/","href":"/api-reference/schedules/list-schedules"},{"title":"Create a schedule","deprecated":null,"version":null,"openapi":"https://api.shiftkeeper.io/openapi.json post /schedules/","href":"/api-reference/schedules/create-a-schedule"},{"title":"Get a schedule","deprecated":null,"version":null,"openapi":"https://api.shiftkeeper.io/openapi.json get /schedules/{schedule_id}","href":"/api-reference/schedules/get-a-schedule"},{"title":"Delete a schedule","deprecated":null,"version":null,"openapi":"https://api.shiftkeeper.io/openapi.json delete /schedules/{schedule_id}","href":"/api-reference/schedules/delete-a-schedule"},{"title":"Update a schedule","deprecated":null,"version":null,"openapi":"https://api.shiftkeeper.io/openapi.json patch /schedules/{schedule_id}","href":"/api-reference/schedules/update-a-schedule"},{"title":"List schedule shifts","deprecated":null,"version":null,"openapi":"https://api.shiftkeeper.io/openapi.json get /schedules/{schedule_id}/shifts/","href":"/api-reference/schedules/list-schedule-shifts"},{"title":"Get the Slack user group for a schedule","deprecated":null,"version":null,"openapi":"https://api.shiftkeeper.io/openapi.json get /schedules/{schedule_id}/slack_user_group/","href":"/api-reference/schedules/get-the-slack-user-group-for-a-schedule"},{"title":"Attach or update the Slack user group for a schedule","deprecated":null,"version":null,"openapi":"https://api.shiftkeeper.io/openapi.json put /schedules/{schedule_id}/slack_user_group/","href":"/api-reference/schedules/attach-or-update-the-slack-user-group-for-a-schedule"},{"title":"Detach the Slack user group from a schedule","deprecated":null,"version":null,"openapi":"https://api.shiftkeeper.io/openapi.json delete /schedules/{schedule_id}/slack_user_group/","href":"/api-reference/schedules/detach-the-slack-user-group-from-a-schedule"},{"title":"List linked schedule Slack channels","deprecated":null,"version":null,"openapi":"https://api.shiftkeeper.io/openapi.json get /schedules/{schedule_id}/slack_channels/","href":"/api-reference/schedules/list-linked-schedule-slack-channels"},{"title":"Link a Slack channel to a schedule","deprecated":null,"version":null,"openapi":"https://api.shiftkeeper.io/openapi.json put /schedules/{schedule_id}/slack_channels/{channel_id}","href":"/api-reference/schedules/link-a-slack-channel-to-a-schedule"},{"title":"Unlink a Slack channel from a schedule","deprecated":null,"version":null,"openapi":"https://api.shiftkeeper.io/openapi.json delete /schedules/{schedule_id}/slack_channels/{channel_id}","href":"/api-reference/schedules/unlink-a-slack-channel-from-a-schedule"}]},{"group":"Overrides","pages":[{"title":"List schedule overrides","deprecated":null,"version":null,"openapi":"https://api.shiftkeeper.io/openapi.json get /schedules/{schedule_id}/overrides/","href":"/api-reference/overrides/list-schedule-overrides"},{"title":"Override a schedule shift","deprecated":null,"version":null,"openapi":"https://api.shiftkeeper.io/openapi.json post /schedules/{schedule_id}/overrides/","href":"/api-reference/overrides/override-a-schedule-shift"},{"title":"Get a schedule override","deprecated":null,"version":null,"openapi":"https://api.shiftkeeper.io/openapi.json get /schedules/{schedule_id}/overrides/{override_id}","href":"/api-reference/overrides/get-a-schedule-override"},{"title":"Delete a schedule override","deprecated":null,"version":null,"openapi":"https://api.shiftkeeper.io/openapi.json delete /schedules/{schedule_id}/overrides/{override_id}","href":"/api-reference/overrides/delete-a-schedule-override"}]},{"group":"Coverage","pages":[{"title":"List coverage requests","deprecated":null,"version":null,"openapi":"https://api.shiftkeeper.io/openapi.json get /coverage_requests/","href":"/api-reference/coverage/list-coverage-requests"},{"title":"Get a coverage request","deprecated":null,"version":null,"openapi":"https://api.shiftkeeper.io/openapi.json get /coverage_requests/{coverage_request_id}","href":"/api-reference/coverage/get-a-coverage-request"},{"title":"Accept or decline a coverage request","deprecated":null,"version":null,"openapi":"https://api.shiftkeeper.io/openapi.json post /coverage_requests/events/","href":"/api-reference/coverage/accept-or-decline-a-coverage-request"},{"title":"List coverage requests for the authenticated user","description":"List all coverage requests for the authenticated user.","deprecated":null,"version":null,"openapi":"https://api.shiftkeeper.io/openapi.json get /user/coverage_requests/","href":"/api-reference/coverage/list-coverage-requests-for-the-authenticated-user"},{"title":"Request coverage","deprecated":null,"version":null,"openapi":"https://api.shiftkeeper.io/openapi.json post /user/coverage_requests/","href":"/api-reference/coverage/request-coverage"},{"title":"Cancel a coverage request","description":"Cancel a coverage request for the authenticated user. The coverage request must be in `pending` state.","deprecated":null,"version":null,"openapi":"https://api.shiftkeeper.io/openapi.json delete /user/coverage_requests/{coverage_request_id}","href":"/api-reference/coverage/cancel-a-coverage-request"}]},{"group":"Shifts","pages":[{"title":"List on-call shifts for the authenticated user","deprecated":null,"version":null,"openapi":"https://api.shiftkeeper.io/openapi.json get /user/shifts/","href":"/api-reference/shifts/list-on-call-shifts-for-the-authenticated-user"}]},{"group":"Users","pages":[{"title":"Get the authenticated user","deprecated":null,"version":null,"openapi":"https://api.shiftkeeper.io/openapi.json get /user/","href":"/api-reference/users/get-the-authenticated-user"},{"title":"List users","deprecated":null,"version":null,"openapi":"https://api.shiftkeeper.io/openapi.json get /users/","href":"/api-reference/users/list-users"},{"title":"Get a user","deprecated":null,"version":null,"openapi":"https://api.shiftkeeper.io/openapi.json get /users/{user_id}","href":"/api-reference/users/get-a-user"}]},{"group":"Teams","pages":[{"title":"List teams","deprecated":null,"version":null,"openapi":"https://api.shiftkeeper.io/openapi.json get /teams/","href":"/api-reference/teams/list-teams"},{"title":"Create a team","deprecated":null,"version":null,"openapi":"https://api.shiftkeeper.io/openapi.json post /teams/","href":"/api-reference/teams/create-a-team"},{"title":"Get a team","deprecated":null,"version":null,"openapi":"https://api.shiftkeeper.io/openapi.json get /teams/{team_id}","href":"/api-reference/teams/get-a-team"},{"title":"Delete a team","deprecated":null,"version":null,"openapi":"https://api.shiftkeeper.io/openapi.json delete /teams/{team_id}","href":"/api-reference/teams/delete-a-team"},{"title":"Update a team","deprecated":null,"version":null,"openapi":"https://api.shiftkeeper.io/openapi.json patch /teams/{team_id}","href":"/api-reference/teams/update-a-team"},{"title":"List team members","deprecated":null,"version":null,"openapi":"https://api.shiftkeeper.io/openapi.json get /teams/{team_id}/members/","href":"/api-reference/teams/list-team-members"},{"title":"Get team member","deprecated":null,"version":null,"openapi":"https://api.shiftkeeper.io/openapi.json get /teams/{team_id}/members/{user_id}","href":"/api-reference/teams/get-team-member"},{"title":"Add team member","deprecated":null,"version":null,"openapi":"https://api.shiftkeeper.io/openapi.json put /teams/{team_id}/members/{user_id}","href":"/api-reference/teams/add-team-member"},{"title":"Remove team member","deprecated":null,"version":null,"openapi":"https://api.shiftkeeper.io/openapi.json delete /teams/{team_id}/members/{user_id}","href":"/api-reference/teams/remove-team-member"}]}]}]},"basePath":"","title":"Request coverage - Shiftkeeper docs","buildId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","deploymentId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-B7XKH4J3.js","utils-lOYzL7z-.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DF6jUUIM.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Dpsj5f7C.js","snippetPresets-CYeiDe8v.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CUFz1YZ_.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-D8H_iLS4.js","shallow-DdluZBHX.js","getApiPlaygroundDisplay-B9922vev.js","CodeSnippet-CMoRNGYs.js","CodeSnippets-DwyrPHuw.js","Page-DSVu9Ucl.js","getPastedJson-G-zIvlHh.js","icon-B03fnEy0.js","MethodPill-CW7teklc.js","DuplicateIcon-CtO8eekd.js","createIcon-DZTKdM_A.js","DynamicMarkdown-D5M2At0B.js","SectionHeading-C_2NaA2U.js","axios-vUo_bRtp.js","Markdown-D7QRHV3m.js","clsx-D1Z-ELXV.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-lvhuD9Du.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-CKfC4ywL.js"]}