Pitch Deck

Duplicate a deck from its current plan onto a new draft (free).

Duplicating a deck makes a NEW draft deck that carries the source deck's CURRENT plan — every chapter with its edits, the deck's intent, its black interludes and montage marks — and the choices made on the deck itself (the narrator cast for it, its delivery class, its strategic target), and leaves the source deck untouched. Nothing rendered rides along: no takes, cuts, masters, share links or coverage reports. It is free and renders and reserves nothing; the copy's plan is queued for coverage, and its next step is approve_pitch_deck_plan on the NEW deck's jobId (CLI: pitch-deck approve-plan <newJobId>). Any status may be duplicated — a draft, a deck in review or complete, a failed deck — as long as its plan reads as a plan today; one that does not is refused with 409 pitch_deck_state_invalid (details.refusal.code: pitch_deck_duplicate_no_plan) and nothing is created. A given title is the copy's DISPLAY NAME — the name its lists show it by — and never a title for its plan, which comes along unchanged; without one the copy keeps the source's name. NOT metered and NOT confirmed. Requires Idempotency-Key. Scope: story:write.

post/pitch-decks/{jobId}/duplicate

Request

  • Base URL: https://docs.sleeperhit.studio/api/v1
  • URL: https://docs.sleeperhit.studio/api/v1/pitch-decks/{jobId}/duplicate
  • Auth: HTTP bearer

Headers

Idempotency-Keystring required

Customer-generated stable identifier for safe retries of idempotent POST requests.

Request body

titlestring

The copy's DISPLAY NAME — the name its lists show it by; its plan comes along unchanged. Omitted: the copy keeps the source deck's name.

Response

The new draft deck.

sourceJobIdstring required

The deck the plan was copied from. It is untouched.

jobIdstring required

The NEW draft deck. Every deck tool takes this id from here on.

status'draft' required
deckMode'pitch' | 'showcase' required
titlestring required

The copy's DISPLAY NAME (the name its lists show it by).

chaptersinteger required

How many chapters the copied plan has.

interludesinteger required

How many black interludes it carries.

deliveryResolutionstring nullable required

The delivery class chosen on the source deck, carried; null when it had none.

planCoverage'queued' | 'current' | 'failed' required

The copy's plan coverage: queued for the new draft, current already scored, or failed when it could not be queued (request it with POST /pitch-decks/{jobId}/storyboard/coverage; approving an unscored plan is refused).

nextStep'approve_pitch_deck_plan' required
reviewUrlstring nullable required

A logged-in deep link to the deck list the copy appears in.

credits0 required

Always 0: a duplicate renders and reserves nothing.

notestring required

What was copied and what happens next, in one paragraph to read out.

Changes

No recorded changes to this operation across all 1 revision of this API.