How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Viator Bookings API

The Bookings API from Viator — 13 operation(s) for bookings.

Viator Bookings API is one of 17 APIs that Viator publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Bookings. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, and an API reference.

This API exposes 13 operations across 13 paths, and defines 129 schemas. It is described by OpenAPI 3.2.0, at version 2.0.

Requests are made against 2 base URLs: https://api.viator.com/partner, https://api.sandbox.viator.com/partner.

13 operations 13 paths 129 schemas 4 GET9 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
2.0
Base URL
https://api.viator.com/partner
Authentication
API Key
License
Resource Areas
1

Authentication & Security 1

Viator Bookings API declares 1 security scheme for authenticating requests. An API key is passed in the header as exp-api-key (API-key). By default, every request must be authenticated.

Paths & Operations 13

Across 13 paths, the API surfaces 13 operations — 4 GET, 9 POST. Each is listed below with its method, path, parameters, and response codes.

Bookings 13
POST
/bookings/cart/hold
/bookings/cart/hold
bookingsCartHold 2 params body → 200400401403404406429500
POST
/bookings/cart/book
/bookings/cart/book
bookingsCartBook 2 params body → 200400401403404406429500
POST
/bookings/hold
/bookings/hold
bookingsHold 3 params body → 200400401403404406429500
POST
/bookings/book
/bookings/book
bookingsBook 3 params body → 200400401403404406429500
POST
/bookings/status
/bookings/status
bookingsStatus 2 params body → 200400401403404406429500
GET
/bookings/cancel-reasons
/bookings/cancel-reasons
bookingsCancelReasons 3 params → 200401403406429500503
GET
/bookings/{booking-reference}/cancel-quote
/bookings/{booking-reference}/cancel-quote
bookingsCancelQuote 2 params → 200401403404406429500503
POST
/bookings/{booking-reference}/cancel
/bookings/{booking-reference}/cancel
bookingsCancel 3 params body → 200400401403404406429500
GET
/bookings/modified-since
/bookings/modified-since
bookingsModifiedSince 5 params → 200400401403404406429500
POST
/bookings/modified-since/acknowledge
/bookings/modified-since/acknowledge
bookingsModifiedSinceAcknowledge 2 params body → 204400401403404406429500
GET
/amendment/check/{booking-reference}
/amendment/check/{booking-reference}
amendmentCheck 1 param → 200400401403404406429500
POST
/amendment/quote
/amendment/quote
amendmentQuote body → 200400401403404406429500
POST
/amendment/amend/{quote-reference}
/amendment/amend/{quote-reference}
amendmentAmend 1 param → 200400401403404406429500

Schemas 129

The contract defines 129 schemas that model the data the API accepts and returns. The most detailed are BookingsCartHoldResponse (9 properties), BookingBookResponse (9 properties), BookingEvent (9 properties), BookingHoldResponse (7 properties). Each schema is shown below with its type and property counts.

