---
title: "Mint a Performance Booth recording link for one table-read job."
method: POST
path: "/table-read/performance-booth"
tags: ["Table Read"]
---

# Mint a Performance Booth recording link for one table-read job.

`POST /table-read/performance-booth`

## Request

- Base URL: `https://docs.sleeperhit.studio/api/v1`
- URL: `https://docs.sleeperhit.studio/api/v1/table-read/performance-booth`
- Auth: HTTP bearer

Audio Acting is ADDITIVE: a performed line keeps the writer's own timing and intonation in the assigned character voice, and every line NOT performed stays on TTS. Mints a 7-day browser recording link bound to the job — the link IS the auth, so hand it to the person performing. Capture spans many lines and sessions. Requires `Idempotency-Key`. Scope: `story:write`.

## Headers

- `Idempotency-Key` string, required

## Request body

- object
  - `jobId` string, required: Table-read job the recording link is bound to.

## Response `200`

A recording link, its expiry, and the record id.

- object
  - `recordingUrl` string: Give this to the person performing — the link is the auth.
  - `expiresAt` string, date-time
  - `recordId` 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.
- `404`: The named project or source does not exist or is owned by another account.
- `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/64c1102ccb2f?raw)
