Suspender (cancelar) una cita
Appointments
POST /v1/scheduling/appointments/:id/cancel
Cancel an appointment with an optional reason. Marks status as cancelled and records cancelled_at.
POST
Suspender (cancelar) una cita
Marks the appointment as cancelled. Persists
Other states (such as
cancelled_at: <now> and cancellation_reason if provided. Freeing the calendar slot is automatic: from this point on the time slot shows up as available again.
Endpoint
Required scope
scheduling:appointments:cancel
Path params
| Param | Type | Description |
|---|---|---|
id | string | Appointment id. |
Headers
| Header | Required | Value |
|---|---|---|
Authorization | Yes | Bearer kbai_pk_<token> |
Content-Type | Yes (if sending a body) | application/json |
Body
| Field | Type | Required | Description |
|---|---|---|---|
reason | string | No | Cancellation reason (max 500 characters). Persisted in cancellation_reason. |
Example request
Response
200 OK
Returns the appointment withstatus: "cancelled", cancelled_at, and cancellation_reason populated.
404 Not Found
The appointment doesn’t exist or belongs to another company.409 Conflict
completed) also return 409 if they don’t allow cancellation.