---
title: "Realtime Phase"
method: POST
path: "/v1/realtime/phase"
---

# Realtime Phase

`POST /v1/realtime/phase`

## Request

- Base URL: `https://api.scriptseen.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.scriptseen.com/v1/realtime/phase`
- Auth: none declared

The session fields for the room a Scout journey is moving into.

The client applies them to its live call with ``session.update``. The
prompts and tools stay server-owned; no allowance is spent here because
the journey was counted when the call was created, and a call the
server is no longer in the path of cannot be metered per room anyway.

## Request body

- RealtimePhaseBody: The room a journey is moving into, with the bounded context it needs.
  - `phase` 'home' | 'brief' | 'writing' | 'script' | 'practice' | 'prompter', required
  - `feedback_language` string
  - `surface` 'studio' | 'script' | 'saved' | 'ideas' | 'account'
  - `scripts` RealtimeScriptListItem[]
    - `number` integer, required
    - `title` string
    - `source` 'recent' | 'saved'
    - `platform` string, nullable
    - `seconds` number, nullable
    - `when` string, nullable
    - `practiced` string, nullable
    - `last_score` integer, nullable
    - `best_score` integer, nullable
  - `brief` RealtimeStudioBrief: The editable Studio fields shared with Scout at session start.
    - `topic` string
    - `audience` string
    - `platform` 'tiktok' | 'reels' | 'youtube-shorts'
    - `duration` integer
    - `confirmed_fields` string[]
  - `script` RealtimeScriptSummary: What Scout is told about the finished script in the script and prompter rooms.
    - `title` string
    - `hooks` string[]
    - `chosen_hook` integer, nullable
    - `script` string
    - `sections` RealtimeScriptSection[]
      - `number` integer, required
      - `text` string
    - `line_count` integer, nullable
    - `read_available` boolean
    - `has_cues` boolean
    - `can_record` boolean
    - `coach_listens` boolean
    - `take_available` boolean
    - `platform` string
    - `topic` string
    - `audience` string
    - `target_seconds` integer, nullable
    - `word_count` integer, nullable
    - `estimated_seconds` integer, nullable
    - `why` object
  - `line` string
  - `delivery_note` string
  - `punches` string[]
  - `target_seconds` number
  - `context` RealtimeScriptContext: Bounded story context that helps the coach understand one selected line.
    - `title` string
    - `full_script` string
    - `previous_line` string
    - `next_line` string
    - `line_number` integer, nullable
    - `total_lines` integer, nullable
    - `narrative_role` string
    - `speaker` string
    - `topic` string
    - `audience` string
    - `platform` string
    - `tone` string
    - `total_target_seconds` integer, nullable
    - `delivery_style` string
    - `story_intent` string
  - `abilities` string[]

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

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