Skip to main content
POST
Suspender (cancelar) una cita
Marks the appointment as cancelled. Persists 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

Headers

Body

Example request

Response

200 OK

Returns the appointment with status: "cancelled", cancelled_at, and cancellation_reason populated.

404 Not Found

The appointment doesn’t exist or belongs to another company.

409 Conflict

Other states (such as completed) also return 409 if they don’t allow cancellation.

401 Unauthorized · 403 Forbidden

Same semantics as the rest of the public API.

Authorizations

Authorization
string
header
required

Personal Access Token con prefijo kbai_pk_. Generar desde el portal con permiso developer.manage_tokens.

Path Parameters

id
string
required

Body

application/json
reason
string

Motivo de cancelación

Response

200 - application/json
_id
string
required

Id de la cita

branch
object
required
dates
object
required
status
string
required

pending | confirmed | cancelled | …

appointment_number
number

Correlativo legible de la cita

service
object
professional
object
customer
object
appointment_type
string

online | in-person

payment_status
string

Estado del pago

notes
string
price
number
currency
string

Moneda ISO 4217

paid
boolean
cancelled_at
string<date-time>
cancellation_reason
string
created_at
string<date-time>
updated_at
string<date-time>