WeTravel Leads API
The Leads API from WeTravel — 2 operation(s) for leads.
The Leads API from WeTravel — 2 operation(s) for leads.
openapi: 3.0.1
info:
title: WeTravel Partner Access token Leads 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: Leads
paths:
/lead/{id}:
get:
tags:
- Leads
description: Get a lead
summary: Get lead
operationId: getLead
parameters:
- name: id
in: path
description: The unique global ID of the lead
required: true
schema:
type: string
responses:
'200':
description: Get a lead
content:
application/json:
schema:
type: object
$ref: '#/components/schemas/Lead'
/lead:
post:
tags:
- Leads
description: Get a list of Leads
summary: List Leads
operationId: getLeads
requestBody:
content:
application/json:
schema:
type: object
$ref: '#/components/schemas/GetLeads'
responses:
'200':
description: Get a list of leads
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Lead'
pagination:
$ref: '#/components/schemas/Pagination'
components:
schemas:
Question:
type: object
properties:
content:
description: Question content
type: string
example: What is your name?
created_at:
description: Question created at
type: string
format: date-time
example: '2017-01-01 00:00:00'
description: Question object
Trip:
required:
- can_contribute
- currency
- destination
- end_date
- group_max
- group_min
- listing_status
- participant_fees
- participant_list_show_type
- start_date
- title
- waiting_list_enabled
type: object
properties:
uuid:
type: string
description: Unique ID of the trip
example: '12345678'
created_at:
type: string
format: date-time
description: Time at which the object was created.
example: '2017-07-21T17:32:28.000Z'
trip_id:
type: string
description: This optional Trip Reference is set by you. It is not visible to your clients. It is only visible to you in your WeTravel dashboard and reporting.
example: TRIP20
url:
type: string
description: Url of the trip
example: https://wetravel.com/trips/123456
title:
type: string
description: Title of the trip
example: Epic London Trip
default: Epic London Trip
destination:
type: string
description: Destination of the trip
example: London, Uk
default: London, Uk
start_date:
type: string
description: Start date of the trip in ISO 8601 format, e.g. “2021-05-07”
example: '2021-05-07T00:00:00.000Z'
default: '2021-05-07T00:00:00.000Z'
end_date:
type: string
description: End date of the trip in ISO 8601 format, e.g. “2021-05-07”
example: '2021-05-07T00:00:00.000Z'
default: '2021-05-07T00:00:00.000Z'
group_min:
type: integer
description: Min group size of the trip
format: int32
example: 5
default: 5
group_max:
type: integer
description: Max group size of the trip
format: int32
example: 15
default: 15
currency:
type: string
description: Currency of the trip
example: USD
default: USD
participant_list_show_type:
type: string
description: "You can choose to show the names of already booked participants on your booking page. The options are “everyone”, “participants” or “only_organizer” which stand for\n everyone - everyone can see the participant list on the booking page\n participants - only already booked participants see the participant list\n only_organizer - nobody can see the participant list (only the organizer)"
example: everyone
default: everyone
enum:
- everyone
- participants
- only_organizer
welcome_message:
type: string
description: This welcome message is added to the booking confirmation email and is also shown on the payment confirmation page. This can also contain HTML.
example: YAY!!!
default: YAY!!!
participant_fees:
type: string
description: "This setting allows you to choose how the payment fees are handled. The options are:\n “credit_card” - Bank account payments are free to the participant, but if they choose to pay by credit card, a card fee is added to the price\n “all” - all fees are paid by the participant\n “none” - all fees are paid by the organizer"
example: all
enum:
- credit_card
- all
- none
listing_status:
type: string
description: Whether the trip is “public” or “private”
example: private
default: private
enum:
- private
- public
published:
type: integer
description: Date and time when the trip was last published. Unpublished trips will return the “published” field empty.
format: int32
waiting_list_enabled:
type: boolean
description: Whether the trip has a waitlist or not in case it’s sold out.
example: true
default: true
can_contribute:
type: boolean
description: Whether the participant is allowed to create a contribution / fundraising page after booking this trip.
example: true
default: true
carbon_offset:
$ref: '#/components/schemas/CarbonOffset'
description: Trip model
GetLeads:
type: object
properties:
trip_uuids:
type: array
description: Trip UUIDs
items:
type: string
is_booked:
type: boolean
description: Whether lead is booked or not
sort_by:
type: string
description: Field name to sort by
enum:
- email
- recent_requested_at
default: recent_requested_at
sort_dir:
type: string
description: Direction of sorting
enum:
- desc
- asc
default: desc
lead_type:
type: string
description: Type of the leads
before:
type: string
format: date
description: Recent request before date
after:
type: string
format: date
description: Recent request after date
page:
type: integer
format: int32
description: Page number
default: 1
per_page:
type: integer
format: int32
description: Leads per page
enum:
- 25
- 50
- 100
default: 25
description: Get leads
Lead:
type: object
properties:
id:
description: Lead ID
type: integer
format: int32
example: 1
trip_uuid:
description: Trip UUID
type: string
example: '1234567890'
email:
description: Lead email
type: string
example: johndoe@mailinator.com
name:
description: Lead name
type: string
example: John Doe
phone:
description: Lead phone
type: string
example: +1 123 456 7890
organizer_id:
description: Organizer ID
type: integer
format: int32
example: 1
is_booked:
description: Whether lead is booked or not
type: boolean
questions:
type: array
items:
$ref: '#/components/schemas/Question'
description: Lead questions
recent_requested_at:
description: Recent request date
type: string
format: date-time
example: '2017-01-01 00:00:00'
lead_type:
description: Type of the lead
type: string
example: brochure
trip:
$ref: '#/components/schemas/Trip'
description: Trip data
description: Lead object
CarbonOffset:
required:
- enabled
- percentage
- paid_by_participant
type: object
properties:
enabled:
type: boolean
description: Carbon Offset Contribution offered for the trip
example: true
default: false
percentage:
type: number
description: Carbon Offset Contribution amount as a selected percentage of the trip price
example: 2.5
default: 1
paid_by_participant:
type: boolean
description: Carbon Offset Contribution is paid by participant
example: true
default: true
description: Carbon Offset Contribution
Pagination:
type: object
properties:
total_count:
type: integer
description: Total number of leads
format: int32
example: 1
page:
type: integer
description: Current page number where the lead is found
format: int32
example: 1
per_page:
type: integer
description: 'How many lead are per page (default: 25)'
format: int32
example: 20
total_pages:
type: integer
description: Total number of pages
format: int32
example: 1
has_previous:
type: boolean
description: Whether the previous page is there or not
example: false
has_next:
type: boolean
description: Whether the next page is there or not
example: false
description: Pagination object
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
tokenAuth:
type: apiKey
in: header
name: X-Api-Key