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

# Get a bus search and its results

> Returns a bus search and, once it has finished, one page of its trips.

Searches are asynchronous: while `status` is `PROCESSING` only the search itself comes back, so poll until it is `COMPLETED`, then read `items`. A `FAILED` search has no results. A bus search expires after its `ttl` (15 minutes) and then answers `404 SEARCH_NOT_FOUND`. Only the organization that created a search can read it.

Results come in pages. Sort them with `order` and `orderBy`, narrow them with `minAmount`, `maxAmount`, `type`, `serviceClass`, `company`, `departureOriginName`, `departureDestinationName`, `departureTimePeriod`, `returnOriginName`, `returnDestinationName`, `returnTimePeriod` and `routeDirection`, then walk the pages with `limit` and the `next` cursor each response returns (`null` on the last page). A filter that takes several values accepts them repeated or comma-separated (`?serviceClass=EXECUTIVE&serviceClass=SEMI_BED` or `?serviceClass=EXECUTIVE,SEMI_BED`). Amounts are integers in cents: `98700` is R\$ 987,00.

Each item is a summary with its cheapest fare. To book one, open it with the bus search item endpoint for everything a trip needs, and create the trip with the item's `id` as `searchItemId`. An error the travel provider reports about the request — a filter value it does not accept, say — is returned with its own status, `code` and `message`.


## OpenAPI

````yaml /api-reference/travel.openapi.json get /realms/{realmId}/organizations/{organizationId}/bus/searches/{searchId}
openapi: 3.0.3
info:
  title: Travel
  version: 1.0.0
  description: >-
    Portão 3 travel API. Every endpoint requires a bearer token in the
    Authorization header (Authorization: Bearer <token>) unless its page states
    otherwise; see the Authentication guide. That requirement is not repeated
    per endpoint. Generated by tools/openapi from code (routes + security) and
    the hand-written spec (request/response bodies). Passenger directory, trips
    and the search proxy (air/hotel/bus/vehicle). Every route validates path,
    query and body through a zod Input class (`travel/src/domain/*/input`),
    which documents its parameters and body; responses are the named interfaces
    in `travel/src/domain/*/response.ts`. Confidence tiers: generated:typed=53
    copied:manual=0 unknown=0.
servers:
  - url: https://api.travel.v2.portao3.com.br/
    description: production
  - url: https://api.travel.dev.3pers.com.br/
    description: development
security: []
tags:
  - name: Passengers
  - name: Trips
  - name: Air search
  - name: Hotel search
  - name: Bus search
  - name: Vehicle search
