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

# Get experiences

> Returns the brand's experiences - the scheduling records behind listings - with pagination. To fetch the brand's bookable catalog for display or search, use [Get all listings](/api-reference/listings/get-listings) instead.



## OpenAPI

````yaml get /v1/brands/{brandId}/experiences
openapi: 3.0.0
info:
  title: Way Partner API
  description: >-
    REST API for Way partners: list experiences, check availability, run
    checkout, and manage bookings.
  version: '1.0'
servers:
  - url: https://api.letsway.com
    description: Production.
  - url: https://api.staging.letsway.com
    description: Staging.
security: []
tags:
  - name: Listings
    description: 'Retrieve the listings a brand offers: experiences, events, and resources.'
  - name: Availability
    description: Dates, sessions, and price tiers for scheduling a booking.
  - name: Carts & Checkout
    description: >-
      Payment intents and booking creation. The cart ID is a client-generated
      UUID; there is no create-cart endpoint.
  - name: Bookings
    description: Retrieve, cancel, and reschedule bookings.
  - name: Experiences
    description: Experience details, settings, custom questions, reviews, and hosts.
  - name: Brand Configuration
    description: Brand settings, taxonomy, terms, and promotion code validation.
  - name: Waitlists
    description: Waitlists for sold-out sessions and invitation handling.
  - name: Integrations
    description: Configured integrations, analytics, and room-charge validation.
  - name: Organizations
    description: Organization-level access across brands.
