---
title: "Get one experience in detail"
method: GET
path: "/public/v1/experiences/{id}"
tags: ["Public API"]
---

# Get one experience in detail

`GET /public/v1/experiences/{id}`

## Request

- Base URL: `https://ilove.sweatpals.com/api`
- URL: `https://ilove.sweatpals.com/api/public/v1/experiences/{id}`
- Auth: none declared

Full details for one experience occurrence returned by search: complete description, refund policy, skill level, gallery images, live availability and a direct `booking_url` (checkout).

Use it after search when the user shows interest in a specific result or asks a follow-up ("is it beginner friendly?", "can I get a refund?", "how many spots are left?"). `id` is the `id` field of a search result.

Example: `GET /public/v1/experiences/0b7e5c1a-2f3d-4e5f-8a9b-0c1d2e3f4a5b`

Returns `404 NOT_FOUND` for unknown ids and for experiences that are no longer public. Booking always happens on Sweatpals via `url` or `booking_url`.

## Path parameters

- `id` string, required

## Response `200`

The experience with full details.

- PublicExperienceDetailDto
  - `id` string, required: Occurrence id; pass it to `GET /experiences/{id}`.
  - `event_id` string, required: Series id shared by every occurrence of a recurring experience (informational).
  - `title` string, required
  - `short_description` string, nullable, required: Plain-text summary, at most 300 characters.
  - `start` string, required: Start in ISO 8601 with the venue's UTC offset.
  - `end` string, nullable, required: End in ISO 8601 with the venue's UTC offset.
  - `timezone` string, required: IANA time zone of the venue.
  - `venue` PublicVenueDto, required
    - `name` string, nullable, required: Venue or place name as the host entered it.
    - `address` string, nullable, required: "City, Region, Country" of the venue; street addresses are not exposed.
    - `lat` number, nullable, required
    - `lng` number, nullable, required
  - `is_online` boolean, required
  - `market` PublicMarketRefDto, required
    - `slug` string, required: Stable market identifier; pass it as `market` to search.
    - `name` string, required: City name.
    - `region` string, nullable, required: State / region name.
  - `price` PublicPriceDto, required
    - `amount` number, nullable, required: Lowest ticket price checkout charges now (active time-based offers applied), in major units (e.g. 25.5 = $25.50); 0 when free, the minimum donation when donation-based, null when unknown.
    - `currency` string, nullable, required: ISO 4217 currency of `amount`; null when free or unknown.
    - `is_free` boolean, required
    - `is_donation_based` boolean, required: Pay-what-you-want; `amount` is the minimum donation when set.
  - `host` PublicHostDto, required
    - `id` string, required
    - `name` string, required: Host (community or person) display name.
    - `url` string, required: Host page on Sweatpals.
  - `tags` string[], required: Activity tags (e.g. Running, Yoga).
  - `availability` 'available' | 'limited' | 'sold_out' | 'waitlist' | 'unknown', required: `limited` = 5 or fewer spots left; `waitlist` = sold out with an open waitlist; `unknown` = could not be determined (never implies sold out).
  - `spots_remaining` number, nullable, required: Spots left; null when capacity is unlimited or unknown.
  - `image_url` string, nullable, required
  - `url` string, required: Canonical event page; send the user here to view and book.
  - `description` string, nullable, required: Full description as the host wrote it (may contain Markdown).
  - `refund_policy` string, nullable, required
  - `skill_level` 'beginner' | 'intermediate' | 'advanced', required
  - `booking_url` string, required: Opens checkout directly; same attribution params as `url`.
  - `gallery_image_urls` string[], required

## Other responses

- `404`: Unknown id or no longer public (NOT_FOUND).
- `429`: Rate limit exceeded (RATE_LIMITED).

---

[API](https://skmtc.dev/sweatpals/apis/sweatpals-public-api.md) - [All operations](https://skmtc.dev/sweatpals/apis/sweatpals-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/sweatpals/apis/sweatpals-public-api/revisions/164492d152a9?raw)
