---
title: "Raise a blocker on a story"
method: POST
path: "/api/sync/{mapId}/blocker"
tags: ["Sync"]
---

# Raise a blocker on a story

`POST /api/sync/{mapId}/blocker`

## Request

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

Escalate a must-criterion that has failed repeated fix attempts, signaling need for architectural decision.

## Path parameters

- `mapId` string, required

## Request body

- object
  - `story_id` string, required
  - `criterion_id` string
  - `summary` string, required
  - `attempting` string, required
  - `failing` string, required
  - `decision_needed` string, required
  - `attempts` number

## Response `201`

Blocker raised successfully

- object
  - `ok` boolean
  - `blocker` object
    - `summary` string
    - `attempting` string
    - `failing` string
    - `decision_needed` string
    - `attempts` number
    - `created_at` string
    - `resolved_at` string, nullable

## Other responses

- `400`: Invalid payload
- `401`: No CLI bearer, or the bearer's holder has no standing on the map's project
- `404`: Story not found

---

[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)
