---
title: "List bedtime stories"
method: GET
path: "/v1/bedtime-stories"
tags: ["audio experiences"]
---

# List bedtime stories

`GET /v1/bedtime-stories`

Returns a paginated list of bedtime stories — narrated audio stories that help listeners unwind and fall asleep. Each bedtime story includes its playable audio, duration, imagery, captions where available, and tags.

## Query parameters

- `offset` integer
- `limit` integer
- `locale` string

## Response `200`

A page of bedtime stories

- object
  - `data` BedtimeStoryItem[], required
    - `id` string, uuid, required
    - `type` 'bedtime-story', 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 — the bedtime story audio file
      - `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.
  - `meta` PaginationMeta, required — Applied pagination values — after defaulting and clamping, not what was requested.
    - `pagination` object, required
      - `offset` integer, required
      - `limit` integer, required
      - `total` integer, nullable, required — Best-effort display data; null when a total is not available. `links.next != null` is the authoritative "more results exist" signal.
  - `links` PaginationLinks, required — Opaque pagination URLs — follow `next` until it is null; do not parse them. All three attributes are always present (null when there is no such page).
    - `self` string, required
    - `next` string, nullable, required
    - `prev` string, nullable, required

## Other responses

- `401` — Unauthorized — missing, invalid, or expired token
- `422` — Invalid query parameters (e.g. negative offset, zero limit)
- `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)
