curl --request PATCH \
--url https://api.gospott.com/appointments/{id} \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"message": {
"subject": "Intake",
"body": "<string>"
},
"startTime": "2026-08-12T08:30:00.000Z",
"endTime": "2026-08-12T09:15:00.000Z",
"location": {
"street1": "<string>",
"street2": "<string>",
"postalCode": "<string>",
"city": "<string>",
"region": "<string>",
"state": "<string>",
"country": "<string>",
"latitude": 0,
"longitude": 0
},
"applicationId": "<string>",
"isCancelled": true
}
'import requests
url = "https://api.gospott.com/appointments/{id}"
payload = {
"message": {
"subject": "Intake",
"body": "<string>"
},
"startTime": "2026-08-12T08:30:00.000Z",
"endTime": "2026-08-12T09:15:00.000Z",
"location": {
"street1": "<string>",
"street2": "<string>",
"postalCode": "<string>",
"city": "<string>",
"region": "<string>",
"state": "<string>",
"country": "<string>",
"latitude": 0,
"longitude": 0
},
"applicationId": "<string>",
"isCancelled": True
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
message: {subject: 'Intake', body: JSON.stringify('<string>')},
startTime: '2026-08-12T08:30:00.000Z',
endTime: '2026-08-12T09:15:00.000Z',
location: {
street1: '<string>',
street2: '<string>',
postalCode: '<string>',
city: '<string>',
region: '<string>',
state: '<string>',
country: '<string>',
latitude: 0,
longitude: 0
},
applicationId: '<string>',
isCancelled: true
})
};
fetch('https://api.gospott.com/appointments/{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.gospott.com/appointments/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'message' => [
'subject' => 'Intake',
'body' => '<string>'
],
'startTime' => '2026-08-12T08:30:00.000Z',
'endTime' => '2026-08-12T09:15:00.000Z',
'location' => [
'street1' => '<string>',
'street2' => '<string>',
'postalCode' => '<string>',
'city' => '<string>',
'region' => '<string>',
'state' => '<string>',
'country' => '<string>',
'latitude' => 0,
'longitude' => 0
],
'applicationId' => '<string>',
'isCancelled' => true
]),
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.gospott.com/appointments/{id}"
payload := strings.NewReader("{\n \"message\": {\n \"subject\": \"Intake\",\n \"body\": \"<string>\"\n },\n \"startTime\": \"2026-08-12T08:30:00.000Z\",\n \"endTime\": \"2026-08-12T09:15:00.000Z\",\n \"location\": {\n \"street1\": \"<string>\",\n \"street2\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"city\": \"<string>\",\n \"region\": \"<string>\",\n \"state\": \"<string>\",\n \"country\": \"<string>\",\n \"latitude\": 0,\n \"longitude\": 0\n },\n \"applicationId\": \"<string>\",\n \"isCancelled\": true\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.gospott.com/appointments/{id}")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"message\": {\n \"subject\": \"Intake\",\n \"body\": \"<string>\"\n },\n \"startTime\": \"2026-08-12T08:30:00.000Z\",\n \"endTime\": \"2026-08-12T09:15:00.000Z\",\n \"location\": {\n \"street1\": \"<string>\",\n \"street2\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"city\": \"<string>\",\n \"region\": \"<string>\",\n \"state\": \"<string>\",\n \"country\": \"<string>\",\n \"latitude\": 0,\n \"longitude\": 0\n },\n \"applicationId\": \"<string>\",\n \"isCancelled\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gospott.com/appointments/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"message\": {\n \"subject\": \"Intake\",\n \"body\": \"<string>\"\n },\n \"startTime\": \"2026-08-12T08:30:00.000Z\",\n \"endTime\": \"2026-08-12T09:15:00.000Z\",\n \"location\": {\n \"street1\": \"<string>\",\n \"street2\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"city\": \"<string>\",\n \"region\": \"<string>\",\n \"state\": \"<string>\",\n \"country\": \"<string>\",\n \"latitude\": 0,\n \"longitude\": 0\n },\n \"applicationId\": \"<string>\",\n \"isCancelled\": true\n}"
response = http.request(request)
puts response.read_body{
"status": 0,
"message": "<string>",
"requestId": "<string>"
}{
"status": 0,
"message": "<string>",
"requestId": "<string>"
}{
"status": 0,
"message": "<string>",
"requestId": "<string>"
}{
"status": 0,
"message": "<string>",
"requestId": "<string>"
}{
"status": 0,
"message": "<string>",
"requestId": "<string>"
}Update an appointment
Updates the fields provided on the appointment identified by its id. Set isCancelled to cancel or reopen it, and pass location: null to remove the recorded location.
curl --request PATCH \
--url https://api.gospott.com/appointments/{id} \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"message": {
"subject": "Intake",
"body": "<string>"
},
"startTime": "2026-08-12T08:30:00.000Z",
"endTime": "2026-08-12T09:15:00.000Z",
"location": {
"street1": "<string>",
"street2": "<string>",
"postalCode": "<string>",
"city": "<string>",
"region": "<string>",
"state": "<string>",
"country": "<string>",
"latitude": 0,
"longitude": 0
},
"applicationId": "<string>",
"isCancelled": true
}
'import requests
url = "https://api.gospott.com/appointments/{id}"
payload = {
"message": {
"subject": "Intake",
"body": "<string>"
},
"startTime": "2026-08-12T08:30:00.000Z",
"endTime": "2026-08-12T09:15:00.000Z",
"location": {
"street1": "<string>",
"street2": "<string>",
"postalCode": "<string>",
"city": "<string>",
"region": "<string>",
"state": "<string>",
"country": "<string>",
"latitude": 0,
"longitude": 0
},
"applicationId": "<string>",
"isCancelled": True
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
message: {subject: 'Intake', body: JSON.stringify('<string>')},
startTime: '2026-08-12T08:30:00.000Z',
endTime: '2026-08-12T09:15:00.000Z',
location: {
street1: '<string>',
street2: '<string>',
postalCode: '<string>',
city: '<string>',
region: '<string>',
state: '<string>',
country: '<string>',
latitude: 0,
longitude: 0
},
applicationId: '<string>',
isCancelled: true
})
};
fetch('https://api.gospott.com/appointments/{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.gospott.com/appointments/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'message' => [
'subject' => 'Intake',
'body' => '<string>'
],
'startTime' => '2026-08-12T08:30:00.000Z',
'endTime' => '2026-08-12T09:15:00.000Z',
'location' => [
'street1' => '<string>',
'street2' => '<string>',
'postalCode' => '<string>',
'city' => '<string>',
'region' => '<string>',
'state' => '<string>',
'country' => '<string>',
'latitude' => 0,
'longitude' => 0
],
'applicationId' => '<string>',
'isCancelled' => true
]),
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.gospott.com/appointments/{id}"
payload := strings.NewReader("{\n \"message\": {\n \"subject\": \"Intake\",\n \"body\": \"<string>\"\n },\n \"startTime\": \"2026-08-12T08:30:00.000Z\",\n \"endTime\": \"2026-08-12T09:15:00.000Z\",\n \"location\": {\n \"street1\": \"<string>\",\n \"street2\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"city\": \"<string>\",\n \"region\": \"<string>\",\n \"state\": \"<string>\",\n \"country\": \"<string>\",\n \"latitude\": 0,\n \"longitude\": 0\n },\n \"applicationId\": \"<string>\",\n \"isCancelled\": true\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.gospott.com/appointments/{id}")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"message\": {\n \"subject\": \"Intake\",\n \"body\": \"<string>\"\n },\n \"startTime\": \"2026-08-12T08:30:00.000Z\",\n \"endTime\": \"2026-08-12T09:15:00.000Z\",\n \"location\": {\n \"street1\": \"<string>\",\n \"street2\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"city\": \"<string>\",\n \"region\": \"<string>\",\n \"state\": \"<string>\",\n \"country\": \"<string>\",\n \"latitude\": 0,\n \"longitude\": 0\n },\n \"applicationId\": \"<string>\",\n \"isCancelled\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gospott.com/appointments/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"message\": {\n \"subject\": \"Intake\",\n \"body\": \"<string>\"\n },\n \"startTime\": \"2026-08-12T08:30:00.000Z\",\n \"endTime\": \"2026-08-12T09:15:00.000Z\",\n \"location\": {\n \"street1\": \"<string>\",\n \"street2\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"city\": \"<string>\",\n \"region\": \"<string>\",\n \"state\": \"<string>\",\n \"country\": \"<string>\",\n \"latitude\": 0,\n \"longitude\": 0\n },\n \"applicationId\": \"<string>\",\n \"isCancelled\": true\n}"
response = http.request(request)
puts response.read_body{
"status": 0,
"message": "<string>",
"requestId": "<string>"
}{
"status": 0,
"message": "<string>",
"requestId": "<string>"
}{
"status": 0,
"message": "<string>",
"requestId": "<string>"
}{
"status": 0,
"message": "<string>",
"requestId": "<string>"
}{
"status": 0,
"message": "<string>",
"requestId": "<string>"
}Authorizations
API key for authentication. Get your API key from Settings → API Keys in your Spott dashboard.
Path Parameters
Body
Kind of appointment.
ONLINE_MEETING, INTERVIEW, REGISTRATION Subject and body describing the appointment. Only the keys present are updated; pass a key as null to clear it.
Show child attributes
Show child attributes
Moment the appointment starts.
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$"2026-08-12T08:30:00.000Z"
Moment the appointment ends. Must be after startTime.
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$"2026-08-12T09:15:00.000Z"
Physical location of the appointment. Pass null to remove the recorded location.
Show child attributes
Show child attributes
Identifier of the application this appointment belongs to. Must be an application of the same candidate. Pass null to detach the appointment from its application.
1Cancellation state of the appointment. Setting this to true stamps the cancellation moment.
true
Response
The appointment was updated.
Was this page helpful?