SoftSolzSoftSolz
HomeAPI GuideAPI ReferenceWidget Tester
appointments

Cancel an appointment and release its slot to anyone waiting.

Cancel an appointment and release its slot to anyone waiting.

POSThttps://app.softsolz.uk/api/v1/services/appointments/appointments/{id}/cancel

Recent Requests

Kept only in this browser
TimeStatusTook
Send a request with Try it to see it here.

Path Params

idstringrequired

Headers

Authorizationstringrequired

Bearer token: `Bearer sk_live_...` (or `sk_test_...` for sandbox). A login token will not work here.

Idempotency-Keystring

Optional idempotency key for safe retries.

Body Params

reasonstring

Why this happened, recorded on the timeline.

Response

Response Body

idstringUnique identifier.
public_refstringShort reference safe to show a customer.
type_idstring | nullAppointment type this belongs to.
plan_idstring | nullMulti-visit plan this belongs to, when part of one.
stage_sequenceinteger | nullPosition within the plan stages, when part of one.
customer_idstring | nullNull for group sessions, where people are listed as attendees instead.
asset_idstring | nullThe thing the visit is about, for example a vehicle or a property.
state_keystringCurrent workflow state.
titlestring | nullShort label shown on the calendar.
starts_atstringStart of the appointment, in UTC.
ends_atstringEnd of the appointment, in UTC.
window_ends_atstring | nullEnd of the arrival window when the type uses one.
timezonestringIANA timezone, for example Europe/London.
location_modestringWhere the appointment happens.
locationobjectAddress, coordinates, meeting URL, or phone number.
capacityintegerPlaces available. 1 is one-to-one; above 1 enables group booking.
sourcestringHow the appointment was created.
price_centsinteger | nullPrice in the smallest currency unit.
currencystring | nullISO 4217 currency code.
intake_dataobjectAnswers to the appointment type intake questions.
custom_fieldsobjectYour own extra fields, keyed by the definitions in workspace settings.
assignmentsarray of objectsResources working this appointment.
attendeesarray of objectsPeople booked onto a group session.
created_atstringWhen the record was created.
updated_atstringRound-trip as expected_updated_at to guard against stale writes.

Request

curl --request POST \
--url https://app.softsolz.uk/api/v1/services/appointments/appointments/{id}/cancel \
--header 'Authorization: Bearer sk_live_your_key' \
--header 'Content-Type: application/json' \
--data '{
"reason": "Customer requested"
}'

Credentials

Sent as a Bearer token and used in the samples above and in Try it. Kept only in this browser tab until you close it. Use an sk_test_ key to stay in your sandbox.

Response · 200

{
"data": {
"id": "501",
"public_ref": "AP-7F3K2M",
"type_id": "7",
"plan_id": "your-plan-id",
"stage_sequence": 1,
"customer_id": "your-customer-id",
"asset_id": "your-asset-id",
"state_key": "confirmed",
"title": "your-title",
"starts_at": "2027-03-01T10:00:00.000Z",
"ends_at": "2027-03-01T11:00:00.000Z",
"window_ends_at": "2026-01-01T09:00:00.000Z",
"timezone": "Europe/London",
"location_mode": "customer",
"location": {
"address": "14 Oak Street, Leeds"
},
"capacity": 1,
"source": "api",
"price_cents": 1,
"currency": "your-currency",
"intake_data": {},
"custom_fields": {},
"assignments": [
{
"resource_id": 3,
"role": "primary"
}
],
"attendees": [
{}
],
"created_at": "2026-01-01T09:00:00.000Z",
"updated_at": "2026-01-01T09:00:00.000Z"
}
}