curl --request PUT \
--url https://api.decodahealth.com/check-in/calendar/update-status/{event_id} \
--header 'API-KEY: <api-key>' \
--header 'Content-Type: application/json' \
--header 'TENANT: <tenant>' \
--data '
{
"cancellationReason": "<string>",
"sendSms": true,
"cancellationMessage": "<string>",
"chargeCancellationFee": true,
"chargeNoShowFee": true
}
'import requests
url = "https://api.decodahealth.com/check-in/calendar/update-status/{event_id}"
payload = {
"cancellationReason": "<string>",
"sendSms": True,
"cancellationMessage": "<string>",
"chargeCancellationFee": True,
"chargeNoShowFee": True
}
headers = {
"TENANT": "<tenant>",
"API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {TENANT: '<tenant>', 'API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
cancellationReason: '<string>',
sendSms: true,
cancellationMessage: '<string>',
chargeCancellationFee: true,
chargeNoShowFee: true
})
};
fetch('https://api.decodahealth.com/check-in/calendar/update-status/{event_id}', 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.decodahealth.com/check-in/calendar/update-status/{event_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'cancellationReason' => '<string>',
'sendSms' => true,
'cancellationMessage' => '<string>',
'chargeCancellationFee' => true,
'chargeNoShowFee' => true
]),
CURLOPT_HTTPHEADER => [
"API-KEY: <api-key>",
"Content-Type: application/json",
"TENANT: <tenant>"
],
]);
$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.decodahealth.com/check-in/calendar/update-status/{event_id}"
payload := strings.NewReader("{\n \"cancellationReason\": \"<string>\",\n \"sendSms\": true,\n \"cancellationMessage\": \"<string>\",\n \"chargeCancellationFee\": true,\n \"chargeNoShowFee\": true\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("TENANT", "<tenant>")
req.Header.Add("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.put("https://api.decodahealth.com/check-in/calendar/update-status/{event_id}")
.header("TENANT", "<tenant>")
.header("API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"cancellationReason\": \"<string>\",\n \"sendSms\": true,\n \"cancellationMessage\": \"<string>\",\n \"chargeCancellationFee\": true,\n \"chargeNoShowFee\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.decodahealth.com/check-in/calendar/update-status/{event_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["TENANT"] = '<tenant>'
request["API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"cancellationReason\": \"<string>\",\n \"sendSms\": true,\n \"cancellationMessage\": \"<string>\",\n \"chargeCancellationFee\": true,\n \"chargeNoShowFee\": true\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"start": "2023-11-07T05:31:56Z",
"end": "2023-11-07T05:31:56Z",
"organizer": {
"id": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"phoneNumber": "<string>",
"email": "<string>",
"locationId": "<string>"
},
"event": {
"id": "<string>",
"start": "2023-11-07T05:31:56Z",
"end": "2023-11-07T05:31:56Z",
"organizer": {
"id": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"phoneNumber": "<string>",
"email": "<string>",
"locationId": "<string>"
},
"title": "<string>",
"isAllDay": false,
"location": {
"id": "<string>",
"isVirtual": true,
"name": "<string>",
"addressLineOne": "<string>",
"addressLineTwo": "<string>",
"city": "<string>",
"state": "<string>",
"zipCode": "<string>",
"country": "<string>",
"timezone": "<string>",
"createdDate": "2023-11-07T05:31:56Z",
"spakinectLocationId": "<string>",
"dosespotClinicId": "<string>",
"dosespotClinicKey": "<string>",
"externalId": "<string>",
"taxIdentificationNumber": "<string>"
},
"roomId": "<string>",
"attendees": [],
"recurringEventId": "<string>",
"recurringEvent": {
"id": "<string>",
"rrule": "<string>",
"startDate": "2023-11-07T05:31:56Z",
"durationMinutes": 123,
"timezone": "<string>",
"organizerId": "<string>",
"segments": [
{
"serviceId": "<string>",
"bookableId": "<string>",
"bookableGroupId": "<string>",
"providerId": "<string>",
"title": "<string>",
"color": "<string>",
"durationMinutes": 123,
"bufferMinutes": 123,
"offsetMinutes": 123
}
],
"serviceIds": [
"<string>"
],
"bookableIds": [
"<string>"
],
"capacity": 123,
"description": "<string>",
"patientRequestedProvider": true,
"isBusinessBlock": true,
"title": "<string>",
"attendeeIds": [
"<string>"
],
"locationId": "<string>",
"externalId": "<string>"
},
"segments": [],
"icons": [],
"capacity": 123,
"quickNotes": [
{
"id": "<string>",
"patientId": "<string>",
"note": "<string>",
"creator": {
"id": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"phoneNumber": "<string>",
"email": "<string>",
"locationId": "<string>"
},
"createdDate": "2023-11-07T05:31:56Z",
"eventId": "<string>",
"externalId": "<string>",
"updatedDate": "2023-11-07T05:31:56Z",
"isArchived": false,
"isPinned": false
}
],
"carePlan": {
"carePlanId": "<string>",
"stepNumber": 123,
"carePlanName": "<string>",
"status": "<string>"
},
"createdDate": "2023-11-07T05:31:56Z",
"updatedDate": "2023-11-07T05:31:56Z",
"meetingLink": "<string>",
"description": "<string>",
"gcalBusy": true,
"patientRequestedProvider": false,
"isBusinessBlock": false,
"locationId": "<string>",
"formCompleted": true,
"reminders": [],
"attribution": {
"staffId": "<string>",
"sourceId": "<string>",
"attributedAt": "2023-11-07T05:31:56Z"
}
},
"title": "<string>",
"isAllDay": false,
"location": {
"id": "<string>",
"isVirtual": true,
"name": "<string>",
"addressLineOne": "<string>",
"addressLineTwo": "<string>",
"city": "<string>",
"state": "<string>",
"zipCode": "<string>",
"country": "<string>",
"timezone": "<string>",
"createdDate": "2023-11-07T05:31:56Z",
"spakinectLocationId": "<string>",
"dosespotClinicId": "<string>",
"dosespotClinicKey": "<string>",
"externalId": "<string>",
"taxIdentificationNumber": "<string>"
},
"roomId": "<string>",
"attendees": [],
"recurringEventId": "<string>",
"recurringEvent": {
"id": "<string>",
"rrule": "<string>",
"startDate": "2023-11-07T05:31:56Z",
"durationMinutes": 123,
"timezone": "<string>",
"organizerId": "<string>",
"segments": [
{
"serviceId": "<string>",
"bookableId": "<string>",
"bookableGroupId": "<string>",
"providerId": "<string>",
"title": "<string>",
"color": "<string>",
"durationMinutes": 123,
"bufferMinutes": 123,
"offsetMinutes": 123
}
],
"serviceIds": [
"<string>"
],
"bookableIds": [
"<string>"
],
"capacity": 123,
"description": "<string>",
"patientRequestedProvider": true,
"isBusinessBlock": true,
"title": "<string>",
"attendeeIds": [
"<string>"
],
"locationId": "<string>",
"externalId": "<string>"
},
"segments": [],
"icons": [],
"capacity": 123,
"quickNotes": [
{
"id": "<string>",
"patientId": "<string>",
"note": "<string>",
"creator": {
"id": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"phoneNumber": "<string>",
"email": "<string>",
"locationId": "<string>"
},
"createdDate": "2023-11-07T05:31:56Z",
"eventId": "<string>",
"externalId": "<string>",
"updatedDate": "2023-11-07T05:31:56Z",
"isArchived": false,
"isPinned": false
}
],
"carePlan": {
"carePlanId": "<string>",
"stepNumber": 123,
"carePlanName": "<string>",
"status": "<string>"
},
"createdDate": "2023-11-07T05:31:56Z",
"updatedDate": "2023-11-07T05:31:56Z",
"meetingLink": "<string>",
"description": "<string>",
"gcalBusy": true,
"patientRequestedProvider": false,
"isBusinessBlock": false,
"locationId": "<string>",
"formCompleted": true,
"reminders": [],
"attribution": {
"staffId": "<string>",
"sourceId": "<string>",
"attributedAt": "2023-11-07T05:31:56Z"
},
"googleCalendarFailures": []
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Update Event Status
Update an event’s status (e.g. cancel, mark no-show, or confirm), applying the related workflow.
curl --request PUT \
--url https://api.decodahealth.com/check-in/calendar/update-status/{event_id} \
--header 'API-KEY: <api-key>' \
--header 'Content-Type: application/json' \
--header 'TENANT: <tenant>' \
--data '
{
"cancellationReason": "<string>",
"sendSms": true,
"cancellationMessage": "<string>",
"chargeCancellationFee": true,
"chargeNoShowFee": true
}
'import requests
url = "https://api.decodahealth.com/check-in/calendar/update-status/{event_id}"
payload = {
"cancellationReason": "<string>",
"sendSms": True,
"cancellationMessage": "<string>",
"chargeCancellationFee": True,
"chargeNoShowFee": True
}
headers = {
"TENANT": "<tenant>",
"API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {TENANT: '<tenant>', 'API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
cancellationReason: '<string>',
sendSms: true,
cancellationMessage: '<string>',
chargeCancellationFee: true,
chargeNoShowFee: true
})
};
fetch('https://api.decodahealth.com/check-in/calendar/update-status/{event_id}', 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.decodahealth.com/check-in/calendar/update-status/{event_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'cancellationReason' => '<string>',
'sendSms' => true,
'cancellationMessage' => '<string>',
'chargeCancellationFee' => true,
'chargeNoShowFee' => true
]),
CURLOPT_HTTPHEADER => [
"API-KEY: <api-key>",
"Content-Type: application/json",
"TENANT: <tenant>"
],
]);
$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.decodahealth.com/check-in/calendar/update-status/{event_id}"
payload := strings.NewReader("{\n \"cancellationReason\": \"<string>\",\n \"sendSms\": true,\n \"cancellationMessage\": \"<string>\",\n \"chargeCancellationFee\": true,\n \"chargeNoShowFee\": true\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("TENANT", "<tenant>")
req.Header.Add("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.put("https://api.decodahealth.com/check-in/calendar/update-status/{event_id}")
.header("TENANT", "<tenant>")
.header("API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"cancellationReason\": \"<string>\",\n \"sendSms\": true,\n \"cancellationMessage\": \"<string>\",\n \"chargeCancellationFee\": true,\n \"chargeNoShowFee\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.decodahealth.com/check-in/calendar/update-status/{event_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["TENANT"] = '<tenant>'
request["API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"cancellationReason\": \"<string>\",\n \"sendSms\": true,\n \"cancellationMessage\": \"<string>\",\n \"chargeCancellationFee\": true,\n \"chargeNoShowFee\": true\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"start": "2023-11-07T05:31:56Z",
"end": "2023-11-07T05:31:56Z",
"organizer": {
"id": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"phoneNumber": "<string>",
"email": "<string>",
"locationId": "<string>"
},
"event": {
"id": "<string>",
"start": "2023-11-07T05:31:56Z",
"end": "2023-11-07T05:31:56Z",
"organizer": {
"id": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"phoneNumber": "<string>",
"email": "<string>",
"locationId": "<string>"
},
"title": "<string>",
"isAllDay": false,
"location": {
"id": "<string>",
"isVirtual": true,
"name": "<string>",
"addressLineOne": "<string>",
"addressLineTwo": "<string>",
"city": "<string>",
"state": "<string>",
"zipCode": "<string>",
"country": "<string>",
"timezone": "<string>",
"createdDate": "2023-11-07T05:31:56Z",
"spakinectLocationId": "<string>",
"dosespotClinicId": "<string>",
"dosespotClinicKey": "<string>",
"externalId": "<string>",
"taxIdentificationNumber": "<string>"
},
"roomId": "<string>",
"attendees": [],
"recurringEventId": "<string>",
"recurringEvent": {
"id": "<string>",
"rrule": "<string>",
"startDate": "2023-11-07T05:31:56Z",
"durationMinutes": 123,
"timezone": "<string>",
"organizerId": "<string>",
"segments": [
{
"serviceId": "<string>",
"bookableId": "<string>",
"bookableGroupId": "<string>",
"providerId": "<string>",
"title": "<string>",
"color": "<string>",
"durationMinutes": 123,
"bufferMinutes": 123,
"offsetMinutes": 123
}
],
"serviceIds": [
"<string>"
],
"bookableIds": [
"<string>"
],
"capacity": 123,
"description": "<string>",
"patientRequestedProvider": true,
"isBusinessBlock": true,
"title": "<string>",
"attendeeIds": [
"<string>"
],
"locationId": "<string>",
"externalId": "<string>"
},
"segments": [],
"icons": [],
"capacity": 123,
"quickNotes": [
{
"id": "<string>",
"patientId": "<string>",
"note": "<string>",
"creator": {
"id": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"phoneNumber": "<string>",
"email": "<string>",
"locationId": "<string>"
},
"createdDate": "2023-11-07T05:31:56Z",
"eventId": "<string>",
"externalId": "<string>",
"updatedDate": "2023-11-07T05:31:56Z",
"isArchived": false,
"isPinned": false
}
],
"carePlan": {
"carePlanId": "<string>",
"stepNumber": 123,
"carePlanName": "<string>",
"status": "<string>"
},
"createdDate": "2023-11-07T05:31:56Z",
"updatedDate": "2023-11-07T05:31:56Z",
"meetingLink": "<string>",
"description": "<string>",
"gcalBusy": true,
"patientRequestedProvider": false,
"isBusinessBlock": false,
"locationId": "<string>",
"formCompleted": true,
"reminders": [],
"attribution": {
"staffId": "<string>",
"sourceId": "<string>",
"attributedAt": "2023-11-07T05:31:56Z"
}
},
"title": "<string>",
"isAllDay": false,
"location": {
"id": "<string>",
"isVirtual": true,
"name": "<string>",
"addressLineOne": "<string>",
"addressLineTwo": "<string>",
"city": "<string>",
"state": "<string>",
"zipCode": "<string>",
"country": "<string>",
"timezone": "<string>",
"createdDate": "2023-11-07T05:31:56Z",
"spakinectLocationId": "<string>",
"dosespotClinicId": "<string>",
"dosespotClinicKey": "<string>",
"externalId": "<string>",
"taxIdentificationNumber": "<string>"
},
"roomId": "<string>",
"attendees": [],
"recurringEventId": "<string>",
"recurringEvent": {
"id": "<string>",
"rrule": "<string>",
"startDate": "2023-11-07T05:31:56Z",
"durationMinutes": 123,
"timezone": "<string>",
"organizerId": "<string>",
"segments": [
{
"serviceId": "<string>",
"bookableId": "<string>",
"bookableGroupId": "<string>",
"providerId": "<string>",
"title": "<string>",
"color": "<string>",
"durationMinutes": 123,
"bufferMinutes": 123,
"offsetMinutes": 123
}
],
"serviceIds": [
"<string>"
],
"bookableIds": [
"<string>"
],
"capacity": 123,
"description": "<string>",
"patientRequestedProvider": true,
"isBusinessBlock": true,
"title": "<string>",
"attendeeIds": [
"<string>"
],
"locationId": "<string>",
"externalId": "<string>"
},
"segments": [],
"icons": [],
"capacity": 123,
"quickNotes": [
{
"id": "<string>",
"patientId": "<string>",
"note": "<string>",
"creator": {
"id": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"phoneNumber": "<string>",
"email": "<string>",
"locationId": "<string>"
},
"createdDate": "2023-11-07T05:31:56Z",
"eventId": "<string>",
"externalId": "<string>",
"updatedDate": "2023-11-07T05:31:56Z",
"isArchived": false,
"isPinned": false
}
],
"carePlan": {
"carePlanId": "<string>",
"stepNumber": 123,
"carePlanName": "<string>",
"status": "<string>"
},
"createdDate": "2023-11-07T05:31:56Z",
"updatedDate": "2023-11-07T05:31:56Z",
"meetingLink": "<string>",
"description": "<string>",
"gcalBusy": true,
"patientRequestedProvider": false,
"isBusinessBlock": false,
"locationId": "<string>",
"formCompleted": true,
"reminders": [],
"attribution": {
"staffId": "<string>",
"sourceId": "<string>",
"attributedAt": "2023-11-07T05:31:56Z"
},
"googleCalendarFailures": []
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Headers
The tenant you are making this request on behalf of
Your api key
Path Parameters
Body
Request schema for updating event status with optional cancellation reason
The new status for the event
PENDING, RESERVED, CONFIRMED, CANCELLED, COMPLETED, OVERRIDABLE, NO_SHOW Required reason when cancelling an appointment
Whether to send SMS notification when cancelling an appointment
Custom cancellation message to send to patient
Whether to create an applicable cancellation fee charge when cancelling the appointment
Whether to create an applicable no-show fee charge when marking the appointment as a no-show
When cancelling a recurring appointment, controls scope: THIS cancels only the current occurrence, FUTURE cancels this and all later occurrences in the series, ALL cancels every occurrence in the series. Ignored for non-recurring events.
this, future, all Response
Successful Response
APPOINTMENT, SHIFT, BLOCK, GOOGLE_CALENDAR PENDING, RESERVED, CONFIRMED, CANCELLED, COMPLETED, OVERRIDABLE, NO_SHOW Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Service segment response with full service details.
- EventServiceDetail
- EventBookableSegmentTiny
- EventPrepSegmentTiny
- EventCleanupSegmentTiny
Show child attributes
Show child attributes
BOOKING_FEE_PAID, NEW_PATIENT, SCHEDULED_BY_AI, FORM_COMPLETED, FORM_NOT_COMPLETED, CHECKED_IN, ONLINE_BOOKING, NOTE_LINKED, PROVIDER_REQUESTED Show child attributes
Show child attributes
Minimal care-plan step reference for task/event display.
Show child attributes
Show child attributes
Enum representing the different modes for handling recurring event modifications Used when modifying recurring events to specify which occurrences should be affected
this, future, all Last-touch outbound attribution summary for an appointment.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
