---
title: "Build a fare's wego.com booking link"
method: GET
path: "/v1/flights/fares/{fareId}/booking-link"
tags: ["Flights"]
---

# Build a fare's wego.com booking link

`GET /v1/flights/fares/{fareId}/booking-link`

## Request

- Base URL: `https://api.wego.com`
- URL: `https://api.wego.com/v1/flights/fares/{fareId}/booking-link`
- Auth: one of:
  - OAuth 2
    - Authorization code: `https://auth.wego.com/user-auth/v2/users/oauth/authorize`
    - Token URL: `https://auth.wego.com/user-auth/v2/users/oauth/token`
  - HTTP bearer
- TypeScript: <https://skmtc.dev/wego/apis/wego-api/docs/v1/flights/fares/:fareId/booking-link/get.ts> (a function with typed inputs; its response is checked against the schema)

Builds the wego.com booking deep-link for a chosen Book-on-Wego fare, with one fare option pre-selected PER LEG. A pure, stateless URL build from the caller-supplied search context - no upstream call, no booking, no payment. The caller passes back the trip/leg/passenger context.

## Path parameters

- `fareId` string, required

## Query parameters

- `tripId` string, required
- `searchId` string
- `fareOptionId` string, required
- `from` string, required
- `to` string, required
- `fromCity` union
  - boolean
  - '0' | '1' | 'true' | 'false'
- `toCity` union
  - boolean
  - '0' | '1' | 'true' | 'false'
- `fromDate` string, required
- `toDate` string
- `cabin` 'economy' | 'premium_economy' | 'business' | 'first'
- `adults` integer
- `children` integer
- `infants` integer
- `siteCode` string
- `currency` string
- `locale` string

## Response `200`

The booking handoff URL.

- object: The booking handoff URL, and the fact that it expires.
  - `bookingUrl` string, required: A wego.com booking deep-link with the chosen fare pre-selected.
  - `expires` true, required: Always true: this link is bound to a live search and stops working with it, in about five to seven minutes. To send someone a link that lasts, use GET /v1/flights/search-link.

## Other responses

- `400`: Invalid fare id or query parameters.
- `401`: Missing or invalid bearer token.
- `429`: Rate limit exceeded; retry after the `Retry-After` seconds.

## Changes

- **2026-08-25** `10fbc4e6f532`: 3 warning
  - added the new `rates_require_hotel_search` enum value to the `code` response property for the response status `400`
  - added the new `rates_require_hotel_search` enum value to the `code` response property for the response status `401`
  - added the new `rates_require_hotel_search` enum value to the `code` response property for the response status `429`

[Operation history](https://skmtc.dev/wego/apis/wego-api/changes/v1/flights/fares/:fareId/booking-link/get.md)

---

[API](https://skmtc.dev/wego/apis/wego-api.md) - [All operations](https://skmtc.dev/wego/apis/wego-api/llms.txt) - [OpenAPI document](https://skmtc.dev/wego/apis/wego-api/revisions/e2d90f5b5694?raw)
