Update Appointment

Update an existing appointment

PATCH/calendar/appointments
Requires Bearer authentication

Update an existing appointment. Status transitions automatically set timestamps (e.g., confirmed_at, cancelled_at).

Request Body

idstringrequired

The appointment ID to update.

statusstring

New status: pending, confirmed, completed, cancelled, no_show.

start_timestring

Reschedule to new start time (ISO 8601).

client_namestring

Update client name.

client_emailstring

Update client email.

client_phonestring

Update client phone.

client_notesstring

Update client notes.

internal_notesstring

Update internal notes.

PATCH/calendar/appointments
curl -X PATCH "https://api.vastal.agency/v1/calendar/appointments" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
  "id": "apt_abc123",
  "status": "completed",
  "internal_notes": "Great session, follow-up needed"
}'
200Success
{
"appointment": {
  "id": "apt_abc123",
  "status": "completed",
  "internal_notes": "Great session, follow-up needed",
  "appointment_type": {
    "id": "type_def456",
    "name": "Tax Consultation",
    "duration_minutes": 60,
    "color": "#3b82f6"
  }
}
}
400Bad Request
{
"error": "id is required"
}