paths:
  /v1/brands/{brandId}/experiences:
    get:
      tags:
        - Experiences
      summary: Get experiences
      description: >-
        Returns the brand's experiences - the scheduling records behind listings
        - with pagination. To fetch the brand's bookable catalog for display or
        search, use [Get all listings](/api-reference/listings/get-listings)
        instead.
      operationId: ExperienceWithBrandPublicController_findPaginated
      parameters:
        - $ref: '#/components/parameters/brandIdPath_43'
        - $ref: '#/components/parameters/limitQuery_44'
        - $ref: '#/components/parameters/pageQuery_45'
      responses:
        '200':
          description: Get experiences.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExperiencePaginationDto'
              example:
                items:
                  - id: 49e29966-b691-4960-96cc-eb524213f98f
                    title: Morning Yoga Class
                    slug: morning-yoga-class-718113e5
                    headline: 'fds '
                    description: >-
                      <p>A relaxed evening of regional wines guided by our
                      sommelier.</p>.
                    vibes:
                      - id: f047e2cb-1fb5-4374-8f3e-4bfcc6d7284e
                        name: Winter
                    category:
                      id: c80c38ad-7379-42b0-ae92-bc26de382a0b
                      name: Family
                    maxParticipantsCount: 5
                    sessionDurationMinutes: 120
                    currency: USD
                    coverPicture:
                      id: 86b8d184-ee7d-4a61-a248-983383859e42
                      mimeType: image/jpeg
                      uri:
                        original: >-
                          https://images.letsway.com/staging/tr:w-original/https://storage.googleapis.com/kouto-api-media/2026/6/accbde4c0064e535c67fd874a3b95d235d72465ed862dca1.jpg
                        384w: >-
                          https://images.letsway.com/staging/tr:w-original/https://storage.googleapis.com/kouto-api-media/2026/6/accbde4c0064e535c67fd874a3b95d235d72465ed862dca1.jpg
                        480w: >-
                          https://images.letsway.com/staging/tr:w-original/https://storage.googleapis.com/kouto-api-media/2026/6/accbde4c0064e535c67fd874a3b95d235d72465ed862dca1.jpg
                        640w: >-
                          https://images.letsway.com/staging/tr:w-original/https://storage.googleapis.com/kouto-api-media/2026/6/accbde4c0064e535c67fd874a3b95d235d72465ed862dca1.jpg
                        750w: >-
                          https://images.letsway.com/staging/tr:w-original/https://storage.googleapis.com/kouto-api-media/2026/6/accbde4c0064e535c67fd874a3b95d235d72465ed862dca1.jpg
                        1080w: >-
                          https://images.letsway.com/staging/tr:w-original/https://storage.googleapis.com/kouto-api-media/2026/6/accbde4c0064e535c67fd874a3b95d235d72465ed862dca1.jpg
                    pictures: []
                    medias:
                      - id: 86b8d184-ee7d-4a61-a248-983383859e42
                        type: image
                        kind: cover
                        altText: null
                        links:
                          - url: >-
                              https://images.letsway.com/staging/tr:w-original/https://storage.googleapis.com/kouto-api-media/2026/6/accbde4c0064e535c67fd874a3b95d235d72465ed862dca1.jpg
                            type: image
                            resolution: original
                          - url: >-
                              https://images.letsway.com/staging/tr:w-original/https://storage.googleapis.com/kouto-api-media/2026/6/accbde4c0064e535c67fd874a3b95d235d72465ed862dca1.jpg
                            type: image
                            resolution: '384'
                          - url: >-
                              https://images.letsway.com/staging/tr:w-original/https://storage.googleapis.com/kouto-api-media/2026/6/accbde4c0064e535c67fd874a3b95d235d72465ed862dca1.jpg
                            type: image
                            resolution: '480'
                          - url: >-
                              https://images.letsway.com/staging/tr:w-original/https://storage.googleapis.com/kouto-api-media/2026/6/accbde4c0064e535c67fd874a3b95d235d72465ed862dca1.jpg
                            type: image
                            resolution: '640'
                          - url: >-
                              https://images.letsway.com/staging/tr:w-original/https://storage.googleapis.com/kouto-api-media/2026/6/accbde4c0064e535c67fd874a3b95d235d72465ed862dca1.jpg
                            type: image
                            resolution: '750'
                          - url: >-
                              https://images.letsway.com/staging/tr:w-original/https://storage.googleapis.com/kouto-api-media/2026/6/accbde4c0064e535c67fd874a3b95d235d72465ed862dca1.jpg
                            type: image
                            resolution: '1080'
                    bookingAvailabilityMode: group
                    providedItems: []
                    healthAndSafety: ''
                    isExclusive: false
                    isBookable: true
                    isUnlisted: false
                    type: recurring
                    hostedBy:
                      id: c7c21aa6-110b-48d9-a970-47658473302a
                      profilePicture: null
                      firstName: Sam
                      lastName: ' '
                      emailAddress: alice@example.com
                      description: null
                      allowOverlappingBookings: false
                    externalField: null
                    paymentMethods:
                      - credit-card
                    priceTiers:
                      - id: 01579852-ff06-49da-8b12-1182bdd77891
                        name: adult
                        price: 10
                        maxQuantity: 3
                      - id: c3d88ec1-4eef-4775-9e77-d6aa2570f605
                        name: child
                        price: 5
                        maxQuantity: 2
                    taxes:
                      - id: c26f5863-8573-448e-a219-4faf47e10bc2
                        amount: 10
                        includedInPrice: false
                        name: Flat Tax
                      - id: c3c9c0aa-a794-417b-bb55-9d7ed4971219
                        isHostTax: false
                        percentage: 20
                        includedInPrice: true
                        name: include tax
                      - id: 19a59f85-538b-46bc-b01e-713e29b50720
                        isHostTax: false
                        percentage: 15
                        includedInPrice: false
                        name: service charge
                    integrationMeta: []
                    partySize: null
                    hidePrice: false
                    isNoHost: true
                    isTicketed: false
                    order: 0
                    shouldValidateComplimentaryBooking: null
                    descriptionPicture: null
                    kind: experience
                    minimumRequiredToBook: null
                    maximumAllowedToBook: null
                    number: null
                    displayedCapacity: null
                    shape: null
                    position: null
                    resourceGroupId: null
                    cancellationPolicyId: null
                    reschedulePolicyId: null
                    limitedTimeId: null
                    customCallToAction: null
                meta:
                  totalItems: 103
                  itemCount: 3
                  itemsPerPage: 3
                  totalPages: 35
                  currentPage: 1
                links:
                  first: >-
                    /v1/brands/f2ce0a06-7997-4626-9532-65ac70f3a19c/experiences?&limit=3
                  previous: ''
                  next: >-
                    /v1/brands/f2ce0a06-7997-4626-9532-65ac70f3a19c/experiences?&page=2&limit=3
                  last: >-
                    /v1/brands/f2ce0a06-7997-4626-9532-65ac70f3a19c/experiences?&page=35&limit=3
      security:
        - Brand-API-Key: []
        - Organization-API-Key: []
