POST
/api/public/v1/appointments/{appointmentId}/update-statusUpdate appointment status
Update the status of an appointment (confirm, complete, mark no-show, cancel).
Required scope
The access token must carry this scope. A token missing it gets 403 Forbidden. Grant them to an API client under Dev Tools → API, to an assistant or CLI sign-in when you approve or edit it under Dev Tools, and to a teammate under Employee → Permissions.
appointments:write
Path Parameters
| Name | Type | Required | Description |
|---|---|---|---|
appointmentId | string | Required | Appointment ID. |
Request Body
| Property | Type | Description |
|---|---|---|
status | string | New status. |
cancellationReason | string | Reason for cancellation (only used when status=CANCELLED). |
POSTExample request
curl
curl -X POST "https://www.pxb.app/api/public/v1/appointments/{appointmentId}/update-status" \
-H "Authorization: Bearer your_access_token" \
-H "Content-Type: application/json" \
-d '{
"status": "CANCELLED",
"cancellationReason": "Customer requested reschedule."
}'200Example response
json
{
"message": "Appointment status updated successfully!",
"content": {
"appointment": {
"id": "appt_1",
"status": "CANCELLED"
}
}
}In the console
The same thing done by hand, for anyone comparing the API against the screen they already use.