---
title: "Get List Contents"
method: GET
path: "/saved/lists/{list_id}/contents"
tags: ["saved"]
---

# Get List Contents

`GET /saved/lists/{list_id}/contents`

## Path parameters

- `list_id` string, uuid, required

## Query parameters

- `offset` integer
- `limit` integer

## Response `200`

Successful Response

- SavedListContentsOut
  - `list` SavedListOut, required
    - `id` string, uuid, required
    - `title` string, required
    - `source` string, required
    - `source_url` string, nullable, required
    - `source_author` string, nullable, required
    - `city` string, nullable, required
    - `cover_image_url` string, nullable, required
    - `item_count` integer, required
    - `is_shared` boolean, required
    - `status` string, required
    - `failed_reason` 'post_unavailable', nullable
    - `created_at` string, required
    - `updated_at` string, required
    - `visibility` 'public' | 'private', required
    - `slug` string, nullable, required
    - `public_url` string, nullable, required
    - `routes` SavedRouteOut[]
      - `id` string, uuid, required
      - `list_id` string, uuid, required
      - `name` string, required
      - `activity` string, required
      - `status` string, required
      - `chains` string[], required
      - `length_m` integer, required
      - `ascent_m` integer, required
      - `descent_m` integer, required
      - `min_elev_m` number, required
      - `max_elev_m` number, required
      - `profile` object, nullable
      - `tag_lengths` object, nullable
      - `osm_name` string, nullable
      - `claimed_length_km` number, nullable
      - `claimed_ascent_m` number, nullable
      - `place_item_id` string, uuid, nullable
    - `intro` string, nullable
    - `sections` SavedSection[]
      - `id` string, required
      - `title` string, required
      - `blurb` string, nullable
      - `item_ids` string[]
  - `items` SavedItemOut[], required
    - `id` string, uuid, required
    - `list_id` string, uuid, nullable, required
    - `place_ref` string, required
    - `place_id` string, nullable, required
    - `caption` string, nullable, required
    - `description` string, nullable
    - `name` string, required
    - `category` string, nullable, required
    - `city` string, nullable, required
    - `state` string, nullable, required
    - `country` string, nullable, required
    - `lat` number, nullable, required
    - `lng` number, nullable, required
    - `image_url` string, nullable, required
    - `image_thumbhash` string, nullable
    - `rating` number, nullable, required
    - `num_reviews` integer, nullable, required
    - `tabelog_tier` integer, nullable
    - `michelin` MichelinDistinction — A place's Michelin Guide distinction, structured. Canonical rationale — the TS mirror and the renderers point here rather than restating it. Rides alongside `michelin_award` rather than replacing it: that field is a pre-rendered label ("★★★"), and a label cannot drive iconography. An award string we don't recognise yields NO distinction (we never paint a mark we can't justify) while still surfacing verbatim in `michelin_award`, so a new tier degrades to text rather than disappearing.
      - `tier` 'stars' | 'bib_gourmand' | 'selected', required
      - `stars` integer, nullable
      - `green_star` boolean
      - `url` string, nullable
      - `cuisine` string, nullable
    - `source` string, required
    - `source_url` string, nullable, required
    - `is_shared` boolean, required
    - `review_state` string, nullable, required
    - `created_at` string, required
  - `next_offset` integer, nullable

## Other responses

- `422` — Validation Error

## Changes

- **2026-09-18** `7367652ab574` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/stardrift/apis/fastapi/changes/saved/lists/:list_id/contents/get.md)

---

[API](https://skmtc.dev/stardrift/apis/fastapi.md) · [All operations](https://skmtc.dev/stardrift/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc.dev/stardrift/apis/fastapi/revisions/7367652ab574?raw)
