---
title: "Select a take of one of a chapter's calls."
method: POST
path: "/pitch-decks/{jobId}/chapters/{chapterIndex}/select-take"
tags: ["Pitch Deck"]
---

# Select a take of one of a chapter's calls.

`POST /pitch-decks/{jobId}/chapters/{chapterIndex}/select-take`

## Request

- Base URL: `https://docs.sleeperhit.studio/api/v1`
- URL: `https://docs.sleeperhit.studio/api/v1/pitch-decks/{jobId}/chapters/{chapterIndex}/select-take`
- Auth: HTTP bearer

Chooses which take of one call the cut plays and the finish delivers. NOT metered and NOT confirmed: it renders nothing and is reversible (select another take), and the chapter's preview cut is re-assembled from the new selection. Any accepted take may be selected, a flagged one included; the answer's `warning` names what it is flagged for, and the finish quote and export carry it too. A take that produced no file cannot be selected, and a call of another chapter is refused (400). In a complete deck a new selection sends the deck back to review, and the next finish quotes just that take. Review or complete only. Requires `Idempotency-Key`. Scope: `story:write`.

## Headers

- `Idempotency-Key` string, required

## Request body

- PitchDeckSelectTakeRequest: Choose one take of one of this chapter's calls. Free and reversible.
  - `callId` string, required: One of this chapter's call ids (from the chapters read). A call of another chapter is refused.
  - `take` integer, required: A take number from the call's `takes`. A take that produced no file cannot be selected.

## Response `200`

The take now selected.

- PitchDeckSelectTakeAck: The take now selected. Nothing was rendered and nothing was charged; the chapter's preview cut is re-assembled from it.
  - `jobId` string, required
  - `chapterIndex` integer, required
  - `callId` string, required
  - `take` integer, required
  - `warning` string, nullable, required: Set when the chosen take is flagged: the finish quote and the export carry this sentence.

## Other responses

- `400`: Request payload failed validation. The error message names the offending field.
- `401`: Missing, malformed, revoked, or expired API key.
- `403`: API key is valid but lacks the scope, is blocked by IP allowlist, or the account is disabled.
- `404`: The named project or source does not exist or is owned by another account.
- `409`: The pitch deck exists and the request is well-formed, but the deck, its chapter, its cast or its plates are not in a state that allows it (`pitch_deck_state_invalid`), and nothing was reserved: a plan approved outside draft, a take chosen, a chapter edited or rendered outside review/complete, an export before the finish, a finish while a call has no selected take or a footage chapter has not rendered, a text-only chapter asked for footage, a changed chapter asked for one call, a delivery class changed mid-pass, a render the compile blocked, or a finish while the master failed its video coverage (`pitch_deck_video_coverage_failed`, with `details.videoCoverage`). `details.refusal` is `{ code, action, fix }` (see PitchDeckRefusalDetails): `action` is what unblocks it — `recast_figure`, `add_signature_items`, `recast_voice` or `remake_location_plate` — and `fix` names the MCP tool and CLI command that take it; `details.blocked[]` lists every chapter a blocked compile could not render. The identical request succeeds once the deck is put right.
- `429`: Rate limit for this API key + IP + route family was exceeded.
- `500`: The API failed unexpectedly. Safe to retry with the same Idempotency-Key.

---

[API](https://skmtc.dev/sleeperhit/apis/sleeper-hit-studio-story-api.md) · [All operations](https://skmtc.dev/sleeperhit/apis/sleeper-hit-studio-story-api/llms.txt) · [OpenAPI document](https://skmtc.dev/sleeperhit/apis/sleeper-hit-studio-story-api/revisions/86e084144cef?raw)
