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

# Get reservation by UUID

> Requires `reservations:write`. Returns the reservation by UUID if it belongs to the authenticated partner. Same `data` shape as hold/confirm. An expired hold is marked `EXPIRED` and returned as 200. There is no list endpoint.



## OpenAPI

````yaml /openapi.json get /reservations/{id}
openapi: 3.0.0
info:
  title: Vulcano Partners API
  description: >-
    Public API for external partners integrating with Vulcano Pro.


    **Authentication:** send `X-API-KEY` and `X-API-SECRET` on protected
    endpoints.


    **IDs:** `countryId`, `zone`, `category`, `tour_id`, `transfer_id`, and
    place IDs are Vulcano canonical IDs.


    **Permissions:** `/countries`, `/zones`, and `/categories` are available to
    any authenticated partner. `/tours` requires `tours:read`. `/transfers`
    requires `transfers:read`. Reservations (`/reservations` and
    `/transfers/reservations`) require `reservations:write` and a linked Vulcano
    sale channel.
  version: '1.0'
  contact: {}
servers:
  - url: https://api-sandbox.vulcanopro.com/api/v1
    description: Sandbox
  - url: https://api.vulcanopro.com/api/v1
    description: Production
security: []
tags: []
paths:
  /reservations/{id}:
    get:
      tags:
        - Tours
      summary: Get reservation by UUID
      description: >-
        Requires `reservations:write`. Returns the reservation by UUID if it
        belongs to the authenticated partner. Same `data` shape as hold/confirm.
        An expired hold is marked `EXPIRED` and returned as 200. There is no
        list endpoint.
      operationId: ReservationsController_findOne
      parameters:
        - name: id
          required: true
          in: path
          description: Reservation UUID from the hold response
          schema:
            type: string
            format: uuid
            example: 11111111-1111-1111-1111-111111111111
      responses:
        '200':
          description: Reservation found (HOLD, CONFIRMED, EXPIRED, or CANCELLED)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReservationResponseDto'
        '403':
          description: Reservation does not belong to this partner
        '404':
          description: Reservation not found
      security:
        - api-key: []
        - api-secret: []
components:
  schemas:
    ReservationResponseDto:
      type: object
      properties:
        status:
          type: string
          example: ok
        timestamp:
          type: string
        data:
          $ref: '#/components/schemas/ReservationDto'
      required:
        - status
        - timestamp
        - data
    ReservationDto:
      type: object
      properties:
        id:
          type: string
          format: uuid
        status:
          type: string
          enum:
            - HOLD
            - EXPIRED
            - CONFIRMED
            - CANCELLED
        tour_id:
          type: integer
        sale_channel_id:
          type: integer
        date:
          type: string
          format: date
        time:
          type: string
          example: '15:30'
        pax:
          $ref: '#/components/schemas/ReservationPaxDto'
        seats:
          type: integer
          description: Blocked seats (adult + child + senior)
        expires_at:
          type: string
          nullable: true
          format: date-time
        order_id:
          type: integer
          nullable: true
          description: Internal Vulcano order ID
        external_reference:
          type: string
          nullable: true
        customer:
          type: object
          nullable: true
          additionalProperties: true
        passengers:
          type: array
          nullable: true
          items:
            type: object
            additionalProperties: true
        additional_activities:
          type: array
          items:
            type: object
            properties:
              id:
                type: integer
              name:
                type: string
              quantity:
                type: integer
              amount:
                type: number
              amount_usd:
                type: number
        created_at:
          type: string
          nullable: true
          format: date-time
      required:
        - id
        - status
        - tour_id
        - date
        - time
        - pax
        - seats
    ReservationPaxDto:
      type: object
      properties:
        adult:
          type: integer
          minimum: 0
          example: 2
        child:
          type: integer
          minimum: 0
          example: 1
        senior:
          type: integer
          minimum: 0
          example: 0
        infant:
          type: integer
          minimum: 0
          example: 1
  securitySchemes:
    api-key:
      type: apiKey
      in: header
      name: X-API-KEY
      description: Partner API key
    api-secret:
      type: apiKey
      in: header
      name: X-API-SECRET
      description: Partner API secret

````

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