Reschedule appointment
Reschedule an existing appointment via a public interface (no authentication required).
The new time slot for the appointment must be available. You can find available time slots using the List available time slots endpoint.
This action will fail with a 403 Forbidden response if rescheduling is not allowed for the appointment based on the service's rescheduling policy.
Authorization
authorization In: header
Path Parameters
Appointment ID
Request Body
application/json
Reschedule appointment params
TypeScript Definitions
Use the request body type in TypeScript.
Request schema for rescheduling a public appointment
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/public/appointments/string/reschedule" \ -H "Content-Type: application/json" \ -d '{ "end_at": "2025-03-01T11:00:00-05:00", "provider_id": "prv_1234567890", "start_at": "2025-03-01T10:00:00-05:00", "time_zone": "America/New_York" }'{ "data": { "add_to_calendar_url": "https://book.acme.com/c/appointments/appt_a1b2c3d4e5f6/add_to_calendar", "cancel_url": "https://book.acme.com/c/appointments/appt_a1b2c3d4e5f6/cancel", "cancellation": { "allowed": true, "disabled_message": null }, "confirmed_at": "2025-03-10T15:30:00Z", "end_at": { "local": "2025-03-01T11:00:00-05:00", "object": "zoned_date_time", "time_zone": "America/New_York", "unix_ts": 1736464800, "utc": "2025-03-01T04:00:00Z" }, "ics_url": "https://book.acme.com/c/appointments/appt_a1b2c3d4e5f6/ics", "id": "appt_a1b2c3d4e5f6", "object": "public_appointment", "reschedule_url": "https://book.acme.com/c/appointments/appt_a1b2c3d4e5f6/reschedule", "rescheduling": { "allowed": false, "disabled_message": "Rescheduling is not available within 24 hours of your appointment" }, "start_at": { "local": "2025-03-01T10:00:00-05:00", "object": "zoned_date_time", "time_zone": "America/New_York", "unix_ts": 1736461200, "utc": "2025-03-01T03:00:00Z" }, "status": "scheduled", "urls": { "add_to_calendar": [ "https://book.acme.com/c/appointments/appt_a1b2c3d4e5f6/add_to_calendar" ], "add_to_google_calendar": [ "https://book.acme.com/c/appointments/appt_a1b2c3d4e5f6/add_to_google_calendar" ], "cancel": [ "https://book.acme.com/c/appointments/appt_a1b2c3d4e5f6/cancel" ], "ics": [ "https://book.acme.com/c/appointments/appt_a1b2c3d4e5f6/ics" ], "reschedule": [ "https://book.acme.com/c/appointments/appt_a1b2c3d4e5f6/reschedule" ] } }}List available time slots GET
List all available time slots for a service in a specific time range, for use on public booking interfaces.
Update booking intent PATCH
Update an existing booking intent via a public interface (no authentication required). Accepts slot fields and client data. When all slot fields (provider_id, start_at, end_at, time_zone) are present, automatically transitions to `slot_selected`. Cannot update intents in terminal status (completed or abandoned).