Cancel Reservation

Cancels an internal, direct, Airbnb or VRBO reservation by its Host Tools reservation ID. Requires the reservations:write scope.

Airbnb: the reservation is cancelled on Airbnb, which needs a reason. Get the reasons Airbnb accepts right now, and the penalty the host would pay, from /api/getCancellationOptions/{reservationID}, and send one reason (with its subReason, when it has one) exactly as listed. Cancelling on Airbnb can't be undone.

VRBO: the reservation is cancelled on VRBO with a refund to the guest, as the VRBO owner app's "Cancel reservation" does. Get the reasons and refund options VRBO offers right now from /api/getCancellationOptions/{reservationID}, and send one reason's value as reason with a customReason of the length customReasonLength gives, and one of that reason's refundOptions as refundPercentType. refundAmount defaults to the chosen refund option's refundTotal, and is required when that option has none; message is a note to VRBO with the cancellation, which VRBO may not show the guest. A value VRBO doesn't offer is a 400; a cancellation VRBO refuses is a 409 with VRBO's text. Cancelling on VRBO can't be undone.

VRBO counts a cancellation sent this way as the host's, whoever asked for it, with the market-rank and fee consequences VRBO applies to host cancellations. When a VRBO guest has asked to cancel (cancellationRequestedDate is set), VRBO's own advice is to have the guest cancel from their VRBO account, which avoids those; VRBO has no call for the host to approve or decline a request. Cancelling here with the reason GUEST_NEEDS_TO_CANCEL (a full refund) is the fallback.

Internal and direct reservations need no body. Booking.com reservations must be cancelled on the channel.

A stay that has already ended can't be cancelled. If the reservation is already cancelled, the endpoint returns success (idempotent).

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
string
required

_id of the reservation to cancel

Body Params
string

Airbnb and VRBO, required on both. Airbnb: a reason from /api/getCancellationOptions/{reservationID}. VRBO: a reason's value from there.

string

Airbnb only. The subReason listed with that reason, when it has one.

string
length between 30 and 240

Airbnb only. Message Airbnb sends the guest. Required, 30 to 240 characters, when the reason has messageToGuestRequired.

string

Airbnb only. Optional private note to Airbnb. The guest never sees it.

string

VRBO only, and required there. One of the chosen reason's refundOptions from /api/getCancellationOptions/{reservationID}.

string

VRBO only. What happened, required with every reason, of the length customReasonLength gives (20 to 300 characters when read live).

string

VRBO only. The refund amount as text. Defaults to the chosen refund option's refundTotal from /api/getCancellationOptions/{reservationID}; required when that option has none.

string

VRBO only. An optional note to VRBO with the cancellation. VRBO may not show it to the guest; message the guest with /api/sendMessage/{reservationID} if they need to know.

Headers
string

Partner API key (deprecated — use OAuth 2.0 for new integrations)

string

User's authentication token (legacy). Use Authorization Bearer header for new integrations.

Responses

Language
Credentials
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json