---
title: "Get a meditation by id"
method: GET
path: "/v1/meditations/{id}"
tags: ["meditations"]
---

# Get a meditation by id

`GET /v1/meditations/{id}`

Returns a single meditation by its id, including its playable video, duration, imagery, captions where available, and tags. Returns `404` when no meditation exists for the id and `422` when the id is not a UUID.

## Path parameters

- `id` string, uuid, required

## Query parameters

- `locale` string

## Response `200`

The meditation

- object
  - `data` MeditationItem — A meditation — a guided video session for relaxation, sleep, and stress management.
    - `id` string, uuid, required
    - `type` 'meditation', required
    - `name` string, required
    - `description` string, nullable, required
    - `createdAt` string, date-time, nullable, required
    - `updatedAt` string, date-time, nullable, required
    - `locale` string, nullable, required — Served locale, not request echo
    - `tags` TaxonomyTerm[], required
      - `id` string, nullable, required — Stable identifier for the term; null where none exists
      - `slug` string, required
      - `name` string, nullable, required
    - `conditions` TaxonomyTerm[], required
      - `id` string, nullable, required — Stable identifier for the term; null where none exists
      - `slug` string, required
      - `name` string, nullable, required
    - `coreHealthBehaviors` TaxonomyTerm[], required
      - `id` string, nullable, required — Stable identifier for the term; null where none exists
      - `slug` string, required
      - `name` string, nullable, required
    - `durationInSeconds` integer, required
    - `media` MediaEntry[], required — Playable renditions of the meditation video, keyed by `kind`.
      - `kind` 'file' | 'manifest' | 'embed', required
      - `orientation` 'landscape' | 'portrait', nullable, required
      - `contentType` string, nullable, required — MIME type where known
      - `url` string, uri, required
    - `assets` AssetEntry[], required — Supporting files — captions and imagery
      - `role` 'captions' | 'transcript' | 'image-landscape' | 'image-portrait' | 'thumbnail-landscape' | 'thumbnail-portrait' | 'image-featured', required
      - `contentType` string, nullable, required
      - `url` string, uri, required
      - `alt` string, nullable, required
      - `sizes` object — Explicit size-variant URLs where they exist. Never derive variants by transforming URLs.

## Other responses

- `401` — Unauthorized — missing, invalid, or expired token
- `404` — No meditation exists for the id
- `422` — Invalid id (must be a UUID) or query parameters
- `502` — Service temporarily unavailable

---

[API](https://skmtc.net/thriveglobal/apis/thrive-global-partner-api.md) · [All operations](https://skmtc.net/thriveglobal/apis/thrive-global-partner-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/thriveglobal/thrive-global-partner-api/revisions/0e40a805593b/schema)
