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

# List tours

> Requires the `tours:read` permission. `zone`, `date_from`, `date_to`, and `passengers` are required. Optionally filter by category. Returns tours with available rates and departures in the date range that have enough capacity for the requested passengers.



## OpenAPI

````yaml /openapi.json get /tours
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:
  /tours:
    get:
      tags:
        - Tours
      summary: List tours
      description: >-
        Requires the `tours:read` permission. `zone`, `date_from`, `date_to`,
        and `passengers` are required. Optionally filter by category. Returns
        tours with available rates and departures in the date range that have
        enough capacity for the requested passengers.
      operationId: ToursController_findAll
      parameters:
        - name: zone
          required: true
          in: query
          description: Filter tours by Vulcano zone ID
          schema:
            minimum: 1
            example: 5
            type: number
        - name: category
          required: false
          in: query
          description: Filter tours by Vulcano category ID
          schema:
            minimum: 1
            example: 356
            type: number
        - name: date_from
          required: true
          in: query
          description: Start of date range (YYYY-MM-DD).
          schema:
            type: string
            format: date
            example: '2026-07-12'
        - name: date_to
          required: true
          in: query
          description: End of date range (YYYY-MM-DD).
          schema:
            format: date
            example: '2026-07-16'
            type: string
        - name: passengers
          required: true
          in: query
          description: >-
            Number of passengers. Filters departures where availability is
            greater than or equal to this value and excludes tours with no
            matching departures.
          schema:
            minimum: 1
            example: 5
            type: number
        - name: page
          required: false
          in: query
          description: Page number (1-based)
          schema:
            minimum: 1
            example: 1
            type: number
        - name: per_page
          required: false
          in: query
          description: Items per page
          schema:
            minimum: 1
            maximum: 100
            example: 25
            type: number
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ToursListResponseDto'
        '401':
          description: Invalid or missing API credentials
        '403':
          description: Missing tours:read permission
      security:
        - api-key: []
        - api-secret: []
