curl --request DELETE \
--url https://{organization}.rescueconsole.com/api/shifts/bookings/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"reason": "Family visiting that weekend."
}
'const options = {
method: 'DELETE',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({reason: 'Family visiting that weekend.'})
};
fetch('https://{organization}.rescueconsole.com/api/shifts/bookings/{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/bookings/{id}"
payload = { "reason": "Family visiting that weekend." }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.delete(url, json=payload, headers=headers)
print(response.text){
"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>",
"message": "<string>",
"already_requested": true
}{
"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)"
}Give up a sign-up
Gives up a sign-up and frees its time. Inside the notice period of your cancellation policy it is not given up: it moves to cancellation_requested and waits for a coordinator, and message says so. Asking again while a request waits changes nothing and answers with already_requested. A request is recorded as made by the person who created the key. Needs write on Shifts.
Yours, or a coordinator’s: without read on People, a key may give up only a sign-up of the person who made the key; anybody else’s answers 404, as if it were not there.
curl --request DELETE \
--url https://{organization}.rescueconsole.com/api/shifts/bookings/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"reason": "Family visiting that weekend."
}
'const options = {
method: 'DELETE',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({reason: 'Family visiting that weekend.'})
};
fetch('https://{organization}.rescueconsole.com/api/shifts/bookings/{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/bookings/{id}"
payload = { "reason": "Family visiting that weekend." }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.delete(url, json=payload, headers=headers)
print(response.text){
"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>",
"message": "<string>",
"already_requested": true
}{
"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 sign-up's ID.
Body
Why, if they said.
Response
The sign-up, as it now is.
The role on the shift this sign-up is for.
Who signed up.
The stretch of the shift they took.
booked: signed up. cancellation_requested: asked to be let off inside the notice period, waiting for a coordinator. cancelled: given up. attended and no_show: what happened on the day.
booked, cancellation_requested, cancelled, attended, no_show Your organization's ID.
The hours worked, once recorded.
x >= 0Who signed off the hours: a person's record ID.
When the hours were signed off. Null until they are.
When they asked to be let off inside the notice period.
The reason they gave for giving it up, if any.
A coordinator's answer to the latest request: released (let off) or kept (still expected).
released, kept, null Who answered: a person's record ID.
What the coordinator wrote with the answer.
Your own sign-up fields, as JSON text.
When the sign-up went to a coordinator instead of being given up, what to tell the volunteer. Null otherwise.
Present, and true, when a request was already waiting. Nothing changed.