---
title: "Read the pitch deck's bell on the beat."
method: GET
path: "/pitch-decks/{jobId}/bell-lane"
tags: ["Pitch Deck"]
---

# Read the pitch deck's bell on the beat.

`GET /pitch-decks/{jobId}/bell-lane`

## Request

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

Read the deck's bell on the beat: `available` (the deck has a bell beat grid — its title sequence cuts on the bell's beat; `unavailable.message` says how to turn it on), the `grid` (the beat in seconds, where beat 0 is in the master, the intros' and the title's starts), the `lane` (its one sound, `every` 1 or 2, `fromSeconds`/`toSeconds`, `skipSceneIndexes`, `accent`, `level`, `duckUnderVoice`), every strike on the cut (`strikes`: beat, `atMs`, the part it falls in, `accent`; on the PLANNED cut before any master, `plannedCut: true`), the `parts` it can skip (the title sequence, each chapter, each black interlude, by their `sceneIndex` key, with the strikes each gets) and handy start/end `points`, and `check`: every strike found in the published master after assembly by matching the lane's own bell sound, and timed against its beat — `verdict` (`on`: every strike it could time is within a frame; `off`: some are off their beat, a real timing error; `unmeasured`: none could be timed), `label` (the verdict in words, the badge every surface shows), `strikes`, `aligned`, `offBeat`, `tooQuiet` (strikes too quiet in the mix to time — buried under a line or the score; neither on nor off), `worstOffsetMs`, the `off` ones (each with its `offsetMs`, `offsetFrames` and `match`), `ok` and a `note` (a `warning` when strikes are off their beat); `checkCurrent` is false when it was measured on an earlier master or lane. `audibility` is how loud the bell sits against the score (a median dB per strike over the 400 ms after it, `on` the master or the sketch), with a `note` when most strikes are more than 12 dB under it. `scoreMadeRoom` is false when the score on the timeline was composed before the lane and carries its own bell. Scope: `story:read`.

## Response `200`

The bell lane, its strikes, the parts it can skip and its check.

- object

## 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/86e084144cef?raw)