paths:
  /realms/{realmId}/organizations/{organizationId}/bus/searches/{searchId}:
    get:
      tags:
        - Bus search
      summary: Get a bus search and its results
      description: Returns a bus search and, once it has finished, one page of its trips.
      operationId: getRealmsByRealmIdOrganizationsByOrganizationIdBusSearchesBySearchId
      parameters:
        - name: realmId
          in: path
          required: true
          description: |-
            ID of your realm.

            Format: `UUID`
          schema:
            type: string
            format: uuid
          example: f495ff0c-ab54-4f99-8e92-ca8682e4de9b
        - name: organizationId
          in: path
          required: true
          description: |-
            ID of your organization.

            Format: `UUID`
          schema:
            type: string
            format: uuid
          example: c4bd3f21-dfbd-44e8-8055-68ba15bed410
        - name: searchId
          in: path
          required: true
          description: ID of the bus search, as returned when it was created.
          schema:
            type: string
            pattern: ^srch_[0-9A-Za-z]{21}$
          example: srch_V1StGXR8Z5jdHi6BmyT2k
        - name: order
          in: query
          required: false
          description: >-
            Sort direction applied to `orderBy`: `ASC` lists the cheapest
            results first, `DESC` the most expensive first.
          schema:
            type: string
            enum:
              - ASC
              - DESC
          example: ASC
        - name: orderBy
          in: query
          required: false
          description: Field to sort the results by. Currently only `amount` is supported.
          schema:
            type: string
            minLength: 1
          example: amount
        - name: next
          in: query
          required: false
          description: >-
            Cursor returned as `next` by the previous page. Omit for the first
            page.
          schema:
            type: string
            minLength: 1
          example: eyJwIjoyfQ==
        - name: limit
          in: query
          required: false
          description: Maximum number of items per page, from 1 to 100.
          schema:
            type: integer
            minimum: 1
            maximum: 100
          example: 20
        - name: minAmount
          in: query
          required: false
          description: >-
            Only results costing at least this amount, in the same unit as the
            `amount` of the results (cents).
          schema:
            type: number
            minimum: 0
          example: 20000
        - name: maxAmount
          in: query
          required: false
          description: >-
            Only results costing at most this amount, in the same unit as the
            `amount` of the results (cents).
          schema:
            type: number
            minimum: 0
          example: 100000
        - name: type
          in: query
          required: false
          description: |-
            Only trips of these types: `DIRECT`, `CONNECTION` or `ONE_STOP`.

            ---

            Example (comma-separated list): `?type=DIRECT,ONE_STOP`
          schema:
            type: array
            items:
              type: string
          style: form
          explode: false
        - name: serviceClass
          in: query
          required: false
          description: >-
            Only these service classes: `SLEEPER_BED`, `BED`, `SEMI_BED`,
            `EXECUTIVE`, `CONVENTIONAL` or `UNDEFINED`.


            ---


            Example (comma-separated list): `?serviceClass=EXECUTIVE,SEMI_BED`
          schema:
            type: array
            items:
              type: string
          style: form
          explode: false
        - name: company
          in: query
          required: false
          description: >-
            Only trips run by these bus companies, by name.


            ---


            Example (comma-separated list): `?company=Viação Aurora,Expresso
            Litoral`
          schema:
            type: array
            items:
              type: string
          style: form
          explode: false
        - name: departureOriginName
          in: query
          required: false
          description: >-
            Only outbound trips leaving from these stations, by name.


            ---


            Example (comma-separated list): `?departureOriginName=Terminal
            Rodoviário Tietê,Terminal Barra Funda`
          schema:
            type: array
            items:
              type: string
          style: form
          explode: false
        - name: departureDestinationName
          in: query
          required: false
          description: >-
            Only outbound trips arriving at these stations, by name.


            ---


            Example (comma-separated list):
            `?departureDestinationName=Rodoviária Novo Rio,Terminal Américo
            Fontenelle`
          schema:
            type: array
            items:
              type: string
          style: form
          explode: false
        - name: departureTimePeriod
          in: query
          required: false
          description: >-
            Only outbound trips leaving in these periods of the day: `DAWN`,
            `MORNING`, `AFTERNOON` or `NIGHT`.


            ---


            Example (comma-separated list):
            `?departureTimePeriod=MORNING,AFTERNOON`
          schema:
            type: array
            items:
              type: string
          style: form
          explode: false
        - name: returnOriginName
          in: query
          required: false
          description: >-
            Only return trips leaving from these stations, by name.


            ---


            Example (comma-separated list): `?returnOriginName=Rodoviária Novo
            Rio,Terminal Américo Fontenelle`
          schema:
            type: array
            items:
              type: string
          style: form
          explode: false
        - name: returnDestinationName
          in: query
          required: false
          description: >-
            Only return trips arriving at these stations, by name.


            ---


            Example (comma-separated list): `?returnDestinationName=Terminal
            Rodoviário Tietê,Terminal Barra Funda`
          schema:
            type: array
            items:
              type: string
          style: form
          explode: false
        - name: returnTimePeriod
          in: query
          required: false
          description: >-
            Only return trips leaving in these periods of the day: `DAWN`,
            `MORNING`, `AFTERNOON` or `NIGHT`.


            ---


            Example (comma-separated list): `?returnTimePeriod=NIGHT,DAWN`
          schema:
            type: array
            items:
              type: string
          style: form
          explode: false
        - name: routeDirection
          in: query
          required: false
          description: >-
            Only trips in one direction: `DEPARTURE` (outbound) or `RETURN`.
            Omit it to get both.
          schema:
            type: string
            minLength: 1
          example: DEPARTURE
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: ID of the search.
                    example: srch_V1StGXR8Z5jdHi6BmyT2k
                  status:
                    type: string
                    enum:
                      - PROCESSING
                      - FAILED
                      - COMPLETED
                    description: >-
                      `PROCESSING` while the suppliers answer, then `COMPLETED`
                      or `FAILED`. Only `COMPLETED` carries `items`.
                    example: COMPLETED
                  warning:
                    description: >-
                      How the search went across the suppliers. `null` while it
                      is processing.
                    type: object
                    properties:
                      code:
                        type: string
                        enum:
                          - ALL_FAILED
                          - PARTIAL_SUCCESS
                          - ALL_SUCCESS
                        description: >-
                          `ALL_SUCCESS`: every supplier answered.
                          `PARTIAL_SUCCESS`: some suppliers failed, so the
                          results may be incomplete. `ALL_FAILED`: no supplier
                          answered.
                        example: ALL_SUCCESS
                      message:
                        type: string
                        description: Human-readable explanation.
                        example: All suppliers answered.
                    required:
                      - code
                      - message
                    nullable: true
                  createdAt:
                    type: string
                    description: When the search was created.
                    example: '2026-10-19T15:00:00.000Z'
                    format: date-time
                  next:
                    type: string
                    nullable: true
                    description: >-
                      Cursor for the next page. `null` on the last page. Present
                      only once the search is `COMPLETED`.
                    example: eyJwIjoyfQ==
                  totalCount:
                    type: number
                    description: >-
                      Number of results that match the filters, across every
                      page. Present only once the search is `COMPLETED`.
                    example: 1
                  searchParams:
                    type: object
                    properties:
                      from:
                        type: string
                        description: Origin station, as sent.
                        example: terminal-rodoviario-tiete
                      to:
                        type: string
                        description: Destination station, as sent.
                        example: rodoviaria-novo-rio
                      departureDate:
                        type: string
                        description: Outbound date, as sent.
                        example: '2026-11-02'
                      returnDate:
                        type: string
                        description: Return date, as sent. Absent for a one-way trip.
                        example: '2026-11-05'
                      serviceClass:
                        type: string
                        enum:
                          - SLEEPER_BED
                          - BED
                          - SEMI_BED
                          - EXECUTIVE
                          - CONVENTIONAL
                          - UNDEFINED
                        description: >-
                          Service class preference, as sent. Absent when the
                          request had none.
                        example: EXECUTIVE
                    required:
                      - from
                      - to
                      - departureDate
                    description: What the search was made for, as sent.
                  type:
                    type: string
                    enum:
                      - BUS
                    description: Always `BUS`.
                    example: BUS
                  ttl:
                    type: number
                    description: >-
                      Seconds until the search expires (a bus search lasts 15
                      minutes).
                    example: 640
                  facets:
                    description: >-
                      Facets to build filters from (companies, service classes,
                      price ranges). `null` until the search completes.
                    type: object
                    additionalProperties: {}
                    nullable: true
                  items:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          description: >-
                            ID of the item. Use it to load the item (seat maps
                            and per-segment fares); send it as `searchItemId`
                            when you create a trip.
                          example: srch_item_Lc7Ve3PsKd9Ny2QtXw5Mb
                        searchId:
                          type: string
                          description: ID of the search the item belongs to.
                          example: srch_Fg4Ju9SaPe2Wx6TnCi5Oz
                        type:
                          type: string
                          enum:
                            - DIRECT
                            - CONNECTION
                            - ONE_STOP
                          description: '`DIRECT`, `CONNECTION` or `ONE_STOP`.'
                          example: DIRECT
                        routeDirection:
                          type: string
                          enum:
                            - DEPARTURE
                            - RETURN
                          description: >-
                            Whether the trip is an outbound (`DEPARTURE`) or a
                            return (`RETURN`) one.
                          example: DEPARTURE
                        origin:
                          type: object
                          properties:
                            id:
                              type: string
                              description: ID of the station.
                              example: bus_sta_Ts5Gm8XqVb2Hw7NcKe1Ld
                            slug:
                              type: string
                              description: Readable unique identifier of the station.
                              example: terminal-rodoviario-tiete
                            locality:
                              type: string
                              description: City.
                              example: São Paulo
                            administrativeArea:
                              type: string
                              description: State code.
                              example: SP
                            name:
                              type: string
                              nullable: true
                              description: >-
                                Official name of the station. `null` when not
                                informed.
                              example: Terminal Rodoviário Tietê
                            shortAddress:
                              type: string
                              nullable: true
                              description: >-
                                The address in a single line. `null` when
                                unknown.
                              example: Av. Cruzeiro do Sul, 1800, São Paulo, SP
                            phoneNumbers:
                              type: array
                              items:
                                type: string
                                example: '+551122222222'
                              description: >-
                                Contact phone numbers. Empty when none is
                                registered.


                                ---


                                Example: `["+551122222222"]`
                            coordinates:
                              description: Position of the station. `null` when unknown.
                              type: object
                              properties:
                                lat:
                                  type: number
                                  description: Latitude, in decimal degrees.
                                  example: -23.4356
                                lng:
                                  type: number
                                  description: Longitude, in decimal degrees.
                                  example: -46.4731
                              required:
                                - lat
                                - lng
                              nullable: true
                          required:
                            - id
                            - slug
                            - locality
                            - administrativeArea
                            - name
                            - shortAddress
                            - phoneNumbers
                            - coordinates
                          description: Origin station.
                        destination:
                          type: object
                          properties:
                            id:
                              type: string
                              description: ID of the station.
                              example: bus_sta_Ts5Gm8XqVb2Hw7NcKe1Ld
                            slug:
                              type: string
                              description: Readable unique identifier of the station.
                              example: terminal-rodoviario-tiete
                            locality:
                              type: string
                              description: City.
                              example: São Paulo
                            administrativeArea:
                              type: string
                              description: State code.
                              example: SP
                            name:
                              type: string
                              nullable: true
                              description: >-
                                Official name of the station. `null` when not
                                informed.
                              example: Terminal Rodoviário Tietê
                            shortAddress:
                              type: string
                              nullable: true
                              description: >-
                                The address in a single line. `null` when
                                unknown.
                              example: Av. Cruzeiro do Sul, 1800, São Paulo, SP
                            phoneNumbers:
                              type: array
                              items:
                                type: string
                                example: '+551122222222'
                              description: >-
                                Contact phone numbers. Empty when none is
                                registered.


                                ---


                                Example: `["+551122222222"]`
                            coordinates:
                              description: Position of the station. `null` when unknown.
                              type: object
                              properties:
                                lat:
                                  type: number
                                  description: Latitude, in decimal degrees.
                                  example: -23.4356
                                lng:
                                  type: number
                                  description: Longitude, in decimal degrees.
                                  example: -46.4731
                              required:
                                - lat
                                - lng
                              nullable: true
                          required:
                            - id
                            - slug
                            - locality
                            - administrativeArea
                            - name
                            - shortAddress
                            - phoneNumbers
                            - coordinates
                          description: Destination station.
                        departureDate:
                          type: string
                          description: >-
                            Departure, in the local time of the origin station
                            (`YYYY-MM-DDTHH:mm:ss`, no time-zone offset).
                          example: '2026-11-02T22:30:00'
                        arrivalDate:
                          type: string
                          description: >-
                            Arrival, in the local time of the destination
                            station (`YYYY-MM-DDTHH:mm:ss`, no time-zone
                            offset).
                          example: '2026-11-03T05:15:00'
                        company:
                          type: object
                          properties:
                            name:
                              type: string
                              description: Commercial name.
                              example: Viação Aurora
                            logo:
                              type: string
                              nullable: true
                              description: URL of the company's logo. `null` when unknown.
                              example: https://example.com/logos/aurora-bus.svg
                            id:
                              type: string
                              nullable: true
                              description: ID of the company. `null` when not informed.
                              example: bus_co_Nx3Rp8YtKd5Wc1LqHe7Va
                          required:
                            - name
                            - logo
                            - id
                          description: Company that runs the trip.
                        availableSeats:
                          type: number
                          description: Seats available to book.
                          example: 18
                        totalSeats:
                          type: number
                          nullable: true
                          description: Seats on the bus. `null` when not informed.
                          example: 42
                        lowFareAvailableSeats:
                          type: number
                          nullable: true
                          description: >-
                            Low-fare seats still available. `null` when not
                            informed.
                          example: 4
                        fare:
                          type: object
                          properties:
                            originalAmount:
                              type: number
                              description: Price before discounts and fees, in cents.
                              example: 21000
                            discountAmount:
                              type: number
                              description: >-
                                Discount applied to the original amount, in
                                cents.
                              example: 2000
                            feeAmount:
                              type: number
                              description: Fees added to the fare, in cents.
                              example: 1500
                            amount:
                              type: number
                              description: >-
                                Total charged per passenger: `originalAmount -
                                discountAmount + feeAmount`, in cents (`20500`
                                is R$ 205,00).
                              example: 20500
                            currency:
                              type: string
                              description: Currency of the amounts (ISO 4217).
                              example: BRL
                            isLowFare:
                              type: boolean
                              description: Whether the fare is a low-fare seat.
                              example: false
                            cancellationPolicies:
                              type: object
                              properties:
                                refundable:
                                  type: boolean
                                  description: Whether the fare allows any refund at all.
                                  example: true
                                immediateFine:
                                  type: boolean
                                  description: >-
                                    Whether a fine is charged for cancelling
                                    right after booking.
                                  example: false
                                penalties:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      from:
                                        type: string
                                        description: >-
                                          Date (`YYYY-MM-DD`) from which this tier
                                          applies.
                                        example: '2026-10-30'
                                      currency:
                                        type: string
                                        description: Currency of the penalty (ISO 4217).
                                        example: BRL
                                      fineAmount:
                                        type: number
                                        description: >-
                                          Penalty charged when cancelling or
                                          changing from `from` onward, in cents.
                                        example: 15000
                                    required:
                                      - from
                                      - currency
                                      - fineAmount
                                    description: >-
                                      One tier of a cancellation or change
                                      penalty schedule.
                                  description: >-
                                    Penalty schedule, in effect from each tier's
                                    date. Empty or omitted when no scheduled
                                    penalty applies.
                              required:
                                - refundable
                                - immediateFine
                              description: >-
                                Cancellation rules of the fare. Only in the item
                                detail, not in the search results.
                          required:
                            - originalAmount
                            - discountAmount
                            - feeAmount
                            - amount
                            - currency
                          description: Fare per passenger.
                        boardingPassType:
                          type: string
                          enum:
                            - RETRIEVE_AT_BOX_OFFICE
                            - ELECTRONIC
                          description: >-
                            How the boarding pass is delivered: `ELECTRONIC` or
                            `RETRIEVE_AT_BOX_OFFICE`.
                          example: ELECTRONIC
                        serviceClass:
                          type: string
                          enum:
                            - SLEEPER_BED
                            - BED
                            - SEMI_BED
                            - EXECUTIVE
                            - CONVENTIONAL
                            - UNDEFINED
                          description: >-
                            `SLEEPER_BED`, `BED`, `SEMI_BED`, `EXECUTIVE`,
                            `CONVENTIONAL` or `UNDEFINED`.
                          example: EXECUTIVE
                        waitingTime:
                          type: string
                          description: >-
                            Wait between connecting legs, as an ISO 8601
                            duration. Empty for a direct trip.
                          example: ''
                        duration:
                          type: string
                          description: Duration of the trip, as an ISO 8601 duration.
                          example: PT6H45M
                        amenities:
                          type: array
                          items:
                            type: string
                            example: AIR_CONDITIONING
                          description: >-
                            Amenities of the bus, as codes: `AIR_CONDITIONING`,
                            `BATHROOM`, `LEG_SUPPORT`, `SEAT_RECLINE`,
                            `BETWEEN_SEATS`, `BUS_PHOTO`, `WIFI`,
                            `POWER_OUTLETS`, `MINERAL_WATER`, `DOUBLE_DECK` or
                            `COMFORT_KIT`.


                            ---


                            Example: `["AIR_CONDITIONING","WIFI"]`
                        segmentsCount:
                          type: number
                          description: >-
                            Number of segments the trip is made of: 1 for a
                            direct trip, more with connections.
                          example: 1
                        createdAt:
                          type: string
                          description: When the item was created.
                          example: '2026-10-19T15:00:21.000Z'
                          format: date-time
                      required:
                        - id
                        - searchId
                        - type
                        - routeDirection
                        - origin
                        - destination
                        - departureDate
                        - arrivalDate
                        - company
                        - availableSeats
                        - totalSeats
                        - lowFareAvailableSeats
                        - fare
                        - boardingPassType
                        - serviceClass
                        - waitingTime
                        - duration
                        - amenities
                        - segmentsCount
                        - createdAt
                      description: A bus trip in the search results.
                    description: >-
                      The bus trips of this page, filtered and sorted by the
                      query parameters. Present only once the search is
                      `COMPLETED`.
                required:
                  - createdAt
                  - facets
                  - id
                  - searchParams
                  - status
                  - ttl
                  - type
                  - warning
                description: >-
                  A bus search with, once it is `COMPLETED`, one page of its
                  trips.
        '404':
          description: >-
            `SEARCH_NOT_FOUND` — The search doesn't exist, has expired, was
            created by another organization or is not a bus search.
          content:
            application/json:
              schema:
                type: object
                properties:
                  traceId:
                    type: string
                    description: >-
                      Identifier of the request that failed. Quote it when
                      contacting support.
                    example: 1-68ee2a1b-3c4d5e6f7a8b9c0d1e2f3a4b
                  code:
                    type: string
                    enum:
                      - SEARCH_NOT_FOUND
                    description: >-
                      Stable, machine-readable error code. Branch on this, never
                      on `message`.
                  origin:
                    type: string
                    enum:
                      - TRAVEL
                    description: Service that produced the error.
                  message:
                    type: string
                    description: >-
                      Human-readable explanation. Its wording may change without
                      notice.
                required:
                  - traceId
                  - code
                  - origin
                  - message
              example:
                traceId: 1-68ee2a1b-3c4d5e6f7a8b9c0d1e2f3a4b
                code: SEARCH_NOT_FOUND
                origin: TRAVEL
                message: Search not found
        '422':
          description: >-
            `BAD_REQUEST` — A path parameter is not a valid ID or a query
            parameter is invalid; `fields` lists each one.
          content:
            application/json:
              schema:
                type: object
                properties:
                  traceId:
                    type: string
                    description: >-
                      Identifier of the request that failed. Quote it when
                      contacting support.
                    example: 1-68ee2a1b-3c4d5e6f7a8b9c0d1e2f3a4b
                  code:
                    type: string
                    enum:
                      - BAD_REQUEST
                    description: >-
                      Stable, machine-readable error code. Branch on this, never
                      on `message`.
                  origin:
                    type: string
                    enum:
                      - TRAVEL
                    description: Service that produced the error.
                  message:
                    type: string
                    description: >-
                      Human-readable explanation. Its wording may change without
                      notice.
                  fields:
                    type: array
                    description: >-
                      One entry per invalid request field (validation errors
                      only).
                    items:
                      type: object
                      properties:
                        field:
                          type: string
                          description: >-
                            Path of the invalid field, e.g. `label` or
                            `values[0].value`.
                          example: label
                        message:
                          type: string
                          description: Why the field was rejected.
                          example: label is required
                        code:
                          type: string
                          description: >-
                            `<FIELD>_<REASON>` — e.g. `LABEL_REQUIRED`,
                            `TYPE_ONE_OF`, `VALUES_VALUE_TYPE_ERROR`.
                          example: LABEL_REQUIRED
                        values:
                          type: array
                          items:
                            type: string
                          description: >-
                            The accepted values, when the field is an
                            enumeration.
                      required:
                        - field
                        - message
                        - code
                required:
                  - traceId
                  - code
                  - origin
                  - message
              example:
                traceId: 1-68ee2a1b-3c4d5e6f7a8b9c0d1e2f3a4b
                code: BAD_REQUEST
                origin: TRAVEL
                message: >-
                  Bad Request: Your request is invalid or incomplete. Please
                  make sure you are requesting with the right fields.
                fields:
                  - field: order
                    message: 'Invalid option: expected one of "ASC"|"DESC"'
                    code: ORDER_ONE_OF
        '503':
          description: >-
            `PROVIDER_UNAVAILABLE` — The travel provider could not be reached.
            Retry later.
          content:
            application/json:
              schema:
                type: object
                properties:
                  traceId:
                    type: string
                    description: >-
                      Identifier of the request that failed. Quote it when
                      contacting support.
                    example: 1-68ee2a1b-3c4d5e6f7a8b9c0d1e2f3a4b
                  code:
                    type: string
                    enum:
                      - PROVIDER_UNAVAILABLE
                    description: >-
                      Stable, machine-readable error code. Branch on this, never
                      on `message`.
                  origin:
                    type: string
                    enum:
                      - TRAVEL
                    description: Service that produced the error.
                  message:
                    type: string
                    description: >-
                      Human-readable explanation. Its wording may change without
                      notice.
                required:
                  - traceId
                  - code
                  - origin
                  - message
              example:
                traceId: 1-68ee2a1b-3c4d5e6f7a8b9c0d1e2f3a4b
                code: PROVIDER_UNAVAILABLE
                origin: TRAVEL
                message: Travel provider temporarily unavailable, please retry.

````

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