Skip to content

Musement API (3.5.0)

For merchant or affiliate partners wishing to use the Musement API.

Authentication

See the Authentication section for details on how to authenticate with the API.

Release notes

2024-06-18

Endpoints

  • GET /activities/{activityUuid}/dates/{date}
    • Changed default min_buy value from -1 to 1

2024-02-21

Endpoints

  • Added GET /orders/{orderUuid}/refunds
    • Returns an array of paid refunds for an order

2024-02-20

Endpoints

  • GET /activities/{activityUuid}/dates/{date}
    • Added availability, max_buy and min_buy properties to timeslots. For more info, check out our guide
Download OpenAPI description
Overview
Languages
Servers
Mock server
https://partner-api.musement.com/_mock/reference/openapi
Sandbox server
https://sandbox.musement.com/api/v3
Production server
https://api.musement.com/api/v3

Searching activities

A collection of endpoints which can be used to search the catalog for relevant activities.

Operations

Activity info

A collection of endpoints which can be used to provide information to customers about a specific activity.

Operations

Pickups

Some activities require selecting a pickup location as part of the booking flow.

Operations

Dates

A collection of endpoints for selecting available dates and products.

Operations

Carts

A collection of endpoints for managing a customer's cart during the booking flow.

Operations

Customer info

When making a reservation, different steps must be taken to provide information about the customers. This collection includes endpoints for submitting info about the lead booker, extra customer data and participant info.

Operations

Update customer info for cart

Request

Use this endpoint to provide information about the customer and extra customer data (if any).

The request body must match the schema returned by the GET /carts/{cartUuid}/customer/schema endpoint.

Path
cartUuidstring(uuid)required

The UUID of the cart.

Headers
X-Musement-Applicationstring(Application value)

A partner's application value, used for analyzing API usage and to identify areas of improvement.

X-Musement-Marketstring(Musement market)

Musement markets contain a modified catalog of activities and prices. Partners are expected to use their assigned market code to view their customized catalog.

An invalid X-Musement-Market value will return a 400 status code response.

Default us
X-Musement-Versionstring^[0-9]+?.[0-9]+?.[0-9]+?$

The API version to use for the request.

When absent, the latest version is used by default, however the latest version may not be stable. Partners are encouraged to use the latest stable version: 3.4.0.

Example: 3.4.0
Bodyapplication/jsonrequired
object

The exact request body can vary, depending on the response of the GET /carts/{cartUuid}/customer/schema endpoint.

curl -i -X PUT \
  'https://partner-api.musement.com/_mock/reference/openapi/carts/{cartUuid}/customer' \
  -H 'Content-Type: application/json' \
  -H 'X-Musement-Application: string' \
  -H 'X-Musement-Market: us' \
  -H 'X-Musement-Version: 3.4.0' \
  -d '{
    "email": "api-distribution@tui.com",
    "extra_customer_data": {
      "1714c6a7-2046-11e7-9cc9-06a7e332783f": {
        "phone_number": 1234567890
      }
    },
    "firstname": "John",
    "lastname": "Smith"
  }'

Responses

Customer

Bodyapplication/json
countryobject(Country)

The customer's country.

emailstring(email)required

The customer's email address.

Example: "api-distribution@tui.com"
extra_customer_dataobject(Extra customer data)required

Extra customer data, based on the customer's cart items.

Example: {"1223356a-69a0-4c45-bf51-bd903820d210":{"phone_number":1234567890}}
firstnamestringrequired

The customer's first name.

Example: "John"
lastnamestringrequired

The customer's last name.

Example: "Smith"
thirdparty_newsletterstringrequired

Whether the customer wants to receive newsletters from third parties or not.

Enum"NO""YES"
Example: "NO"
musement_newsletterstringrequired

Whether the customer wants to receive newsletters from Musement or not.

Enum"NO""YES"
Example: "NO"
events_related_newsletterstringrequired

Whether the customer wants to receive newsletters for related activities or not.

Enum"NO""YES"
Example: "NO"
idinteger
avatarstring
currencyobject(Currency)
birthdatestring(date)(Birthdate)
Example: "1970-04-13"
genderobject(CustomerGender)
id_numberstring
mobilestring
addressstring
favourite_cityobject(City)
localestring
Response
application/json
{ "email": "api-distribution@tui.com", "events_related_newsletter": "NO", "extra_customer_data": { "1223356a-69a0-4c45-bf51-bd903820d210": {} }, "firstname": "John", "lastname": "Smith", "musement_newsletter": "NO", "thirdparty_newsletter": "NO" }

Get customer info schema for cart

Request

Before creating an order, customer information must be added to cart. The exact information to provide can vary, depending on the selected activity products.

The response follows the JSON Schema Specification to provide a schema of questions and extra customer data (if any) for the customer to answer in order to complete a reservation.

Path
cartUuidstring(uuid)required

The UUID of the cart.

Headers
Accept-Languagestring(Language code)

The value of this parameter might affect the language of the content in the response, provided a translation in the requested language is available.

Default en-US
X-Musement-Applicationstring(Application value)

A partner's application value, used for analyzing API usage and to identify areas of improvement.

X-Musement-Marketstring(Musement market)

Musement markets contain a modified catalog of activities and prices. Partners are expected to use their assigned market code to view their customized catalog.

An invalid X-Musement-Market value will return a 400 status code response.

Default us
X-Musement-Versionstring^[0-9]+?.[0-9]+?.[0-9]+?$

The API version to use for the request.

When absent, the latest version is used by default, however the latest version may not be stable. Partners are encouraged to use the latest stable version: 3.4.0.

