### Get Activities Example Source: https://partner-api.musement.com/reference/openapi/activities/get/activities/activityuuid This example demonstrates how to make a GET request to retrieve activities with a comprehensive set of query parameters. ```APIDOC ## GET /activities ### Description Retrieves a list of activities based on various filtering and sorting criteria. ### Method GET ### Endpoint `https://partner-api.musement.com/_mock/reference/openapi/activities` ### Parameters #### Query Parameters - **available_from** (string) - Optional - Filter activities available from this date. - **available_language_in** (string) - Optional - Filter activities available in the specified languages. - **available_to** (string) - Optional - Filter activities available until this date. - **category_in** (string) - Optional - Filter activities by category. - **city_in** (string) - Optional - Filter activities by city ID. - **coordinates** (string) - Optional - Filter activities by geographical coordinates (latitude,longitude). - **country_in** (string) - Optional - Filter activities by country code. - **default_price_range** (string) - Optional - Filter activities within a price range (min,max). - **distance** (string) - Optional - Filter activities by distance from a point (e.g., '5KM'). - **discounted** (string) - Optional - Filter for discounted activities ('YES' or 'NO'). - **duration_range** (string) - Optional - Filter activities by duration range (min,max). - **extend_content_fields** (string) - Optional - Extend content fields (e.g., 'AUTO'). - **extend_other_languages** (string) - Optional - Extend content for other languages (e.g., 'AUTO'). - **feature_in** (string) - Optional - Filter activities by feature. - **flavour_in** (string) - Optional - Filter activities by flavour ID. - **flavour_not_in** (string) - Optional - Exclude activities by flavour ID. - **fuzziness_level** (string) - Optional - Set fuzziness level for search (e.g., 'AUTO'). - **include_facets** (string) - Optional - Include facets in the response (e.g., 'feature,service'). - **limit** (integer) - Optional - Maximum number of results to return. - **offset** (integer) - Optional - Number of results to skip. - **pickup_in** (string) - Optional - Filter activities by pickup point ID. - **preferred_seller_boost** (integer) - Optional - Boost for preferred sellers. - **preferred_seller_code** (string) - Optional - Filter by preferred seller code. - **seller_in** (string) - Optional - Filter activities by seller. - **text** (string) - Optional - Search text for activities. - **text_operator** (string) - Optional - Operator for text search (e.g., 'AND'). - **service_in** (string) - Optional - Filter activities by service. - **sort_by** (string) - Optional - Sort order for results (e.g., 'price,-rating'). - **temporary** (string) - Optional - Filter for temporary activities ('YES' or 'NO'). - **venue_in** (string) - Optional - Filter activities by venue ID. - **zero_terms_query** (string) - Optional - Query type for zero terms (e.g., 'NONE'). - **vertical_in** (string) - Optional - Filter activities by vertical. ### Headers - **Accept-Language**: (string) - Example: 'en-US' - **X-Musement-Application**: (string) - **X-Musement-Currency**: (string) - Example: 'USD' - **X-Musement-Market**: (string) - Example: 'us' - **X-Musement-Version**: (string) - Example: '3.4.0' ### Response #### Success Response (200) (Response structure not provided in the source text) #### Response Example (Response example not provided in the source text) ``` -------------------------------- ### Example API Call with X-Musement-Market Header Source: https://partner-api.musement.com/api/getting-started/headers/market.md This example demonstrates how to make a GET request to the /activities endpoint, including the necessary X-Musement-Market header along with other required headers. ```APIDOC ## GET /activities ### Description Retrieves a list of activities, potentially customized based on the provided market code. ### Method GET ### Endpoint /activities ### Headers - **X-Musement-Application** (string) - Required - Your application identifier. - **X-Musement-Market** (string) - Required - The market code provided by Musement for your partnership. - **X-Musement-Version** (string) - Required - The API version to use (e.g., 3.4.0). - **Authorization** (string) - Required - Bearer token for authentication. ### Request Example ```bash curl -X GET '{baseUrl}/activities' \ -H 'X-Musement-Application: {applicationValue}' \ -H 'X-Musement-Market: {marketCode}' \ -H 'X-Musement-Version: 3.4.0' \ -H 'Authorization: Bearer {accessToken}' ``` ### Response #### Success Response (200) - **activities** (array) - A list of activities available in the specified market. - **prices** (object) - Pricing information relevant to the specified market. #### Response Example ```json { "activities": [ { "id": "activity-id-1", "name": "Example Activity 1" }, { "id": "activity-id-2", "name": "Example Activity 2" } ], "prices": { "currency": "EUR", "base_price": 50.00 } } ``` ``` -------------------------------- ### Example Authentication Request with X-Musement-Application Header Source: https://partner-api.musement.com/guide/overview/x-musement-application-header This example demonstrates how to include the X-Musement-Application header in a POST request for authentication. Replace placeholders such as {baseUrl}, {applicationValue}, {clientId}, {clientSecret}, and {clientCredentials} with your specific details. ```bash curl -X POST '{baseUrl}/login' \ -H 'X-Musement-Application: {applicationValue}' \ -H 'X-Musement-Version: 3.4.0' \ -H 'Content-Type: application/json' \ --data-raw '{ "client_id": "{clientId}", "client_secret": "{clientSecret}", "grant_type": "{clientCredentials}" }' ``` -------------------------------- ### Get Categories Request Example Source: https://partner-api.musement.com/reference/openapi/categories/get/categories This example demonstrates how to make a GET request to the /categories endpoint with various query parameters and headers. Use this to fetch a filtered list of categories. ```curl curl -i -X GET \ 'https://partner-api.musement.com/_mock/reference/openapi/categories?filtering_aware=true&level=0&limit=10&offset=0&parent_id=0' \ -H 'Accept-Language: en-US' \ -H 'X-Musement-Application: string' \ -H 'X-Musement-Market: us' \ -H 'X-Musement-Version: 3.4.0' ``` -------------------------------- ### Advanced Widget Configuration Source: https://partner-api.musement.com/widgets/set-up.md This example demonstrates advanced widget configuration by setting the market prefix to 'it' and limiting the displayed activities to 10. Refer to the configuration section for more attributes. ```html
``` -------------------------------- ### Get List Regions Example Source: https://partner-api.musement.com/reference/openapi/lists/get/lists/listid/regions This example demonstrates how to retrieve regions for a specific list ID. Ensure you replace `{listId}` with the actual ID of the list. ```curl curl -i -X GET \ 'https://partner-api.musement.com/v3/lists/{listId}/regions' \ -H 'Accept-Language: en-US' \ -H 'X-Musement-Application: string' \ -H 'X-Musement-Version: 3.4.0' ``` -------------------------------- ### Get City Categories Example Source: https://partner-api.musement.com/reference/openapi/cities/get/cities/cityid/categories/categoryid This example demonstrates how to retrieve categories for a city. The response includes details about each category, such as its abstract, address, and associated events. ```APIDOC ## GET /cities/{cityId}/categories/{categoryId} ### Description Retrieves a list of categories for a specific city. ### Method GET ### Endpoint /cities/{cityId}/categories/{categoryId} ### Parameters #### Path Parameters - **cityId** (string) - Required - The ID of the city. - **categoryId** (string) - Required - The ID of the category. ### Response #### Success Response (200) - **abstract** (string) - A short description of the venue. Deprecated. - **address** (string) - The address of the venue. - **city** (object) - Information about the city. - **country** (object) - Information about the country. - **cover_image_url** (string) - The URL of the cover image for the venue. - **description** (string) - A detailed description of the venue. - **description_html** (string) - A detailed description of the venue in HTML format. - **events_count** (integer) - The number of events available for the venue. - **id** (integer) - The unique identifier of the venue. - **latitude** (number) - The latitude coordinate of the venue. - **longitude** (number) - The longitude coordinate of the venue. - **meta_description** (string) - The meta description for the venue's page. - **meta_title** (string) - The meta title for the venue's page. - **name** (string) - The name of the venue. - **headline** (string) - The headline for the venue. - **relevance** (integer) - A property used for ranking multiple verticals by popularity. Top selling verticals will have a higher value. - **reviews_avg** (number) - The average rating of reviews for the venue. - **reviews_number** (integer) - The total number of reviews for the venue. - **show_calendar** (boolean) - Show the calendar on the venue page. Deprecated. - **show_flavours_filter** (boolean) - Show venue flavours as a filter on the venue page. Deprecated. - **slug** (string) - The slug for the venue's URL. - **status** (string) - The status of the venue (e.g., ACTIVE). - **tips** (array) - Deprecated. Required. - **url** (string) - The URL of the venue. - **verticals** (array) - Information about the verticals associated with the venue. #### Response Example ```json [ { "abstract": "string", "address": "string", "city": { ... }, "country": { ... }, "cover_image_url": "http://example.com", "description": "string", "description_html": "string", "events_count": 0, "id": 0, "latitude": 0.1, "longitude": 0.1, "meta_description": "string", "meta_title": "string", "name": "string", "headline": "string", "relevance": 0, "reviews_avg": 0.1, "reviews_number": 0, "show_calendar": true, "show_flavours_filter": true, "slug": "string", "status": "ACTIVE", "tips": [], "url": "http://example.com", "verticals": [ ... ] } ] ``` ``` -------------------------------- ### Example API Call with X-Musement-Market Header Source: https://partner-api.musement.com/api/getting-started/headers/market.md Use this header to request a customized catalog of activities and prices. Ensure you replace placeholders like {baseUrl}, {applicationValue}, {marketCode}, and {accessToken} with your specific values. ```bash curl -X GET '{baseUrl}/activities' \ -H 'X-Musement-Application: {applicationValue}' \ -H 'X-Musement-Market: {marketCode}' \ -H 'X-Musement-Version: 3.4.0' \ -H 'Authorization: Bearer {accessToken}' ``` -------------------------------- ### Example Order Response Snippet Source: https://partner-api.musement.com/api/booking-flow/order/prices.md An example JSON snippet from the `GET /orders/{orderUuid}` endpoint, illustrating the structure of price objects within an order. ```APIDOC ```json { "identifier": "MUS0738876", "uuid": "8bd6f4a4-ece7-4cf6-a1c4-2455b6f5f514", "date": "2024-08-17T15:59:43+0000", "status": "OK", "items": [ { "uuid": "8b742505-38c7-4bed-9bf5-468a3e7cc731", "code": "MOI12345678", "quantity": 2, "status": "OK", "product": { "type": "musement", "title": "Exclusive skip-the-line guided visit", "original_retail_price": { "currency": "USD", "value": 12.0, "formatted_value": "$ 12.00", "formatted_iso_value": "$12.00" }, "original_retail_price_without_service_fee": { "currency": "USD", "value": 10.0, "formatted_value": "$ 10.00", "formatted_iso_value": "$10.00" }, "retail_price": { "currency": "USD", "value": 10.8, "formatted_value": "$ 10.80", "formatted_iso_value": "$10.80" }, "retail_price_without_service_fee": { "currency": "USD", "value": 8.8, "formatted_value": "$ 8.80", "formatted_iso_value": "$8.80" }, "discount_amount": { "currency": "USD", "value": 1.2, "formatted_value": "$ 1.20", "formatted_iso_value": "$1.20" }, "service_fee": { "currency": "USD", "value": 2.0, "formatted_value": "$ 2.00", "formatted_iso_value": "$2.00" } }, "retail_price_in_order_currency": { "currency": "USD", "value": 10.8, "formatted_value": "$ 10.80", "formatted_iso_value": "$10.80" }, "total_retail_price_in_order_currency": { "currency": "USD", "value": 21.6, "formatted_value": "$ 21.60", "formatted_iso_value": "$21.60" }, "vouchers": [ { "url": "https://www.musement.com/voucher/view/abc123?pdf=1" } ] } ], "total_price": { "currency": "USD", "value": 16.85, "formatted_value": "$ 16.85", "formatted_iso_value": "$16.85" }, "discount_amount": { "currency": "USD", "value": 7.15, "formatted_value": "$ 7.15", "formatted_iso_value": "$7.15" } } ``` ``` -------------------------------- ### Create Order with Affiliate Tracking Source: https://partner-api.musement.com/api/partner/booking-flow/order/create This example shows how to create an order and include parameters for affiliate tracking. ```APIDOC ## POST /orders ### Description Creates an order from a cart. The cart must meet specific requirements, and optional parameters can be included for enhanced functionality. ### Method POST ### Endpoint `{baseUrl}/orders` ### Parameters #### Request Body - **cart_uuid** (string) - Required - The unique identifier for the cart. - **email_notification** (string) - Optional - Controls email notifications. Accepted values: `ALL`, `NONE`, `TO-CUSTOMER`. - **extra_data** (string) - Optional - A serialized JSON object containing additional information. - **affiliate** (string) - Optional - Identifier for affiliate tracking. - **affiliate_channel** (string) - Optional - The channel for affiliate tracking. Cannot be specified without `affiliate`. - **sms_notification_to** (string) - Optional - A phone number in E.164 format to enable SMS notifications. - **source** (string) - Optional - Indicates the origin of the order (e.g., `frontend`, `app`). Available from API version 3.4.0. ### Request Example ```json { "cart_uuid": "{cartUuid}", "affiliate": "affiliate_123", "affiliate_channel": "web" } ``` ### Response #### Success Response (200) - **order_uuid** (string) - The unique identifier for the created order. - **status** (string) - The current status of the order. ``` -------------------------------- ### Get Categories for a City Source: https://partner-api.musement.com/reference/openapi/cities/get/cities/cityid/categories/categoryid This example demonstrates how to retrieve categories for a specific city using its ID. ```APIDOC ## GET /cities/{cityId}/categories ### Description Retrieves a list of categories available for a specific city. ### Method GET ### Endpoint /cities/{cityId}/categories ### Parameters #### Path Parameters - **cityId** (integer) - Required - The unique identifier of the city. ### Response #### Success Response (200) - **categories** (Array of objects) - A list of category objects. Each object contains: - **id** (integer) - The unique identifier of the category. - **name** (string) - The name of the category. - **slug** (string) - A URL-friendly identifier for the category. - **url** (string) - The URL for the category. - **cover_image_url** (string) - The URL of the cover image for the category. - **meta_description** (string) - Meta description for the category. - **meta_title** (string) - Meta title for the category. - **active** (boolean) - Indicates if the category is currently active. - **relevance** (integer) - The relevance score of the category. #### Response Example ```json [ { "id": 1, "name": "Museums & art", "slug": "museums-art", "url": "https://www.musement.com/us/museums-art-t/", "cover_image_url": "https://images.musement.com/vertical/0001/30/art-and-culture_header-29023.jpeg?w=540", "meta_description": "From classically beautiful renaissance paintings and sculptures to revolutionary modern artworks, admire world-renowned art with Musement.", "meta_title": "Discover the remarkable world of Art and Museums", "active": true, "relevance": 100 } ] ``` ``` -------------------------------- ### Example of URL with Pass Through Parameters Source: https://partner-api.musement.com/widgets/email-widget.md This example demonstrates how to construct a widget URL including the 'pass_through_params' with an 'aid'. ```URL {'{'}baseUrl}/email-widget/activities?number_of_elements=1&city=London&position=1&pass_through_params=%7B%22aid%22%3A%22example-id-123%22%7D ``` -------------------------------- ### GET /activities/{activityUuid}/dates/{date} - 2024-02-20 Update Source: https://partner-api.musement.com/reference/openapi/section/release-notes/endpoints The GET /activities/{activityUuid}/dates/{date} endpoint has been updated to include `availability`, `max_buy`, and `min_buy` properties in timeslots. Refer to the guide for more details. ```APIDOC ## GET /activities/{activityUuid}/dates/{date} ### Description Retrieves available dates for a specific activity, including detailed timeslot information. ### Method GET ### Endpoint `/activities/{activityUuid}/dates/{date}` ### Parameters #### Path Parameters - **activityUuid** (string) - Required - The unique identifier of the activity. - **date** (string) - Required - The specific date for which to retrieve availability. ### Response #### Success Response (200) - **availability** (object) - Contains information about the availability of timeslots. - **max_buy** (integer) - The maximum number of items that can be purchased for a timeslot. - **min_buy** (integer) - The minimum number of items that must be purchased for a timeslot. ``` -------------------------------- ### Autocomplete Request Example Source: https://partner-api.musement.com/reference/openapi/additional-searches/get/autocomplete This example demonstrates how to make a request to the Autocomplete API. It includes common headers and query parameters for fetching suggestions. ```bash curl -X GET \ 'https://partner-api.musement.com/_mock/reference/openapi/autocomplete?activity_limit=0&activity_offset=0&category_limit=0&category_offset=0&city_limit=0&city_offset=0&coordinates=string&country_limit=0&country_offset=0&hotel_limit=0&hotel_offset=0&list_limit=0&list_offset=0&pickup_limit=0&pickup_offset=0&sort_by=distance&text=string&venue_limit=5&venue_offset=0' \ -H 'Accept-Language: en-US' \ -H 'X-Musement-Application: string' \ -H 'X-Musement-Version: 3.4.0' ``` -------------------------------- ### Response for Get tickets for activity in order Source: https://partner-api.musement.com/reference/openapi/vouchers/get/orders/orderuuid/activities/activityuuid/tickets/ticketid Example JSON response when retrieving tickets for an activity in an order. ```json [ { "id": "AW50cmFuY2UtYXV2aW9ndWlkZXr3NzkwNzQ4MQ==", "price_feature_code": "entrance-audioguide", "price_feature": "Entrance + audio guide", "date": "2021-06-15T16:00:00+0000" } ] ``` -------------------------------- ### Create Order Request Example Source: https://partner-api.musement.com/api/booking-flow/order/create.md This cURL command demonstrates a full request to create an order, including optional parameters like affiliate, email notifications, and extra data. ```bash curl -X POST '{baseUrl}/orders' \ -H 'X-Musement-Application: {applicationValue}' \ -H 'X-Musement-Version: 3.5.0' \ -H 'Authorization: Bearer {accessToken}' \ -H 'Content-Type: application/json' \ --data-raw '{ "cart_uuid": "550e8400-e29b-41d4-a716-446655440000", "affiliate": "affiliate_123", "affiliate_channel": "web", "email_notification": "TO-CUSTOMER", "sms_notification_to": "+39123456789", "extra_data": "{\"clientReferenceId\":\"12345678\",\"reservationId\":\"3E5B7445-00E6-4ED6-9321-19E30D73A128\"}", "refundable": true, "source": "frontend" }' ``` -------------------------------- ### Authenticate with POST /login Source: https://partner-api.musement.com/api/getting-started/authentication.md Use this endpoint to obtain an access token. Ensure you include the mandatory `client_id`, `client_secret`, and `grant_type` in the request body. The `X-Musement-Application` and `X-Musement-Version` headers are also required. ```bash curl -X POST '{baseUrl}/login' \ -H 'X-Musement-Application: {applicationValue}' \ -H 'X-Musement-Version: 3.4.0' \ -H 'Content-Type: application/json' \ --data-raw '{ "client_id": "{clientId}", "client_secret": "{clientSecret}", "grant_type": "client_credentials" }' ``` -------------------------------- ### Get Venue Flavours Request Example Source: https://partner-api.musement.com/reference/openapi/venues/get/venues/venueid/comments Use this cURL command to make a GET request to retrieve flavours for a specific venue. Ensure you replace `{venueId}` with the actual venue ID and provide the necessary headers. ```curl curl -i -X GET \ 'https://partner-api.musement.com/_mock/reference/openapi/venues/{venueId}/flavours' \ -H 'Accept-Language: en-US' \ -H 'X-Musement-Application: string' \ -H 'X-Musement-Version: 3.4.0' ``` -------------------------------- ### Activity with Meeting Point Instructions Source: https://partner-api.musement.com/api/catalog/activities/meeting-point.md Example JSON response illustrating the presence of specific meeting point instructions in various formats (text, markdown, HTML). ```json { [...] "meeting_point": "Show your ticket at the museum entrance", "meeting_point_markdown": "Show your ticket at the museum entrance", "meeting_point_html": "

