---
title: "Reschedule"
method: POST
path: "/api/v1/bookings/{reference}/reschedule"
---

# Reschedule

`POST /api/v1/bookings/{reference}/reschedule`

## Request

- Base URL: `http://127.0.0.1:4310`
- URL: `http://127.0.0.1:4310/api/v1/bookings/{reference}/reschedule`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `sfb_session`

## Path parameters

- `reference` string, required

## Request body

- RescheduleRequest
  - `new_start` string, required
  - `staff_id` string
  - `manage_token` string
  - `idempotency_key` string
  - `accept_busy_time` boolean: Staff only: book over busy time that closes online booking. Without it staff receive requires_staff_action (reason busy_time).
  - `accept_clash` boolean: Staff only: book anyway over a clash (another appointment, outside working hours, closed, no free room). Without it staff receive requires_staff_action (reason clash) listing the clashes. The booking still blocks online availability.
  - `notify_client` boolean: Staff only: false changes the booking without emailing or texting the client (for example when another system already told them). Audited. Default true.

## Response `200`

OK

- object

## Other responses

- `400`: Validation error
- `401`: Unauthenticated
- `403`: Forbidden, tenant mismatch or policy
- `404`: Not found
- `409`: Slot unavailable, invalid state or idempotency conflict
- `422`: Consent, intake or prerequisite missing

---

[API](https://skmtc.dev/scalingfirm/apis/tsf-booking-api.md) · [All operations](https://skmtc.dev/scalingfirm/apis/tsf-booking-api/llms.txt) · [OpenAPI document](https://skmtc.dev/scalingfirm/apis/tsf-booking-api/revisions/81704199cd37?raw)