Example: 3.4.0
curl -i -X GET \
  'https://partner-api.musement.com/_mock/reference/openapi/carts/{cartUuid}/customer/schema' \
  -H 'Accept-Language: en-US' \
  -H 'X-Musement-Application: string' \
  -H 'X-Musement-Market: us' \
  -H 'X-Musement-Version: 3.4.0'

Responses

Customer questions

Bodyapplication/json
titlestring

The type of item:

  • cart_customer_guest: Customer info for cart
  • cart_item_participants_info: Participant info for cart item
  • form: Extra customer data
  • participant: Participant info
Enum"cart_customer_guest""cart_item_participants_info""form""participant"
Example: "cart_customer_guest"
typestring
Value"object"
Example: "object"
propertiesobject
Example: {"address":{"title":"address","propertyOrder":9,"type":"string"},"allow_profiling":{"title":"allow_profiling","enum":["NO","YES"],"enum_titles":["NO","YES"],"propertyOrder":5,"type":"string"},"city":{"title":"city","propertyOrder":8,"type":"string"},"email":{"title":"Email address","format":"email","propertyOrder":3,"type":"string"},"events_related_newsletter":{"title":"events_related_newsletter","enum":["NO","YES"],"enum_titles":["NO","YES"],"propertyOrder":7,"type":"string"},"firstname":{"title":"First name","propertyOrder":1,"type":"string"},"lastname":{"title":"Last name","propertyOrder":2,"type":"string"},"musement_newsletter":{"title":"musement_newsletter","enum":["NO","YES"],"enum_titles":["NO","YES"],"propertyOrder":4,"type":"string"},"tax_id":{"title":"tax_id","propertyOrder":11,"type":"string"},"thirdparty_newsletter":{"title":"thirdparty_newsletter","enum":["NO","YES"],"enum_titles":["NO","YES"],"propertyOrder":6,"type":"string"},"zipcode":{"title":"zipcode","propertyOrder":10,"type":"string"}}
requiredArray of strings

A list of properties which require values in order to complete a reservation.

Example: ["allow_profiling","email","events_related_newsletter","firstname","lastname","musement_newsletter","thirdparty_newsletter"]
Response
application/json
{ "title": "cart_customer_guest", "type": "object", "properties": { "property1": {}, "property2": {}, "address": {}, "allow_profiling": {}, "city": {}, "email": {}, "events_related_newsletter": {}, "firstname": {}, "lastname": {}, "musement_newsletter": {}, "tax_id": {}, "thirdparty_newsletter": {}, "zipcode": {} }, "required": [ "allow_profiling", "email", "events_related_newsletter", "firstname", "lastname", "musement_newsletter", "thirdparty_newsletter" ] }

Get participant info for cart item

Request

This endpoint returns participant info that has already been provided for a cart item.

Cart items which do not require participant info will return an empty array.

The exact properties for each participant info vary depending on the cart item requirements.

Path
cartUuidstring(uuid)required

The UUID of the cart.

cartItemUuidstring(uuid)required

The UUID of the cart item.

Headers
X-Musement-Applicationstring(Application value)

A partner's application value, used for analyzing API usage and to identify areas of improvement.

X-Musement-Versionstring^[0-9]+?.[0-9]+?.[0-9]+?$

The API version to use for the request.

When absent, the latest version is used by default, however the latest version may not be stable. Partners are encouraged to use the latest stable version: 3.4.0.

Example: 3.4.0
curl -i -X GET \
  'https://partner-api.musement.com/_mock/reference/openapi/carts/{cartUuid}/items/{cartItemUuid}/participants' \
  -H 'X-Musement-Application: string' \
  -H 'X-Musement-Version: 3.4.0'

Responses

Participant info for cart item

Bodyapplication/jsonArray [
object
]
Response
application/json
[ { "date_of_birth": "1985-11-04", "nationality": "Italy" } ]

Orders

A collection of endpoints for managing orders as part of the booking flow.

Operations

Payments

A collection of endpoints regarding payment during the booking flow. Partners have multiple payment options at their disposal, depending on agreements with the Strategic partnerships team.

Operations

Cancellations

It is possible to cancel reservations, provided that the activity in question is refundable.

Operations

Activities

Activities can be any tour, attraction or experience that customers can reserve via the Musement API.

Operations

Categories

Categories group activities based on similar characteristics.

Operations

Cities

Cities are different types of destinations: islands, natural landmarks, beaches, actual cities and more.

Operations

Countries

A collection of endpoints related to countries in the Musement catalog.

Operations

Lists

Lists are collections of Musement activities and third-party destinations grouped together based on editorial themes.

Operations

Venues

Venues are popular attractions or landmarks.

Operations

Additional searches

A collection of additional endpoints which can be used to search parts of the catalog.

Operations

Carts

A collection of cart endpoints which are not strictly necessary for the booking flow.

Operations

Metadata

Metadata is used for configuring several activity properties.

Operations

Reviews

Customers may leave reviews about their experience with an activity. Reviews consist of a numeric rating and optional written comment.

Operations

Vouchers

A collection of endpoints to use at the end of the booking flow to retrieve reserved tickets and vouchers.

Operations

Webhooks

A collection of webhook requests that Musement's API can make to a partner's service.

Webhooks

Activities

A collection of deprecated endpoints for activities.

Operations

Carts

A collection of deprecated endpoints for carts.

Operations

Cities

A collection of deprecated endpoints for cities.

Operations

Verticals

Verticals are a type of macro category which group various parts of the catalog together based on similar characteristics.

They are considered deprecated.

Operations

Cities

A collection of endpoints for cities that were removed from the API.

Operations

Countries

A collection of endpoints for countries that were removed from the API.

Operations

Events

A collection of endpoints for events, an older term for activities, that were removed from the API.

Operations

Misc

A collection of various endpoints that were removed from the API.

Operations

Venues

A collection of endpoints for venues that were removed from the API.

Operations