---
title: "Set Slug video selection within an existing conversation."
method: PATCH
path: "/conversations/{conversationId}/video-editing-scope"
tags: ["Projects"]
---

# Set Slug video selection within an existing conversation.

`PATCH /conversations/{conversationId}/video-editing-scope`

## Request

- Base URL: `https://docs.sleeperhit.studio/api/v1`
- URL: `https://docs.sleeperhit.studio/api/v1/conversations/{conversationId}/video-editing-scope`
- Auth: HTTP bearer

Select the whole cut (sceneIndex null) or one trailer segment or deck chapter by its current sceneIndex from the order (beatIndex for a trailer, chapterIndex for a deck). The conversation must belong to this video. Returns previous selection and current order; after insertion, removal or reorder read the new order before selecting a position again. Free and naturally idempotent, with no Idempotency-Key: starts no render, spends no credits, creates no conversation and changes no edit or spending consent. Scope: story:write.

## Path parameters

- `conversationId` string, required

## Request body

- SetVideoEditingScopeRequest
  - `surface` 'trailer' | 'pitch-deck', required
  - `jobId` string, required
  - `sceneIndex` integer, nullable, required: Current sceneIndex from the returned order (trailer beatIndex or deck chapterIndex); null selects the whole cut.

## Response `200`

Selection saved, with current order.

- VideoEditingScopeResult
  - `conversationId` string, required
  - `surface` 'trailer' | 'pitch-deck', required
  - `jobId` string, required
  - `previous` VideoEditingScopeTarget, required
    - `sceneIndex` integer, required
    - `sceneNumber` integer, required
    - `label` string, required
    - `artifact` string, nullable
    - `sourceIds` string[]
  - `current` VideoEditingScopeTarget, required
    - `sceneIndex` integer, required
    - `sceneNumber` integer, required
    - `label` string, required
    - `artifact` string, nullable
    - `sourceIds` string[]
  - `order` VideoEditingScopeTarget[], required
    - `sceneIndex` integer, required
    - `sceneNumber` integer, required
    - `label` string, required
    - `artifact` string, nullable
    - `sourceIds` string[]

## Other responses

- `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.
- `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)