components:
  parameters:
    brandIdPath_43:
      name: brandId
      in: path
      schema:
        type: string
      required: true
      description: >-
        The brand's ID - must match the brand your API key identifies (or the
        Way-Brand-Id header when one is sent).
    limitQuery_44:
      name: limit
      in: query
      schema:
        type: string
      description: Number of items per page.
      example: 10
      required: false
    pageQuery_45:
      name: page
      in: query
      schema:
        type: string
      description: Page number to return, starting at 1.
      example: 1
      required: false
  schemas:
    ExperiencePaginationDto:
      type: object
      properties:
        items:
          description: List of experiences.
          type: array
          items:
            $ref: '#/components/schemas/ExperienceResponseDto'
        links:
          description: Pagination links.
          allOf:
            - $ref: '#/components/schemas/PaginationLinksDto'
      required:
        - items
        - links
    ExperienceResponseDto:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of the experience.
          example: exp-123
        title:
          type: string
          description: The title of the experience.
          example: Scuba Diving in Bali
        slug:
          type: string
          description: The slug for the experience URL.
          example: scuba-diving-bali
        headline:
          type: string
          description: Headline of the experience.
          example: Dive into the crystal-clear waters of Bali
        description:
          type: string
          description: Description of the experience.
          example: An exciting scuba diving adventure in Bali
        vibes:
          description: Vibes associated with the experience.
          type: array
          items:
            $ref: '#/components/schemas/VibeResponseDto'
        category:
          description: Category of the experience.
          allOf:
            - $ref: '#/components/schemas/CategoryResponseDto'
        location:
          description: Location details.
          allOf:
            - $ref: '#/components/schemas/LocationResponseDto'
        maxParticipantsCount:
          type: number
          description: Maximum number of participants.
          example: 10
        sessionDurationMinutes:
          type: number
          description: Session duration in minutes.
          example: 120
        currency:
          type: string
          description: Currency of the experience.
          example: USD
        coverPicture:
          description: Cover picture of the experience.
          allOf:
            - $ref: '#/components/schemas/MediaReferenceDto'
        pictures:
          description: Additional pictures.
          type: array
          items:
            $ref: '#/components/schemas/MediaReferenceDto'
        medias:
          description: Media assets.
          type: array
          items:
            $ref: '#/components/schemas/MediaReferenceDto'
        bookingAvailabilityMode:
          type: string
          description: Booking availability mode.
          example: instant
        providedItems:
          description: Provided items.
          example:
            - Diving suit
            - Oxygen tank
          type: array
          items:
            type: string
        healthAndSafety:
          type: string
          description: Health and safety measures.
          example: Life jacket required
        isExclusive:
          type: boolean
          description: Indicates if the experience is exclusive.
          example: true
        isBookable:
          type: boolean
          description: Indicates if the experience is bookable.
          example: true
        isUnlisted:
          type: boolean
          description: Indicates if the experience is unlisted.
          example: false
        type:
          type: string
          description: Type of the experience.
          example: adventure
        hostedBy:
          description: Host of the experience.
          allOf:
            - $ref: '#/components/schemas/UserReferenceDto'
        ratings:
          type: object
          description: Ratings of the experience.
          example:
            rating: 4.8
            recommendability: 95
            total: 200
        externalField:
          type: object
          description: External field details.
          example:
            type: url
            value: https://external-link.com
        paymentMethods:
          description: Available payment methods.
          example:
            - credit-card
            - cash
          type: array
          items:
            type: string
            example: credit-card
        priceTiers:
          description: Available price tiers.
          example:
            - name: Standard
              price: 50
          type: array
          items:
            type: string
        taxes:
          description: Taxes applied to the experience.
          example:
            - name: VAT
              amount: 5
          type: array
          items:
            type: string
        integrationMeta:
          description: Integration metadata.
          example:
            - type: API
              key: integration-key
              value: {}
          type: array
          items:
            type: string
        minimumRequiredToBook:
          type: object
          description: Minimum participants required for booking.
          example: 2
        maximumAllowedToBook:
          type: object
          description: Maximum participants allowed to book.
          example: 5
        displayedCapacity:
          type: object
          description: Displayed capacity.
          example: 20
        cancellationPolicyId:
          type: object
          description: Cancellation policy ID.
          example: policy-123
      required:
        - id
        - title
        - slug
        - headline
        - description
        - vibes
        - category
        - location
        - maxParticipantsCount
        - sessionDurationMinutes
        - currency
        - coverPicture
        - pictures
        - medias
        - bookingAvailabilityMode
        - providedItems
        - healthAndSafety
        - isExclusive
        - isBookable
        - isUnlisted
        - type
        - hostedBy
        - paymentMethods
        - priceTiers
        - taxes
        - integrationMeta
    PaginationLinksDto:
      type: object
      properties:
        first:
          type: string
          description: Link to the first page.
        previous:
          type: string
          description: Link to the previous page.
        next:
          type: string
          description: Link to the next page.
        last:
          type: string
          description: Link to the last page.
    VibeResponseDto:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of the vibe.
          example: vibe-123
        name:
          type: string
          description: The name of the vibe.
          example: Relaxing
      required:
        - id
        - name
    CategoryResponseDto:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of the category.
          example: cat-123
        name:
          type: string
          description: The name of the category.
          example: Adventure
      required:
        - id
        - name
    LocationResponseDto:
      type: object
      properties:
        longitude:
          type: number
          description: Longitude coordinate.
          example: -122.4194
        latitude:
          type: number
          description: Latitude coordinate.
          example: 37.7749
        name:
          type: string
          description: Name of the location.
          example: San Francisco
        timezoneId:
          type: string
          description: Timezone ID.
          example: America/Los_Angeles
        additionalInfo:
          type: string
          description: Additional location info.
          example: Near the Golden Gate Bridge
      required:
        - longitude
        - latitude
        - name
        - timezoneId
    MediaReferenceDto:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the media.
          example: uuid-value
        kind:
          type: string
          description: Kind of listing picture.
          enum:
            - gallery
            - cover
            - map
            - description
          example: cover
        uri:
          description: Object containing the media URIs.
          allOf:
            - $ref: '#/components/schemas/MediaUriDto'
      required:
        - id
        - uri
    UserReferenceDto:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of the user.
          example: user-123
        profilePicture:
          description: Profile picture of the user.
          allOf:
            - $ref: '#/components/schemas/MediaReferenceDto'
        firstName:
          type: string
          description: First name of the user.
          example: John
        lastName:
          type: string
          description: Last name of the user.
          example: Doe
        emailAddress:
          type: string
          description: User email address.
          example: john.doe@example.com
        description:
          type: string
          description: User description.
          example: Experienced tour guide
        allowOverlappingBookings:
          type: boolean
          description: Whether the user allows overlapping bookings.
          example: true
      required:
        - id
        - profilePicture
        - firstName
        - lastName
        - emailAddress
        - description
        - allowOverlappingBookings
    MediaUriDto:
      type: object
      properties:
        original:
          type: string
          description: Original URI for the media.
          example: https://example.com/image.jpg
      required:
        - original
  securitySchemes:
    Brand-API-Key:
      type: http
      scheme: bearer
      description: >-
        Your brand's secret API key, e.g. `Bearer
        way_sk_live_bhEqcn0i1fRoUEHBPjJkQA`. Older `Way-Brand-Id` +
        `Way-Secret-Key` credentials still work: see [Legacy
        authentication](/legacy-authentication).
    Organization-API-Key:
      type: http
      scheme: bearer
      description: >-
        Your organization's secret API key, e.g. `Bearer
        way_sk_live_ohEqcn0i1fRoUEHBPjJkQA`. Older `Way-Organization-Id` +
        `Way-Secret-Key` credentials still work: see [Legacy
        authentication](/legacy-authentication).

````