> ## Documentation Index
> Fetch the complete documentation index at: https://mcp.theoryofevolution.com.au/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a Product

> ## Create a Product ##

<p>
Creates a new Product with the details provided.
</p>

#### Response ####
**Top Level Result Object**

 <table class="fullwidth">
     <thead>
         <tr>
             <th>Field name</th>
             <th>Nullable</th>
             <th>Type</th>
             <th>Description</th>
         </tr>
     </thead>
     <tbody>
         <tr>
             <td>productId</td><td>n</td><td>Integer</td><td>ID of the newly created Product.</td>
         </tr>
     </tbody>
 </table>

<p>
Note that HTML text fields support a very limited subset of HTML - &lt;p&gt;, &lt;ol&gt;, &lt;ul&gt;, &lt;li&gt; and &lt;br&gt; elements only are
permitted, and no attributes may be used on any of these elements. This helps us to prevent malicious content and
ensure a consistent visual presentation for all products in our TravelDesk™ system.</p>



## OpenAPI

````yaml /openapi/website-travel-supplier-api.mintlify.json post /{supplierapi}/product
openapi: 3.0.0
info:
  title: Website Travel Supplier API
  version: 0.0.0
  description: >-
    Supplier-facing Website Travel API for authentication, products, media,
    cancellation policies, and vouchers.
servers: []
security: []
tags:
  - name: Version 1
    description: Version 1
  - name: Media
    description: Media
  - name: Packages
    description: Packages
  - name: Booking Details
    description: Booking Details
  - name: Product Prices
    description: Product Prices
  - name: Products
    description: Products
  - name: Vouchers
    description: Vouchers
