---
title: "Update a booking page"
method: PATCH
path: "/v1/booking-pages/{id}"
tags: ["Booking Pages"]
---

# Update a booking page

`PATCH /v1/booking-pages/{id}`

## Request

- Base URL: `https://api.chronary.ai`
- URL: `https://api.chronary.ai/v1/booking-pages/{id}`
- Auth: HTTP bearer

## Path parameters

- `id` string, required: Booking page ID

## Request body

- UpdateBookingPage
  - `title` string
  - `description` string, nullable
  - `duration_minutes` integer
  - `buffer_minutes` integer
  - `window_days` integer
  - `min_notice_minutes` integer
  - `timezone` string
  - `availability_constraints` object, nullable
    - `mon` object
      - `start` string, required
      - `end` string, required
    - `tue` object
      - `start` string, required
      - `end` string, required
    - `wed` object
      - `start` string, required
      - `end` string, required
    - `thu` object
      - `start` string, required
      - `end` string, required
    - `fri` object
      - `start` string, required
      - `end` string, required
    - `sat` object
      - `start` string, required
      - `end` string, required
    - `sun` object
      - `start` string, required
      - `end` string, required
  - `active` boolean

## Response `200`

Updated booking page

- BookingPage
  - `id` string, required
  - `org_id` string, required
  - `calendar_id` string, required
  - `agent_id` string, nullable, required: Owner agent of the bound calendar; null for shared/org calendars.
  - `slug` string, required: Unguessable public token in the hosted URL.
  - `title` string, required
  - `description` string, nullable, required
  - `duration_minutes` integer, required
  - `buffer_minutes` integer, required: Padding added before and after each existing event when computing slots.
  - `window_days` integer, required: How far ahead bookings are allowed.
  - `min_notice_minutes` integer, required: Minimum lead time before a bookable slot.
  - `timezone` string, required
  - `availability_constraints` object, nullable, required: Weekly working hours; null = any time inside the window (calendar events still block).
  - `active` boolean, required
  - `bookings_count` integer, required: Number of bookings made through this page.
  - `booking_url` string, uri, required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required

## Other responses

- `400`: Validation error — invalid request body or query parameters
- `401`: Unauthorized — missing or invalid API key
- `404`: Resource not found
- `429`: Rate limited — 10 requests per second per key exceeded
- `500`: Internal server error

---

[API](https://skmtc.dev/chronary/apis/chronary-api.md) · [All operations](https://skmtc.dev/chronary/apis/chronary-api/llms.txt) · [OpenAPI document](https://skmtc.dev/chronary/apis/chronary-api/revisions/0d1a330294ae?raw)
