# Suspend the given pnr.

This endpoint suspends the PNR, transitioning it into a read-only state.
Once suspended, updates via OBT will be restricted.
This API serves various use cases, such as price optimization and rebooking.

Endpoint: POST /v3/trips/{tripId}/pnrs/{pnrId}/suspend
Version: v2
Security: Bearer

## Security:

  - `Bearer` (unknown)
    http bearer

## Path parameters:

  - `tripId` (string, required)
    Trip Id

  - `pnrId` (string, required)
    Pnr Id

## Request fields (application/json):

  - `reason` (string, required)
    Reason for suspending the PNR. Determines which finalizeIntent variant is required when finalizing.
- PRICE_OPTIMIZATION: Unified price optimization reshop (air or hotel). Finalize with priceOptimization (PriceOptimizationMetadata).
- EXCHANGE: Ticket exchange initiated by agent. Finalize with manualVerificationIntent.
- GDS_EXCHANGE: GDS-driven ticket exchange. Finalize with manualVerificationIntent.
- AIR_PRICE_OPTIMIZATION: Deprecated. Legacy air-only reshop. Use PRICE_OPTIMIZATION instead. Finalize with airPriceOptimizationMetadata.
    Enum: "AIR_PRICE_OPTIMIZATION", "EXCHANGE", "GDS_EXCHANGE", "PRICE_OPTIMIZATION"

## Response 204:

  - `204` (unknown)
    No Content

## Response 400:

  - `400` (unknown)
    PNR is already suspended.

## 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.

## Response 408:

  - `408` (unknown)
    Suspension is taking longer than expected. Please refresh the Trips page in a few minutes. Contact support if the issue persists.

## Response 408 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.

