Cancel an appointment
Needs: Roster, Read-write
Cancels an appointment.
curl -X POST "https://app.imploy.com.au/api/integrations/v1/appointments/123/cancel" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{
"is_charged": false,
"is_staff_paid": true,
"appointment_cancel_reason": "Client in hospital"
}'
import requests
import json
url = "https://app.imploy.com.au/api/integrations/v1/appointments/123/cancel"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN"
}
data = {
"is_charged": false,
"is_staff_paid": true,
"appointment_cancel_reason": "Client in hospital"
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
const response = await fetch("https://app.imploy.com.au/api/integrations/v1/appointments/123/cancel", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN"
},
body: JSON.stringify({
"is_charged": false,
"is_staff_paid": true,
"appointment_cancel_reason": "Client in hospital"
})
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
"bytes"
"encoding/json"
)
func main() {
data := []byte(`{
"is_charged": false,
"is_staff_paid": true,
"appointment_cancel_reason": "Client in hospital"
}`)
req, err := http.NewRequest("POST", "https://app.imploy.com.au/api/integrations/v1/appointments/123/cancel", bytes.NewBuffer(data))
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer YOUR_API_TOKEN")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Println("Response Status:", resp.Status)
}
require 'net/http'
require 'json'
uri = URI('https://app.imploy.com.au/api/integrations/v1/appointments/123/cancel')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri)
request['Content-Type'] = 'application/json'
request['Authorization'] = 'Bearer YOUR_API_TOKEN'
request.body = '{
"is_charged": false,
"is_staff_paid": true,
"appointment_cancel_reason": "Client in hospital"
}'
response = http.request(request)
puts response.body
{
"data": [
{
"id": 55,
"appointment_title": "Morning support",
"client_id": 12,
"employee_id": 31,
"start": "2026-03-02 09:00:00",
"end": "2026-03-02 13:00:00",
"appointment_address": "1 Example St, Perth WA 6000",
"is_draft": 1,
"appointment_cancelled": 1,
"is_deleted": 0,
"created_at": "2026-02-20T01:00:00.000000Z",
"updated_at": "2026-02-20T01:00:00.000000Z"
}
]
}
{
"message": "Invalid or expired access token."
}
{
"message": "Access token does not permit this action."
}
{
"message": "Too many requests."
}
/appointments/{id}/cancelTarget server for requests. Edit to use your own host.
An organisation access token that starts with imp_at_. Send it as Authorization: Bearer imp_at_XXXX.
imp_at_. Send it as Authorization: Bearer imp_at_XXXX.The appointment id.
The media type of the request body
Charge the client.
Still pay the staff member.
Up to 500 characters.
Request Preview
Response
Response will appear here after sending the request
Authentication
Bearer token. An organisation access token that starts with imp_at_. Send it as Authorization: Bearer imp_at_XXXX.
Path Parameters
The appointment id.
Body
Charge the client.
Still pay the staff member.
Up to 500 characters.
Responses
OK