WeTravel Add-ons API

The Add-ons API from WeTravel — 2 operation(s) for add-ons.

OpenAPI Specification

wetravel-add-ons-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: WeTravel Partner Access token Add-ons API
  version: 2.0.0
  description: WeTravel Partner API — Trip Builder, Bookings/Orders, Payments (payment links), Transactions, Suppliers and Leads. Enables travel companies to programmatically create WeTravel trip and booking pages and sync customers, orders and transactions. Harvested from the WeTravel Developer Hub per-endpoint OpenAPI fragments (developer.wetravel.com). Paths normalized to the https://api.wetravel.com/v2 base.
  x-apievangelist:
    generated: '2026-07-21'
    method: searched
    source: https://developer.wetravel.com/reference (per-endpoint OpenAPI fragments, merged; paths normalized to the /v2 base)
    note: Harvested v2 Partner API. Current release is v3 (2026-02-01); see changelog/.
servers:
- url: https://api.wetravel.com/v2
  description: Production
- url: https://api.demo.wetravel.to/v2
  description: Sandbox
security:
- bearerAuth: []
- tokenAuth: []
tags:
- name: Add-ons
paths:
  /draft_trips/{trip_uuid}/options:
    post:
      tags:
      - Add-ons
      summary: Create add-on
      description: Create Add-on
      operationId: createOption
      parameters:
      - name: trip_uuid
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  $ref: '#/components/schemas/CreateOption'
        required: true
      responses:
        '201':
          description: Successfully created
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/Option'
    get:
      tags:
      - Add-ons
      summary: List add-ons
      description: Get Add-ons
      operationId: getOptions
      parameters:
      - name: trip_uuid
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Get Add-ons
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Option'
  /draft_trips/{trip_uuid}/options/{id}:
    delete:
      tags:
      - Add-ons
      summary: Delete add-on
      description: Delete Add-on
      operationId: deleteOption
      parameters:
      - name: trip_uuid
        in: path
        required: true
        schema:
          type: string
      - name: id
        in: path
        description: ID of the add-on
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Delete Add-on
          content: {}
    get:
      tags:
      - Add-ons
      summary: Get add-on
      description: Get Add-on
      operationId: getOptionById
      parameters:
      - name: trip_uuid
        in: path
        required: true
        schema:
          type: string
      - name: id
        in: path
        description: ID of the add-on
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Get Add-on
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/Option'
    patch:
      tags:
      - Add-ons
      summary: Update add-on
      description: Update Add-on
      operationId: updateOption
      parameters:
      - name: trip_uuid
        in: path
        required: true
        schema:
          type: string
      - name: id
        in: path
        description: ID of the add-on
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  $ref: '#/components/schemas/UpdateOption'
        required: true
      responses:
        '200':
          description: Successfully updated
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/Option'
components:
  schemas:
    CreateOption:
      required:
      - name
      - price
      type: object
      properties:
        name:
          type: string
          description: Name of the add-on option
          example: Special Tour
        description:
          type: string
          description: Description of the add-on option
          example: Extra 1 day for hiking
        price:
          type: integer
          description: Price of the add-on option
          format: int32
          example: 2000
          minimum: 0
          maximum: 1000000000
        price_type:
          type: string
          description: Type of the add-on option, can be "option" or "personal_option"
          example: personal_option
        quantity:
          type: integer
          description: 'Quantity of the add-on option. You can set it to null for "unlimited" value. (NOTE: setting "null" value is not possible in this editor)'
          format: int32
          example: 5
          minimum: 0
          maximum: 999
        days_before_departure:
          type: integer
          description: "Whether this add-on has a booking deadline. The deadline is defined in relation to the trip start date.\n            E.g. if this setting is set to “5” and the trip starts on January 15, then the booking deadline will be January 10."
          format: int32
          example: 0
          default: 0
      description: Create Add-on
    UpdateOption:
      type: object
      properties:
        name:
          type: string
          description: Name of the add-on option
          example: Special Tour
        description:
          type: string
          description: Description of the add-on option
          example: Extra 1 day for hiking
        price:
          type: integer
          description: Price of the add-on option
          format: int32
          example: 2000
          minimum: 0
          maximum: 1000000000
        price_type:
          type: string
          description: Type of the add-on option, can be "option" or "personal_option"
          example: personal_option
        quantity:
          type: integer
          description: 'Quantity of the add-on option. You can set it to null for "unlimited" value. (NOTE: setting "null" value is not possible in this editor)'
          format: int32
          example: 5
          minimum: 0
          maximum: 999
        days_before_departure:
          type: integer
          description: "Whether this add-on has a booking deadline. The deadline is defined in relation to the trip start date.\n            E.g. if this setting is set to “5” and the trip starts on January 15, then the booking deadline will be January 10."
          format: int32
          example: 0
          default: 0
      description: Update Add-on
    Option:
      required:
      - name
      - price
      - trip_uuid
      type: object
      properties:
        id:
          type: string
          description: ID of the add-on option
          example: '2510177931054358528'
        trip_uuid:
          type: string
          description: Unique ID of the trip
          example: '105544110'
        name:
          type: string
          description: Name of the add-on option
          example: Special Tour
          default: Special Tour
        description:
          type: string
          description: Description of the add-on option
          example: Extra 1 day for hiking
          default: Extra 1 day for hiking
        price:
          type: integer
          description: Price of the add-on option
          format: int32
          example: 2000
          minimum: 0
          maximum: 1000000000
        price_type:
          type: string
          description: Type of the add-on option, can be "option" or "personal_option"
          example: personal_option
          default: personal_option
        quantity:
          type: integer
          description: 'Quantity of the add-on option. You can set it to null for "unlimited" value. (NOTE: setting "null" value is not possible in this editor)'
          format: int32
          example: 5
          minimum: 0
          maximum: 999
        days_before_departure:
          type: integer
          description: "Whether this add-on has a booking deadline. The deadline is defined in relation to the trip start date.\n            E.g. if this setting is set to “5” and the trip starts on January 15, then the booking deadline will be January 10."
          format: int32
          example: 0
          default: 0
        created_at:
          type: integer
          description: Time at which the object was created. Measured in seconds since the Unix epoch.
          format: int32
          example: 155564
      description: Add-on model
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
    tokenAuth:
      type: apiKey
      in: header
      name: X-Api-Key