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 Booking services API

Booking services

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

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

This API exposes 16 operations across 16 paths, and defines 18 schemas. It is described by OpenAPI 3.2.0, at version 1.0.0.

Requests are made against 2 base URLs: https://viatorapi.viator.com/service, https://viatorapi.sandbox.viator.com/service.

16 operations 16 paths 18 schemas 7 GET9 POST

Metadata

The identity and technical contract details declared by the specification.

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

Authentication & Security 2

Viator Booking services API declares 2 security schemes for authenticating requests. An API key is passed in the header as exp-api-key (API-key). An API key is passed in the query as apiKey (Legacy-API-key). By default, every request must be authenticated.

Paths & Operations 16

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

Booking services 16

Booking services

POST
/booking/availability
/booking/availability
bookingAvailability 1 param body → 200
GET
/booking/availability/dates
/booking/availability/dates
bookingAvailabilityDates 2 params → 200
POST
/booking/availability/tourgrades
/booking/availability/tourgrades
bookingAvailabilityTourgrades 1 param body → 200
POST
/booking/availability/tourgrades/pricingmatrix
/booking/availability/tourgrades/pricingmatrix
bookingAvailabilityTourgradesPricingmatrix 1 param body → 200
POST
/booking/calculateprice
/booking/calculateprice
bookingCalculateprice 1 param body → 200
GET
/booking/hotels
/booking/hotels
bookingHotels 3 params → 200
POST
/booking/book
/booking/book
bookingBook 1 param body → 200
POST
/booking/status
/booking/status
bookingStatus 1 param body → 200
POST
/booking/status/items
/booking/status/items
bookingStatusItems 1 param body → 200
POST
/booking/pricingmatrix
/booking/pricingmatrix
bookingPricingmatrix 1 param body → 200
GET
/booking/voucher
/booking/voucher
bookingVoucher 7 params → 200
GET
/booking/pastbooking
/booking/pastbooking
bookingPastbooking 4 params → 200
GET
/booking/mybookings
/booking/mybookings
bookingMybookings 4 params → 200
GET
/bookings/cancel-reasons
/bookings/cancel-reasons
cancellationReasons 1 param → 200401406500503
GET
/bookings/{booking-reference}/cancel-quote
/bookings/{booking-reference}/cancel-quote
cancelBookingQuote 1 param → 200401406500503
POST
/bookings/{booking-reference}/cancel
/bookings/{booking-reference}/cancel
cancelBooking 2 params body → 200400401404406500503

Schemas 18

The contract defines 18 schemas that model the data the API accepts and returns. The most detailed are basicErrorModel (12 properties), bookingStatus_item (9 properties), bookingStatus_itinerary (9 properties), 401_UNAUTHORIZED (4 properties). Each schema is shown below with its type and property counts.

406_NOT_ACCEPTABLE
object
4 properties
bookingEngineId-response
string
[booking type indicator](section/Key-concepts/Booking-concepts) that indicates whether the booking will be CONFIRMED immediately or if it will remain PENDING e…
basicErrorModel
object
12 properties
CancellationReasonsResponse
object
1 property
CancelBookingQuoteResponse
object
3 properties
503_SERVICE_UNAVAILABLE
object
4 properties
500_INTERNAL_SERVER_ERROR
object
4 properties
CancelBookingResponse
object
3 properties
CancellationReason
object
2 properties
CancellationRequest
object
1 property
ageBandId
integer
unique numeric identifier for the age band - See: [Working with age bands](section/Appendices/Working-with-age-bands)
savingAmountFormated
string
Ignore (Viator only)
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 ref…
4 properties
bandId
integer
unique numeric identifier for the age band - See: [Working with age bands](section/Appendices/Working-with-age-bands)
savingAmount
string
Ignore (Viator only)
401_UNAUTHORIZED
object
4 properties
bookingStatus_item
object
object containing item booking status information
9 properties
bookingStatus_itinerary
object
object containing itinerary booking status information
9 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

viator-booking-services-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 Bookings 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 Booking services 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.