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

> Returns a single experience - the scheduling record behind a listing - with its details and configuration. For the customer-facing view of the same item, use [Get a listing](/api-reference/listings/get-listing).



## OpenAPI

````yaml get /v1/brands/{brandId}/experiences/{experienceId}
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/{experienceId}:
    get:
      tags:
        - Experiences
      summary: Get experience
      description: >-
        Returns a single experience - the scheduling record behind a listing -
        with its details and configuration. For the customer-facing view of the
        same item, use [Get a listing](/api-reference/listings/get-listing).
      operationId: ExperienceWithBrandPublicController_findOne
      parameters:
        - $ref: '#/components/parameters/brandIdPath_46'
        - $ref: '#/components/parameters/experienceIdPath_47'
        - $ref: '#/components/parameters/languageQuery_48'
      responses:
        '200':
          description: Get experience.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExperienceResponseDto'
              example:
                data:
                  id: c99f70ee-1c0e-4534-a31a-96d5d966cc4b
                  title: Sunset Sailing Tour
                  slug: sunset-sailing-tour-a54f004c
                  headline: A two-hour coastal cruise with drinks at golden hour.
                  description: >-
                    <p>Set sail along the coast at golden hour - a two-hour
                    cruise with drinks and canapés included.</p>.
                  vibes:
                    - id: f047e2cb-1fb5-4374-8f3e-4bfcc6d7284e
                      name: Winter
                    - id: da568b2b-24c4-4b4a-9ac5-7010986368d3
                      name: Summer
                  category:
                    id: c80c38ad-7379-42b0-ae92-bc26de382a0b
                    name: Family
                  location:
                    id: 0e4e5db1-de94-41f8-9713-5074f9f0645a
                    longitude: -97.7430608
                    latitude: 30.267153
                    name: Austin, TX, USA
                    timezoneId: America/Chicago
                    additionalInfo: ''
                  maxParticipantsCount: 10
                  sessionDurationMinutes: 60
                  currency: USD
                  coverPicture:
                    id: 0a4cd3a1-d099-4916-90ea-7e5012c06598
                    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: 0a4cd3a1-d099-4916-90ea-7e5012c06598
                      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
                    - room-charge
                    - member-number
                  priceTiers:
                    - id: 6c59db13-2c63-43b9-b91b-6267544f5fdb
                      name: Participant
                      price: 100
                  taxes: []
                  integrationMeta: []
                  partySize: null
                  hidePrice: false
                  isNoHost: true
                  isTicketed: false
                  shouldValidateComplimentaryBooking: {}
                  firstAvailableDate:
                    scheduledDate: '2026-07-15'
                    sessions:
                      - supportedParticipantsCount: 10
                        startTime: '10:00:00'
                        duration: 60
                  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
      security:
        - Brand-API-Key: []
        - Organization-API-Key: []
components:
  parameters:
    brandIdPath_46:
      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).
    experienceIdPath_47:
      name: experienceId
      in: path
      schema:
        type: string
      required: true
      description: Only results for this experience.
      example: c99f70ee-1c0e-4534-a31a-96d5d966cc4b
    languageQuery_48:
      name: language
      in: query
      schema:
        type: string
      description: Locale for translated content; defaults to the brand's language.
      required: false
  schemas:
    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
    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).

````