---
title: "Read a trip's experience signals"
description: "Per-leg signals for what a journey is like to sit through: overnight, longStopover, earlyDeparture, lateArrival, plus positive-only witnesses for a tight connection, aircraft age and carrier rating."
---

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

# Read a trip's experience signals

`GET /v1/flights/trips/{tripId}/experience`

Per-leg signals for what a journey is like to sit through: overnight, longStopover, earlyDeparture, lateArrival, plus positive-only witnesses for a tight connection, aircraft age and carrier rating. No score - Recommended sort ranks on the price-adjusted fare score, which one would not match.

Operation ID: `getTripExperience`

## Parameters

| Name | In | Type | Required | Constraints | Description |
|---|---|---|---|---|---|
| `tripId` | path | string | yes | pattern `^[A-Za-z0-9._~=-]+:[A-Za-z0-9._:~=-]+$`; length *..256 | The trip from a flight-search result. Shaped {searchId}:{tripCode}. |
| `searchId` | query | string | no | pattern `^[A-Za-z0-9._:~=-]{1,256}$` | Optional cross-check. When supplied it must equal the tripId's first :-segment; a mismatch is rejected. |

## Responses

| Status | Description |
|---|---|
| `200` | The trip's per-leg signals. A witness field that is absent was not asserted; it is not a negative. |
| `400` | Invalid request body/query/path parameters. |
| `401` | Missing or invalid bearer token. |
| `404` | Unknown trip, or its search has expired. Search again and re-open the trip - retrying the same id never recovers. |
| `429` | Rate limit exceeded; retry after the `Retry-After` seconds. |
| `502` | The upstream flights service returned an invalid response. |
| `503` | The flights service is temporarily unavailable (`upstream_unavailable`) or rate-limited upstream (`upstream_rate_limited`); retry after the `Retry-After` seconds. |

### `200` body

| Field | Type | Always present | Description |
|---|---|---|---|
| `tripId` | string | yes | The trip these signals are for. |
| `legs` | object[] | yes | Per-leg comfort signals, in itinerary order (outbound first). |
| ↳ `id` | string | yes | The upstream leg id, e.g. `SIN-BKK:TR638~3:0`. |
| ↳ `departureAirportCode` | string | yes | Departure airport IATA code. |
| ↳ `arrivalAirportCode` | string | yes | Arrival airport IATA code. |
| ↳ `stopsCount` | integer | yes | Stopovers on this leg – what makes an absent shortStopover readable. |
| ↳ `signals` | object | yes | Per-leg comfort signals. newAircraft and highlyRatedCarrier are positive-only witnesses: present only when upstream asserts them, absent otherwise; absent is never a negative. |
| `metadata` | object | yes | Trip-level experience metadata. |
| ↳ `legCount` | integer | yes | Legs on this trip: 1 one-way, 2 a return. |

## Example

```bash
curl -s -H "Authorization: Bearer $TOKEN" \
  "https://api.wego.com/v1/flights/trips/$TRIP_ID/experience"
```

Source: https://docs.wego.com/api/flights/get-trip-experience/index.mdx
