Update an appointment
Needs: Roster, Read-write
Changes only the fields you send. The response lists the affected appointments in data.
curl -X PATCH "https://app.imploy.com.au/api/integrations/v1/appointments/123" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{
"employee_id": 32,
"to_be_published": true
}'
import requests
import json
url = "https://app.imploy.com.au/api/integrations/v1/appointments/123"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN"
}
data = {
"employee_id": 32,
"to_be_published": true
}
response = requests.patch(url, headers=headers, json=data)
print(response.json())
const response = await fetch("https://app.imploy.com.au/api/integrations/v1/appointments/123", {
method: "PATCH",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN"
},
body: JSON.stringify({
"employee_id": 32,
"to_be_published": true
})
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
"bytes"
"encoding/json"
)
func main() {
data := []byte(`{
"employee_id": 32,
"to_be_published": true
}`)
req, err := http.NewRequest("PATCH", "https://app.imploy.com.au/api/integrations/v1/appointments/123", 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')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(uri)
request['Content-Type'] = 'application/json'
request['Authorization'] = 'Bearer YOUR_API_TOKEN'
request.body = '{
"employee_id": 32,
"to_be_published": true
}'
response = http.request(request)
puts response.body
{
"data": [
{
"id": 55,
"appointment_title": "Morning support",
"client_id": 12,
"employee_id": 32,
"start": "2026-03-02 09:00:00",
"end": "2026-03-02 13:00:00",
"appointment_address": "1 Example St, Perth WA 6000",
"is_draft": 0,
"appointment_cancelled": 0,
"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}Target 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
Up to 200 characters. Required on create.
An existing client id. Required on create.
An existing staff id, or null. Suppliers and archived staff are refused.
A date and time. Required on create.
A date and time after the start. Required on create.
Up to 500 characters. Required on create.
A configured service name (price book or NDIS price type). Required on create.
Publish to staff.
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
Up to 200 characters. Required on create.
An existing client id. Required on create.
An existing staff id, or null. Suppliers and archived staff are refused.
A date and time. Required on create.
A date and time after the start. Required on create.
Up to 500 characters. Required on create.
A configured service name (price book or NDIS price type). Required on create.
Publish to staff.
Responses
OK