---
title: "List stories for a map"
method: GET
path: "/api/sync/{mapId}/stories"
tags: ["Sync"]
---

# List stories for a map

`GET /api/sync/{mapId}/stories`

## Request

- Base URL: `https://intentdocs.com`
- URL: `https://intentdocs.com/api/sync/{mapId}/stories`
- Auth: none declared

Retrieve all user stories from a story map, grouped by release with status summaries.

## Path parameters

- `mapId` string, required

## Response `200`

Stories retrieved successfully

- object
  - `map` object
    - `id` string
    - `title` string
  - `stories` Story[]
    - `id` string
    - `title` string
    - `activity` string
    - `user_story` string, nullable
    - `priority` 'must' | 'should' | 'could'
    - `effort` 'XS' | 'S' | 'M' | 'L' | 'XL'
    - `release` number
    - `build_sequence` number, nullable
    - `status` 'todo' | 'in_progress' | 'needs_rework' | 'done' | 'approved'
    - `acceptance_criteria` AcceptanceCriterion[]
      - `id` string
      - `text` string
      - `done` boolean
      - `given` string, nullable
      - `when` string, nullable
      - `then` string, nullable
      - `priority` string, nullable
      - `verification` string, nullable
      - `last_result` string, nullable
    - `depends_on` string[]
    - `notes` string, nullable
    - `implementation_plan` object, nullable
    - `cancelled_at` string, nullable
    - `cancellation_reason` string, nullable
  - `summary` object
    - `total` number
    - `todo` number
    - `in_progress` number
    - `needs_rework` number
    - `done` number
    - `approved` number

## Other responses

- `401`: No CLI bearer, or the bearer's holder has no standing on the map's project

---

[API](https://skmtc.dev/intentdocs/apis/intentdocs-api.md) · [All operations](https://skmtc.dev/intentdocs/apis/intentdocs-api/llms.txt) · [OpenAPI document](https://skmtc.dev/intentdocs/apis/intentdocs-api/revisions/28abdea021d0?raw)