components:
  schemas:
    ToursListResponseDto:
      type: object
      properties:
        status:
          type: string
          example: ok
        timestamp:
          type: string
        data:
          $ref: '#/components/schemas/ToursListDataDto'
      required:
        - status
        - timestamp
        - data
    ToursListDataDto:
      type: object
      properties:
        tours:
          type: array
          items:
            $ref: '#/components/schemas/TourDto'
        pagination:
          $ref: '#/components/schemas/PaginationDto'
      required:
        - tours
        - pagination
    TourDto:
      type: object
      properties:
        id:
          type: number
          example: 3041
        slug:
          type: string
          example: astro-experiencia
        name:
          type: string
          example: Astro experiencia
        short_description:
          type: string
          example: Tour nocturno de observación astronómica.
        duration:
          type: string
          example: '3'
        duration_type:
          type: string
          example: hour
        capacity:
          type: number
          example: 6
        minimum_by_tour:
          type: number
          example: 2
        photo_url:
          type: string
          example: https://example.com/photo.jpeg
        gallery:
          type: array
          items:
            type: string
          example:
            - https://example.com/gallery-1.jpeg
        location:
          $ref: '#/components/schemas/TourLocationDto'
        categories:
          type: array
          items:
            $ref: '#/components/schemas/CatalogEntityDto'
        zones:
          type: array
          items:
            $ref: '#/components/schemas/CatalogEntityDto'
        languages:
          example:
            - Espanol
            - Ingles
          type: array
          items:
            type: string
        activities:
          type: array
          items:
            type: string
          example:
            - Fotografía
            - Naturaleza
        included:
          type: array
          items:
            type: string
          example:
            - Transporte
            - Guía
        not_included:
          type: array
          items:
            type: string
          example:
            - Propinas
        before_tour:
          type: array
          items:
            type: string
          example:
            - Ropa cómoda
            - Agua
        additional_activities:
          type: array
          items:
            $ref: '#/components/schemas/TourAdditionalActivityDto'
        policies:
          type: string
          nullable: true
          description: Company policies text or HTML.
          example: <p>Cancelaciones con al menos 24 horas de anticipación.</p>
        cancellations_policies:
          type: array
          description: Cancellation penalty tiers by days before the service date.
          items:
            $ref: '#/components/schemas/CancellationPolicyTierDto'
        dates:
          description: >-
            Available rates and departures per day within the requested date
            range.
          type: array
          items:
            $ref: '#/components/schemas/TourDateDto'
      required:
        - id
        - slug
        - name
        - short_description
        - duration
        - duration_type
        - capacity
        - minimum_by_tour
        - photo_url
        - location
        - categories
        - zones
        - languages
    PaginationDto:
      type: object
      properties:
        page:
          type: number
          example: 1
        per_page:
          type: number
          example: 10
        total:
          type: number
          example: 32
        count:
          type: number
          example: 10
        last_page:
          type: number
          example: 4
      required:
        - page
        - per_page
        - total
        - count
        - last_page
    TourLocationDto:
      type: object
      properties:
        country:
          type: string
          nullable: true
          example: Chile
        region:
          type: string
          nullable: true
          example: Antofagasta
        city:
          type: string
          example: San Pedro de Atacama
        address:
          type: string
          example: Av. Principal 123
      required:
        - city
        - address
    CatalogEntityDto:
      type: object
      properties:
        id:
          type: number
          example: 5
        name:
          type: string
          example: San Pedro de Atacama
      required:
        - id
        - name
    TourAdditionalActivityDto:
      type: object
      properties:
        id:
          type: number
          example: 42
        name:
          type: string
          example: almuerzo
        description:
          type: string
          nullable: true
          example: Almuerzo en el valle
        price_clp:
          type: string
          description: Price in Chilean pesos with thousands separator (dot).
          example: '10.000'
        price_usd:
          type: string
          description: >-
            Price in USD. When transformable, calculated from the operator
            exchange rate; otherwise the configured amount_usd. Returns 0.00 if
            the exchange rate is missing or 0 while transformable.
          example: '10.00'
      required:
        - id
        - name
        - description
        - price_clp
        - price_usd
    CancellationPolicyTierDto:
      type: object
      properties:
        id:
          type: number
          example: 12
        days_before_service:
          type: number
          description: Days before the service date. 0 means the day of the service.
          example: 7
        penalty_percentage:
          type: number
          description: Cancellation penalty percentage from 0 to 100.
          example: 0
      required:
        - id
        - days_before_service
        - penalty_percentage
    TourDateDto:
      type: object
      properties:
        date:
          type: string
          format: date
          example: '2026-07-12'
        rates:
          description: >-
            Available passenger rates for the day. Includes Infant when
            allow_infant is enabled, Child when allow_child is enabled, Adult
            always, and Senior when allow_senior is enabled. Infant price is
            always 0. Each rate exposes price_clp and price_usd.
          type: array
          items:
            $ref: '#/components/schemas/TourRateDto'
        departures:
          type: array
          items:
            $ref: '#/components/schemas/TourDepartureDto'
      required:
        - date
        - rates
    TourRateDto:
      type: object
      properties:
        name:
          type: string
          enum:
            - Infante
            - Niño
            - Adulto
            - Adulto mayor
          example: Adulto
        ageFrom:
          type: number
          example: 13
        ageTo:
          type: number
          example: 65
        isChild:
          type: boolean
          example: false
        price_clp:
          type: string
          description: Price in Chilean pesos
          example: '200.000'
        price_usd:
          type: string
          description: >-
            Price in USD. When transformable, calculated from the operator
            exchange rate; otherwise the configured USD price. Returns 0.00 if
            the exchange rate is missing or 0 while transformable.
          example: '200.00'
      required:
        - name
        - ageFrom
        - ageTo
        - isChild
        - price_clp
        - price_usd
    TourDepartureDto:
      type: object
      properties:
        time:
          type: string
          example: '15:30'
        capacity:
          type: number
          example: 14
        minimum:
          type: number
          example: 1
        booked:
          type: number
          example: 0
        availability:
          type: number
          example: 14
      required:
        - time
        - capacity
        - minimum
        - booked
        - availability
  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.