> ## Documentation Index
> Fetch the complete documentation index at: https://developers.ttool.travel/llms.txt
> Use this file to discover all available pages before exploring further.

# Get offer details

> Re-read an offer and check whether it still exists and whether its price changed.

Call it when time has passed between search and booking, or to show the full offer on a confirmation page.

## Body

**requestId** `string (uuid)` *required*

`requestId` from search.

**proposalId** `string (uuid)` *required*

The offer's `offerId`.

**returningRequestId** `string (uuid)`

Split round trips only. Send with `returningProposalId`.

**returningProposalId** `string (uuid)`

Split round trips only. Send with `returningRequestId`.

## Response

**proposalDetails** `object`

**properties**

**offer** `Offer`

The current offer. If the price changed, `price` already holds the new price.

**availableRequest** `object`

The original search: `requestId`, `adultsCount`, `childrenCount`, `infantsCount`, `cabinType`, `flightType`, `segments`.

**flightExist** `boolean`

Always `true`. A missing offer returns HTTP 404 instead.

**priceHasChanges** `boolean`

`true` if the provider re-priced since the search. Show the new `price.total` before booking.

**returningProposalDetails** `object | null`

Same shape, for the return leg of a split round trip.

**dictionaries** `object`

Carrier and airport names for the codes in these offers. See [Dictionaries](https://developers.ttool.travel/reference/offer-object.md#dictionaries).

## Errors

| HTTP | `errorCode` | Action |
| - | - | - |
| 404 | `FLIGHT_PROPOSAL_NOT_FOUND` | The offer or search expired. Search again. |

```bash cURL theme={null}
curl -X POST "https://api.staging.ttool.travel/hub/api/v1/flights/details" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "requestId": "3f1a1c9e-7b2d-4c7e-9a1f-2b3c4d5e6f70",
    "proposalId": "8d0e3b6a-2f41-4b8e-b1c9-5d6e7f8a9b0c",
    "returningRequestId": null,
    "returningProposalId": null
  }'
```

```json 200 theme={null}
{
  "proposalDetails": {
    "offer": { "offerId": "8d0e3b6a-2f41-4b8e-b1c9-5d6e7f8a9b0c", "price": { "currency": "USD", "total": 436.00 } },
    "availableRequest": {
      "requestId": "3f1a1c9e-7b2d-4c7e-9a1f-2b3c4d5e6f70",
      "adultsCount": 1, "childrenCount": 0, "infantsCount": 0,
      "cabinType": "Economy", "flightType": "RoundTrip",
      "segments": []
    },
    "flightExist": true,
    "priceHasChanges": false
  },
  "returningProposalDetails": null,
  "dictionaries": { "carriers": { "IA": "Iraqi Airways" }, "airports": { "BGW": { "name": "Baghdad International", "city": "Baghdad", "country": "IQ" } } }
}
```

```json 404 theme={null}
{
  "success": false,
  "error": { "errorCode": "FLIGHT_PROPOSAL_NOT_FOUND", "errorCategory": "NotFound", "httpStatusCode": 404 }
}
```


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