curl --request GET \
--url https://{organization}.rescueconsole.com/api/shifts/windows/{id} \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{organization}.rescueconsole.com/api/shifts/windows/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://{organization}.rescueconsole.com/api/shifts/windows/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"id": "<string>",
"starts_at": "2023-11-07T05:31:56Z",
"ends_at": "2023-11-07T05:31:56Z",
"status": "open",
"roles": [
{
"id": "<string>",
"window_id": "<string>",
"role_id": "<string>",
"capacity": 2,
"booking_mode": "whole",
"bookings": [
{
"id": "<string>",
"window_role_id": "<string>",
"person_id": "<string>",
"starts_at": "2023-11-07T05:31:56Z",
"ends_at": "2023-11-07T05:31:56Z",
"status": "booked",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"tenant_id": "<string>",
"hours_logged": 1,
"signed_off_by": "<string>",
"signed_off_at": "2023-11-07T05:31:56Z",
"notes": "<string>",
"cancellation_requested_at": "2023-11-07T05:31:56Z",
"cancellation_reason": "<string>",
"cancellation_decision": "released",
"cancellation_decided_by": "<string>",
"cancellation_decided_at": "2023-11-07T05:31:56Z",
"cancellation_decision_notes": "<string>",
"custom_fields": "<string>"
}
],
"tenant_id": "<string>",
"role_key": "<string>",
"role_label": "<string>",
"min_minutes": 123,
"max_minutes": 123,
"max_party_size": 123,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"for_me": {
"eligible": true,
"message": "<string>",
"free": [
{
"starts_at": "2023-11-07T05:31:56Z",
"ends_at": "2023-11-07T05:31:56Z"
}
]
}
}
],
"tenant_id": "<string>",
"event_id": "<string>",
"location_unit_id": "<string>",
"notes": "<string>",
"custom_fields": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"deleted_at": "<string>"
}{
"error": "house_trained must be 1, 0 or null (not assessed)"
}{
"error": "house_trained must be 1, 0 or null (not assessed)"
}{
"error": "house_trained must be 1, 0 or null (not assessed)"
}Get one shift
One shift, with its roles and the sign-ups on each that still hold time. Needs read on Shifts.
Yours, or a coordinator’s: without read on People, the sign-ups on each shift come back whole only for the person who made the key; everybody else’s is reduced to id, person_id, window_role_id, starts_at, ends_at, status and is_peer: true. No hours, outcome, sign-off or notes.
curl --request GET \
--url https://{organization}.rescueconsole.com/api/shifts/windows/{id} \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{organization}.rescueconsole.com/api/shifts/windows/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://{organization}.rescueconsole.com/api/shifts/windows/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"id": "<string>",
"starts_at": "2023-11-07T05:31:56Z",
"ends_at": "2023-11-07T05:31:56Z",
"status": "open",
"roles": [
{
"id": "<string>",
"window_id": "<string>",
"role_id": "<string>",
"capacity": 2,
"booking_mode": "whole",
"bookings": [
{
"id": "<string>",
"window_role_id": "<string>",
"person_id": "<string>",
"starts_at": "2023-11-07T05:31:56Z",
"ends_at": "2023-11-07T05:31:56Z",
"status": "booked",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"tenant_id": "<string>",
"hours_logged": 1,
"signed_off_by": "<string>",
"signed_off_at": "2023-11-07T05:31:56Z",
"notes": "<string>",
"cancellation_requested_at": "2023-11-07T05:31:56Z",
"cancellation_reason": "<string>",
"cancellation_decision": "released",
"cancellation_decided_by": "<string>",
"cancellation_decided_at": "2023-11-07T05:31:56Z",
"cancellation_decision_notes": "<string>",
"custom_fields": "<string>"
}
],
"tenant_id": "<string>",
"role_key": "<string>",
"role_label": "<string>",
"min_minutes": 123,
"max_minutes": 123,
"max_party_size": 123,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"for_me": {
"eligible": true,
"message": "<string>",
"free": [
{
"starts_at": "2023-11-07T05:31:56Z",
"ends_at": "2023-11-07T05:31:56Z"
}
]
}
}
],
"tenant_id": "<string>",
"event_id": "<string>",
"location_unit_id": "<string>",
"notes": "<string>",
"custom_fields": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"deleted_at": "<string>"
}{
"error": "house_trained must be 1, 0 or null (not assessed)"
}{
"error": "house_trained must be 1, 0 or null (not assessed)"
}{
"error": "house_trained must be 1, 0 or null (not assessed)"
}Authorizations
An API key from Settings, API keys. It starts with rc_live_.
Path Parameters
The shift's ID.
Query Parameters
Adds for_me to each role: whether this person may take it, why not, and which stretches are still free. A person's record ID, or me for the person who created the key.
Response
The shift.
open takes sign-ups. closed and cancelled do not.
open, closed, cancelled Show child attributes
Show child attributes
Your organization's ID.
The schedule it belongs to, if any.
Where it happens: one of your locations.
Your own shift fields, as JSON text.
Always null: a deleted shift is not returned.