Skip to main content
PATCH
Update a booking
In API v2, this endpoint handles approve, reject, cancel, and reschedule flows. Older v1-only routes for those actions are not available in v2—use status for approve/reject/cancel, and slot_date, slot_start_time, and time_zone to reschedule. See the operation description below for details.
Replace {your-subdomain} with your workspace’s subdomain.
Learn how to find your subdomain in Workspace subdomain.

Headers

X-Api-Key
string
required

Use the X-Api-Key header to provide your workspace API key. Refer to Authentication for more information.

Path Parameters

booking_id
string
required

ID or SID of the booking that you want to update.

Example:

"hda6gxy"

Body

application/json
name
string

Name of person making the booking. This is applied only as part of a reschedule, so send it alongside slot_date and slot_start_time. A request carrying it without them is rejected with a 422 error.

Example:

"Eve Smith"

email
string

Email of person making the booking. This is applied only as part of a reschedule, so send it alongside slot_date and slot_start_time. A request carrying it without them is rejected with a 422 error.

Example:

"eve@example.com"

slot_date
string

Date on which the booking is to be rescheduled. This should be in "YYYY-MM-DD" format.

Example:

"2025-07-25"

slot_start_time
string

Start time for the booking. This should be in "HH:MM AM/PM" format.

Example:

"10:30 AM"

time_zone
string

Time zone of person rescheduling the booking.

Example:

"Asia/Kolkata"

reschedule_reason
string

Reason for rescheduling the booking (optional).

Example:

"I want to change the booking time"

status
enum<string>

Sets booking lifecycle status in one call (replaces v1 approve / reject / cancel endpoints). Use approved to approve, rejected to reject (optional rejection_reason), or cancelled to cancel (optional cancel_reason). Do not send this field when you are only rescheduling or updating other attributes.

Available options:
cancelled,
approved,
rejected
cancel_reason
string

Reason for cancelling the booking. Used when status is cancelled.

Example:

"I am not available"

rejection_reason
string

Reason for rejecting the booking. Used when status is rejected.

Example:

"Time slot no longer available"

meeting_outcome_id
string | null

Assign a meeting outcome to the booking by providing the outcome's ID. Pass null to remove the currently assigned outcome. This parameter cannot be combined with status or reschedule parameters (slot_date, slot_start_time) in the same request. Meeting outcomes can only be set on confirmed or parallel-error bookings. You can get the outcome ID from the List meeting outcomes endpoint.

Example:

"59413def-60eb-47c6-b390-098fcf583b66"

Response

200 - application/json

OK - Booking updated successfully

id
string

Unique identifier for the booking.

sid
string

Short identifier (SID) for the booking, used in URLs and API calls.

parent_booking_id
string | null

Reference to the parent booking if this is a group booking.

email
string

Email address of the person who made the booking.

name
string

Name of the person who made the booking.

host_name
string

Name of the primary host for the meeting.

host_email
string

Email address of the primary host for the meeting.

is_multihost
boolean

Whether the meeting has multiple hosts.

multihosts
object[]

List of all hosts for the meeting when is_multihost is true.

starts_at
string<date-time>

Start time of the booking in UTC.

ends_at
string<date-time>

End time of the booking in UTC.

time_zone
string

Time zone of the booking location.

starts_at_for_client
string

Start time of the booking in the client's local time zone.

ends_at_for_client
string

End time of the booking in the client's local time zone.

status
string

Current status of the booking (e.g., confirmed, cancelled, awaiting_approval, rejected).

cancel_reason
string | null

Reason provided when the booking was cancelled.

cancelled_by
string | null

Name of the person who cancelled the booking.

reschedule_requested
boolean

Whether a reschedule has been requested for this booking.

preferred_meeting_spot
string

Preferred meeting platform or location type selected by the client.

room_type
enum<string> | null

Type of meeting room or platform being used.

Available options:
daily,
zoom,
jitsi,
google_meet,
teams,
whereby,
in_person,
custom,
phone_call
room_url
string | null

URL for the meeting room or platform.

room_id
string | null

Unique identifier for the meeting room or platform.

spot_details
string | null

Additional details about the meeting place.

created_at
string<date-time>

Timestamp when the booking was created.

updated_at
string<date-time>

Timestamp when the booking was last updated.

meeting_id
string

Unique identifier of the scheduling link this booking belongs to.

meeting
object

Basic information about the associated meeting.

no_show
boolean

Whether the booking is marked as no-show by the host.

meeting_outcome
object | null

Meeting outcome assigned to the booking.

notes_url
string | null

URL to access notes or additional information about the booking.

internal_notes
string | null

Internal notes about the booking visible only to hosts and admins.

metadata
object | null

Additional custom data associated with the booking.

admin_booking_url
string

URL for hosts and admins to view and manage the booking.

client_booking_url
string

URL for clients to view their booking details.

form_responses
object[]

Responses submitted through the booking form.

form_responses_as_hash
object

Form responses organized as key-value pairs for easier access.

payment
object | null

Payment details for the booking. Included only when a payment exists for the booking.