Show your ticket at the museum entrance

", [...] } ``` -------------------------------- ### Get Activity Bundles - cURL Example Source: https://partner-api.musement.com/reference/openapi/activities/get/activities/activityuuid/bundles Use this cURL command to make a GET request to retrieve bundles for a specific activity. Ensure you replace `{activityUuid}` with the actual activity ID and set the required headers. ```curl curl -i -X GET \ 'https://partner-api.musement.com/_mock/reference/openapi/activities/{activityUuid}/bundles' \ -H 'Accept-Language: en-US' \ -H 'X-Musement-Application: string' \ -H 'X-Musement-Currency: USD' \ -H 'X-Musement-Market: us' \ -H 'X-Musement-Version: 3.4.0' ``` -------------------------------- ### Activity Bundles Response Example Source: https://partner-api.musement.com/reference/openapi/activities/get/activities/activityuuid/bundles This is an example of the JSON response structure when successfully retrieving activity bundles. It includes discount information and details about the bundled activities. ```json [ { "discount": 0, "discount_type": "percentage", "bundle_type": "no_discount", "rule_id": "247", "activities": [ … ] } ] ``` -------------------------------- ### Get categories for a city using cURL Source: https://partner-api.musement.com/reference/openapi/cities/get/cities/cityid/activities/tomorrow This example demonstrates how to make a GET request to retrieve categories for a specific city using cURL. It includes essential headers for language, application identification, market, and API version. ```curl curl -i -X GET \ 'https://partner-api.musement.com/_mock/reference/openapi/cities/{cityId}/categories?limit=10' \ -H 'Accept-Language: en-US' \ -H 'X-Musement-Application: string' \ -H 'X-Musement-Market: us' \ -H 'X-Musement-Version: 3.4.0' ``` -------------------------------- ### Create Order with Affiliate Tracking Source: https://partner-api.musement.com/api/booking-flow/order/create.md Include `affiliate` and optionally `affiliate_channel` parameters to track orders for affiliate partners. Note that `affiliate_channel` cannot be specified without `affiliate`. ```bash curl -X POST '{baseUrl}/orders' \ -H 'X-Musement-Application: {applicationValue}' \ -H 'X-Musement-Version: 3.4.0' \ -H 'Authorization: Bearer {accessToken}' \ -H 'Content-Type: application/json' \ --data-raw '{ \ "cart_uuid": "{cartUuid}", \ "affiliate": "affiliate_123", \ "affiliate_channel": "web" \ }' ``` -------------------------------- ### Curl Request to Get Activities in Venue Source: https://partner-api.musement.com/reference/openapi/venues/get/venues/venueid/comments This example demonstrates how to make a GET request to retrieve activities for a specific venue. It includes common query parameters and essential headers for localization, application identification, currency, and API versioning. ```curl curl -i -X GET \ 'https://partner-api.musement.com/_mock/reference/openapi/venues/{venueId}/activities?category=1&city=1&flavour=1&limit=100&offset=0&sort_by=city-relevance&vertical=1' \ -H 'Accept-Language: en-US' \ -H 'X-Musement-Application: string' \ -H 'X-Musement-Currency: USD' \ -H 'X-Musement-Version: 3.4.0' ``` -------------------------------- ### Get Activity Dates with Query Parameters and Headers Source: https://partner-api.musement.com/reference/openapi/activities/get/activities/activityuuid This example demonstrates how to call the API to get activity dates, including various query parameters for filtering and specific headers for customization. Ensure the `activityUuid` is replaced with a valid UUID. ```curl curl -i -X GET \ 'https://partner-api.musement.com/_mock/reference/openapi/activities/{activityUuid}/dates?date_from=2019-08-24&date_to=2019-08-24&discounts%5B%5D=10%2C15.5%2C22.05&pickup=497f6eca-6276-4993-bfeb-53cbbbba6f08&tickets_number=0' \ -H 'Accept-Language: en-US' \ -H 'X-Musement-Application: string' \ -H 'X-Musement-Currency: USD' \ -H 'X-Musement-Market: us' \ -H 'X-Musement-Version: 3.4.0' ```