# Returns the Air Raw Fare Rules for a Segment or Pnr

Endpoint: POST /v2/air/fare-rules/fetch
Version: v2
Security: Bearer

## Security:

  - `Bearer` (unknown)
    http bearer

## Request fields (application/json):

  - `searchId` (string)
    The unique ID (identifying the current workflow) returned by the backend in the air
search results response (AirSearchResponse.searchId) of the previous leg. If set, the
rateOptionId and userId must also be specified.

  - `rateOptionId` (string)
    The unique ID identifying the selected flights in the previous leg's response.

  - `pnrId` (string)
    The unique Spotnana PNR ID against which flights are booked.
    Example: 1213124111

  - `userId` (string)
    Unique ID of the user.
    Example: 4974a66b-7493-4f41-908c-58ba81093947

## Response 200:

  - `200` (unknown)
    OK

## Response 200 fields (application/json):

  - `legRuleInfos` (array)

  - `legRuleInfos.origin` (string)

  - `legRuleInfos.destination` (string)

  - `legRuleInfos.travelDate` (object)
    Local date and time in ISO 8601 format.

  - `legRuleInfos.travelDate.iso8601` (string, required)
    Example: 2017-07-21T17:32

  - `legRuleInfos.flights` (array)

  - `legRuleInfos.flights.origin` (string)

  - `legRuleInfos.flights.destination` (string)

  - `legRuleInfos.flights.flightId` (string)

  - `legRuleInfos.fareBasisRules` (array)

  - `legRuleInfos.fareBasisRules.fareBasisCode` (string)

  - `legRuleInfos.fareBasisRules.rules` (array)

  - `legRuleInfos.fareBasisRules.rules.title` (string)

  - `legRuleInfos.fareBasisRules.rules.text` (string)

## Response 204:

  - `204` (unknown)
    No Content

## Response 400:

  - `400` (unknown)
    Bad request

## Response 400 fields (application/json):

  - `debugIdentifier` (string)
    Link to debug the error internally.

  - `errorMessages` (array)

  - `errorMessages.errorCode` (string)
    Error code to identify the specific errors.

  - `errorMessages.message` (string)
    Message containing details of error.

  - `errorMessages.errorParameters` (array)
    Error message parameters.

  - `errorMessages.errorParameters.name` (string)
    Parameter name

  - `errorMessages.errorParameters.value` (string)
    Parameter value

  - `errorMessages.errorDetail` (string)
    More details about the error.

## Response 401:

  - `401` (unknown)
    Unauthorized

## Response 401 fields (application/json):

  - `debugIdentifier` (string)
    Link to debug the error internally.

  - `errorMessages` (array)

  - `errorMessages.errorCode` (string)
    Error code to identify the specific errors.

  - `errorMessages.message` (string)
    Message containing details of error.

  - `errorMessages.errorParameters` (array)
    Error message parameters.

  - `errorMessages.errorParameters.name` (string)
    Parameter name

  - `errorMessages.errorParameters.value` (string)
    Parameter value

  - `errorMessages.errorDetail` (string)
    More details about the error.

## Response 403:

  - `403` (unknown)
    Forbidden

## Response 403 fields (application/json):

  - `debugIdentifier` (string)
    Link to debug the error internally.

  - `errorMessages` (array)

  - `errorMessages.errorCode` (string)
    Error code to identify the specific errors.

  - `errorMessages.message` (string)
    Message containing details of error.

  - `errorMessages.errorParameters` (array)
    Error message parameters.

  - `errorMessages.errorParameters.name` (string)
    Parameter name

  - `errorMessages.errorParameters.value` (string)
    Parameter value

  - `errorMessages.errorDetail` (string)
    More details about the error.

## Response 404:

  - `404` (unknown)
    The specified resource was not found.

## Response 404 fields (application/json):

  - `debugIdentifier` (string)
    Link to debug the error internally.

  - `errorMessages` (array)

  - `errorMessages.errorCode` (string)
    Error code to identify the specific errors.

  - `errorMessages.message` (string)
    Message containing details of error.

  - `errorMessages.errorParameters` (array)
    Error message parameters.

  - `errorMessages.errorParameters.name` (string)
    Parameter name

  - `errorMessages.errorParameters.value` (string)
    Parameter value

  - `errorMessages.errorDetail` (string)
    More details about the error.