ErrorResponse
object
4 properties
BookingReference
string
Unique Viator-generated booking reference for this bookable item.
VoucherInfo
object
Voucher information for this booking.
4 properties 3 required
BookingEventCancellation
object
2 properties 1 required
BookingHoldInfo
object
Availability and pricing hold information.
2 properties 2 required
PriceObjectSubtotal
Components of this price
CartBookRejectionReasonCode
string
In the case that status is REJECTED, this field provides a code as to the reason for the rejection; one of: - "BOOKABLEITEMISNOLONGERAVAILABLE" – this bookable…
QuoteReference
string
Unique Viator-generated quote reference for a booking.
QuoteStatus
string
Machine-interpretable string indicating the outcome of the quote request. One of: - CONFIRMED: The quote was successful - REJECTED: The quote was rejected
LineItemPriceObject
object
2 properties 1 required
AmendmentQuoteResponseCommon
object
2 properties 2 required
BookingRequest
object
6 properties 4 required
CancelBookingQuoteResponse
object
3 properties 2 required
BookingsCartHoldResponseItemBase
object
3 properties 3 required
PaymentMethod
object
Information about the payment method to be used for this transaction. Notes: - The transaction will be processed using the payment method already associated wi…
3 properties 3 required
PartnerNetPrice
number
The non-booking fee component of the total amount that Viator will invoice the merchant for this item
PartnerCartReference
string
Partner-generated unique cart reference for this group of bookable items.
AgeBand-2
string
Machine-interpretable value indicating the age-band that this/these traveler(s) fall into; one of: - ADULT - SENIOR - YOUTH - CHILD - INFANT - TRAVELER The val…
AdditionalBookingDetails-2
object
Optional extra details to include with booking
1 property
BookingHoldResponse
object
7 properties 2 required
BookingEvent
object
9 properties 7 required
NumberOfTravelers
integer
The number of travelers that this line-item describes the subtotal price for.
BookingRef
string
The booking reference code (in format BR-123456789), generated by Viator and returned in the bookingRef element in the response from [/bookings/book](operation…
VoucherInfoCart
object
Voucher information for this booking.
4 properties 3 required
ProductOptionCode
string
Product option identifier. For more information see: [Key concepts: Product options](section/Key-concepts/Product-options)
CancellationReason
object
2 properties
AmendmentAmendResponse
PriceObject
object
5 properties 4 required
AmendmentCheckResponse
object
5 properties 2 required
BookingsModifiedSinceResponse
object
2 properties 1 required
AmendmentStatus
string
Machine-interpretable string indicating the outcome of the booking amendment request. One of: - AMENDED: The amendment was successful - REJECTED: The amendment…
StartTime
string
Starting time for the item in the case that the product/product option has multiple start times. Note: This element must be included for products that have mul…
BookingsCartHoldResponse
object
9 properties 5 required
AmendmentAmendResponseInProgress
PartnerNetPrice-2
number
The non-booking fee component of the amount that Viator will invoice the merchant. For affiliate partners with API access level "Full Access + Booking" this is…
BookingStatusRequest
object
3 properties
AmendmentTypes
array
List of booking components that can be amended in this booking: - "BOOKINGDETAILS" - "UPDATEPAXMIX" - "PERTRAVELERQUESTIONS" - "PERBOOKINGQUESTIONS" Notes: - O…
AmendmentQuoteRequestCommon
object
1 property 1 required
BookingHoldStatus
string
The status of this bookable item; one of: - BOOKABLE – This item can currently be booked. Check bookingHoldInfo for availability and pricing hold statuses. - R…
BookingsCartResponseItemPrice
object
2 properties 2 required
AmendmentRejectionReasonCode
string
Machine-interpretable reason code indicating why the amendment was REJECTED. One of: - "BOOKABLEITEMISNOLONGERAMENDABLE” – this bookable item is no longer elig…
CartLineItemPrice
object
2 properties 1 required
CartBookCommunicationInfo
object
Details for correspondence regarding this booking. See: [Booking concepts – Supplier communications](section/Booking-concepts/Supplier-communications) for info…
2 properties 1 required
PaxMixItem-2
object
2 properties 2 required
CartPrice
object
5 properties 5 required
PaxMixSummary
array
Summary of the current PAX MIX of the booking. It ensures each traveler listed in the PaxMix is assigned a travelerNum and informs which Booking Questions have…
CancelBookingResponse
object
3 properties 2 required
BookingsCartHoldRequest
BookingStatusResponseTransient
VoucherFormat
string
File format of the voucher; one of: - PDF - HTML Default is HTML if not specified.
CancellationConditionType
string
Machine-interpretable value encoding the type of cancellation policy for this product; one of: - STANDARD - Products in this category are cancellable up to 24…
CancellationRequest
object
1 property 1 required
BookingsCartBookResponse
object
7 properties 6 required
LanguageGuide
object
Specifies which language and what type of language guide to include if language guides are available for this product. Note: This element must be included in o…
3 properties 2 required
RefundDetails
object
Details of the refund. Note: Bookings that have not been confirmed by the supplier and have a status of "PENDING" will report an itemPrice, refundAmount and re…
4 properties
BookingsCartBookResponseRejectedItem
PricingLineItem-2
object
3 properties 3 required
AmendmentAmendResponseCommon
object
1 property 1 required
HoldRejectionReasonCode
string
In the case that status is REJECTED, this field provides a code as to the reason for the rejection; one of: - BOOKABLEITEMISNOLONGERAVAILABLE – this bookable i…
BookingStatusResponse
BookingQuestionTraveler
string
Booking question identifier - id field in response from [/products/booking-questions](operation/productsBookingQuestions) endpoint. Possible values: - DATEOFBI…
QuotePriceDifference
object
The price difference that must be paid (or refunded, if negative) to apply the requested amendment to the booking. This value reflects the cost impact of the p…
5 properties 4 required
CancellationCondition
object
Structured description of fees pertaining to cancellations during various time windows.
5 properties 2 required
HoldInfo
object
2 properties 1 required
AmendmentQuoteResponseConfirmed
BookingsCartHoldResponseRejectedItem
AmendmentAmendResponseRejected
QuoteRejectionReasonCode
string
Machine-interpretable reason code indicating why the quote was rejected. One of: - "NOAVAILABILITY": This bookable item is not available for the specified comb…
BookingEventItem
object
4 properties 2 required
CancellationPolicy
object
Cancellation policy details for this product.
5 properties 4 required
AdditionalBookingDetails
object
3 properties
CancellationReasonsResponse
object
1 property
BookingStatusResponseConfirmed
BookingsCartBookRequest
object
6 properties 4 required
BookerInfo
object
Name details for the person making this booking.
2 properties 2 required
QuoteValidUntil
string
Timestamp (UTC) indicating when the quote expires.
BookingHoldRequest
PartnerBookingReference
string
Partner-generated unique booking reference for this bookable item.
BookingsCartBookResponseConfirmedItem
Currency
string
Merchant Partners: One of USD, EUR, GBP, AUD, CAD Affiliate Partners with API access level "Full Access + Booking": One of USD, EUR, GBP, AUD, CAD, CHF, DKK, F…
BookingBookStatus
string
One of: CONFIRMED, PENDING, REJECTED Note: For "PENDING" poll [/booking/status](tag/Bookings/operation/bookingsStatus) for further booking status updates
TranslationDetails
object
Information about whether the text in this response was machine-translated
3 properties 2 required
BookingQuestionAnswers-2
array
Answers to booking questions required for this booking. See: [Booking concepts – Booking questions](section/Booking-concepts/Booking-questions) for more inform…
AmendmentQuoteResponse
AmendPaxMix
object
PriceSubtotal
object
2 properties 2 required
ExtraChargesItem
object
List of extra charges. Partners can use this to build a breakdown list of costs.
5 properties 5 required
RecommendedRetailPrice
number
The recommended retail price for the item and the price at which the product is sold on the Viator.com site
TravelDate
string
Date of travel (according to the time zone in which the product operates).
PricingLineItem
object
3 properties 2 required
BookingsCartHoldRequestItem
object
6 properties 4 required
AmendmentLineItemPriceObject
object
1 property 1 required
BookingQuestionUnit
string
Unit in which the answer is provided; one of units in response from [/products/booking-questions](operation/productsBookingQuestions) endpoint.
CommunicationInfo
object
Details for correspondence regarding this booking. See: [Booking concepts – Supplier communications](section/Booking-concepts/Supplier-communications) for info…
2 properties 1 required
BookingStatusResponseCommon
object
3 properties 2 required
CancellationResultItemReason
string
Machine-interpretable reason code indicating why the cancellation was not successful - "ALREADYCANCELLED": The booking has already been cancelled - "NOTCANCELL…
QuoteAmendedPrice
object
A detailed breakdown of the total booking price after the requested amendment has been applied.
2 properties 2 required
AmendmentAmendResponseAmended
EventsAcknowledgementRequest
object
1 property 1 required
BookingsCartBookResponseItemBase
object
3 properties 3 required
AmendBookingDetails
object
BookingBookRequest
AmendPerBookingQuestions
object
CartReference
string
Viator-generated unique reference for this cart of bookable items, e.g.CR-44e4a3f8b65d11edafa10242ac120002
FraudPreventionDetails
object
Additional booking details used to enhance fraud detection accuracy. Note: Fraud Prevention Details only apply to affiliate partners with API access level "Ful…
5 properties
BookingQuestionAnswers
object
4 properties 2 required
BookingsCartHoldResponseBookableItem
ProductCode
string
Unique identifier for this product.
VoucherDetails
object
Merchant partners only: Additional details to display on the voucher.
5 properties
BookingStatusResponseRejected
BookingStatusResponseOther
QuoteInitialPrice
number
Total price of the booking at the time of purchase.
BookingsCartBookRequestItem
object
3 properties 1 required
LoyaltyProgramDetails
object
Additional booking details used to associate partner's Loyalty Program Information with the booking. Note: This data will be used only by Viator’s internal tea…
3 properties
ExtraChargesItemInDestinationCurrency
object
The Extra Charges amount in destination currency.
3 properties 3 required
CancellationQuoteBookingStatus
string
Machine-interpretable string indicating the cancellation status of this itinerary item: - "CANCELLABLE" - this booking is available to be cancelled - "CANCELLE…
LineItemPriceObjectSubtotal
object
Subtotal pricing for this line item, including discount information if available
2 properties 1 required
BookingsCartBookResponsePendingItem
BookingBookResponse
object
9 properties
ExtraChargesSummary
object
Information about the Extra Charges applicable to this bookableItem. Note: - Prices payable to third parties are provided to us by the operator, and may be sub…
3 properties 2 required
PricingLineItemPriceSubtotal
object
2 properties 1 required
AmendmentQuoteRequest
object
1 property
AmendmentPricingLineItem
object
3 properties 2 required
RecommendedRetailPrice-2
number
The recommended retail price for the item and the price at which the product is sold on the Viator.com site.
CancellationBookingStatus
string
Machine-interpretable string indicating the outcome of the booking cancellation request. One of: - "ACCEPTED": The cancellation was successful - "DECLINED": Th…
AmendPerTravelerQuestions
object
AmendmentQuoteResponseRejected
NextPollAt
string
Timestamp (UTC) indicating the recommended time the endpoint should be hit again. Example: "2025-04-03T02:54:29.082753Z"
PaxMixItem
object
2 properties 2 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

viator-bookings-api-openapi.yml Raw ↑

Other APIs Viator publishes across the network.

Viator Attraction services API
Viator Attractions API
Viator Auxiliary API
Viator Availability API
Viator Booking services API
Viator Deprecated API
Viator Deprecated services API
Viator General services API
Viator Payments API
Viator Product services API
Viator Products API
Viator Reservation system APIs API
Where this information came from

This is an independent, third-party profile of Viator Bookings API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.