paths:
  /{supplierapi}/product:
    post:
      tags:
        - Version 1
        - Products
      summary: Create a Product
      description: >-
        ## Create a Product ##


        <p>

        Creates a new Product with the details provided.

        </p>


        #### Response ####

        **Top Level Result Object**

         <table class="fullwidth">
             <thead>
                 <tr>
                     <th>Field name</th>
                     <th>Nullable</th>
                     <th>Type</th>
                     <th>Description</th>
                 </tr>
             </thead>
             <tbody>
                 <tr>
                     <td>productId</td><td>n</td><td>Integer</td><td>ID of the newly created Product.</td>
                 </tr>
             </tbody>
         </table>

        <p>

        Note that HTML text fields support a very limited subset of HTML -
        &lt;p&gt;, &lt;ol&gt;, &lt;ul&gt;, &lt;li&gt; and &lt;br&gt; elements
        only are

        permitted, and no attributes may be used on any of these elements. This
        helps us to prevent malicious content and

        ensure a consistent visual presentation for all products in our
        TravelDesk™ system.</p>
      operationId: post_api_product_supplierproduct_addproduct
      parameters:
        - name: supplierapi
          in: path
          required: true
          schema:
            type: string
            pattern: supplier|apiv1/supplier
      requestBody:
        description: Create a Product
        required: true
        content:
          application/json:
            schema:
              required:
                - productName
                - country
                - productClassId
                - addressLineOne
                - addressCity
                - addressPostcode
              properties:
                productName:
                  description: Name of the Product.
                  type: string
                mediaId:
                  description: ID of the Media Image use as Product thumbnail.
                  type: integer
                country:
                  description: 2-character Country code.
                  type: string
                  format: ISO 3166
                timezone:
                  description: >-
                    String (e.g. "Australia/Sydney") representing products
                    timezone. If left empty, will default to Suppliers timezone.
                    Based on timezone database @ https://www.iana.org/time-zones
                  type: string
                productClassId:
                  description: >-
                    ID of Product Class (see output from
                    /categories/productclasses).
                  type: integer
                apiProviderId:
                  description: >-
                    Internal use only, if you've been given a value to use for
                    this property then please do so here.
                  type: integer
                externalId:
                  description: >-
                    Internal use only, if you've been given a value to use for
                    this property then please do so here.
                  type: integer
                rating:
                  description: >-
                    Valid only for Accommodation products. A 'star' rating in
                    the range of 1-5 and accepting of half values e.g. '3.5'.
                  type: string
                teaser:
                  description: Brief product description (up to 300 characters).
                  type: string
                  format: HTML
                description:
                  description: Longer product description.
                  type: string
                  format: HTML
                itineraryDetails:
                  description: Array of itinerary details in objects.
                  type: array
                  items:
                    type: string
                departuresPickups:
                  description: Information about departures or pickups.
                  type: string
                  format: HTML
                extras:
                  description: >-
                    Information about extras which are not included in product
                    price - eg airport transfers, meals.
                  type: string
                  format: HTML
                voucherInstructions:
                  description: >-
                    Information for customer, including phone numbers and
                    confirmation instructions
                  type: string
                  format: HTML
                voucherInformationContactDetailsBits:
                  description: >-
                    Combined bitwise value of contact details to be printed on
                    voucher.
                  type: integer
                agentInstructions:
                  description: Additional information for the agent.
                  type: string
                  format: HTML
                noRefunds:
                  description: Disables refunds for the product.
                  type: boolean
                noRefundsMessage:
                  description: Message explaining why refunds are not available.
                  type: string
                  format: HTML
                cancellationFeePolicyId:
                  description: >-
                    ID of product's cancellation fee policy (not applicable if
                    noRefunds is turned on).
                  type: integer
                contactPhone:
                  description: Contact phone number.
                  type: string
                contactEmail:
                  description: Contact email address.
                  type: string
                addressLineOne:
                  description: First line of Product Address.
                  type: string
                addressLineTwo:
                  description: Second line of Product Address.
                  type: string
                addressSuburb:
                  description: Suburb of Product Address.
                  type: string
                addressCity:
                  description: City of Product Address.
                  type: string
                addressState:
                  description: State of Product Address.
                  type: string
                addressPostcode:
                  description: Postcode of Product Address.
                  type: string
                startLocation:
                  description: Category ID of Product start location.
                  type: integer
                secondaryLocation:
                  description: Category ID of Product's secondary location.
                  type: integer
                endLocation:
                  description: Category ID of end location.
                  type: integer
                activityTypes:
                  description: Array of Category ID's (Integers) of activity type.
                  type: array
                  items:
                    type: integer
                accommodationTypes:
                  description: Array of Category ID's (Integers) of accommodation types.
                  type: array
                  items:
                    type: integer
                transportTypes:
                  description: Array of Category ID's (Integers) of transport types.
                  type: array
                  items:
                    type: integer
                minAgeRecommendation:
                  description: Minimum recommended age.
                  type: integer
                maxAgeRecommendation:
                  description: Maximum recommended age.
                  type: integer
                ageRestriction:
                  description: >-
                    Description of any age restrictions (e.g. for an R18
                    hostel).
                  type: string
                fitnessRequirements:
                  description: Description of fitness requirements.
                  type: string
                minGroupSize:
                  description: Minimum group size.
                  type: integer
                maxGroupSize:
                  description: Maximum group size.
                  type: integer
                dietaryRequirements:
                  description: Description of dietary requirements.
                  type: string
                luggageRequirements:
                  description: Description of luggage requirements.
                  type: string
                includedItems:
                  description: Array of items included in the fare.
                  type: array
                  items:
                    type: string
                bringItems:
                  description: Array of items that guest is expected to bring.
                  type: array
                  items:
                    type: string
                voucherTerms:
                  description: Description of terms and conditions, disclaimers etc.
                  type: string
                weekDays:
                  description: Array of days of week that trip departs.
                  type: array
                  items:
                    type: string
                departureDates:
                  description: Comma-separated tour departure dates
                  type: string
                recurrenceDate:
                  description: >-
                    Frequency of departure recurrence (e.g. 'Weekly' or
                    'Monthly').
                  type: string
                specialCircumstanceDate:
                  description: >-
                    Description of special dates which affect departure info
                    (e.g. Christmas Day).
                  type: string
                operatingPartner:
                  description: Operating partner.
                  type: string
                tourCode:
                  description: Tour code.
                  type: string
                mandatoryFieldCheckout:
                  description: >-
                    Array of customer fields absolutely necessary to make the
                    booking. Customer field names: title, phone, emailAddress,
                    dateOfBirth, redeemerCountry, postcode.
                  type: array
                  items:
                    type: string
              type: object
      responses:
        '201':
          description: Returned when successful.
        '400':
          description: Returned when there is an issue with the data provided.
        '403':
          description: Returned when the user is not authorized.
        '500':
          description: Returned when fatal issues are encountered.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.