---
title: "Read foundational Series Bible coverage."
method: GET
path: "/story-projects/{projectId}/series-bible/coverage"
tags: ["Projects"]
---

# Read foundational Series Bible coverage.

`GET /story-projects/{projectId}/series-bible/coverage`

## Request

- Base URL: `https://docs.sleeperhit.studio/api/v1`
- URL: `https://docs.sleeperhit.studio/api/v1/story-projects/{projectId}/series-bible/coverage`
- Auth: HTTP bearer

Returns the latest qualitative report for the project Bible, including which Bible version the score is for (`scoredBibleVersion`), whether a rescore of the current Bible is queued or in flight (`rescoreQueued`), whether the report matches the current document revision, its 0–10 score, the first-pass gate, nine craft dimensions, exemplar comparisons, priority fixes, and an operational audio blueprint. A `kind: product` project returns the product report instead: seven product dimensions, and no audio blueprint or exemplar comparisons.

## Query parameters

- `phase` 'premise' | 'full' | 'product'

## Response `200`

Series Bible coverage envelope.

- SeriesBibleCoverageEnvelope
  - `coverage` SeriesBibleCoverageStatus, required
    - `status` 'missing' | 'generating' | 'complete' | 'failed', required
    - `current` boolean, required: True while every field this report scored reads the same in the Bible now. Premise reports score the story fields and each principal character's want, wound and arc; full reports also score style, world, timeline, notes, the episode map and each principal's name, role, voice and relationships. Visual canon and characters added after the report never make it out of date.
    - `stale` boolean, required: The inverse of current: a field this report scored has changed since.
    - `gatePassed` boolean, required
    - `acknowledged` boolean, required: The writer continued over this report (POST .../series-bible/coverage/acknowledge) and it still speaks for the Bible (complete and current): the gate treats it as passed. False once the report is out of date.
    - `acknowledgement` SeriesBibleCoverageAcknowledgement, required: The writer continued over a Series Bible report scored under the bar. Kept on the report (it lasts while the report is current) and in the project's `metadata.seriesBibleCoverageAcknowledgements`.
      - `phase` 'premise' | 'full' | 'product', required: The coverage that was acknowledged: `premise`, `full` or `product`.
      - `reportId` string, required
      - `scoredVersion` integer, required: The Bible version the report scored.
      - `bibleVersion` integer, required: The Bible version when the writer acknowledged it.
      - `overallScore` number, nullable, required
      - `gateThreshold` number, required
      - `reasons` string[], required: What the report said, as the writer was shown it: the diagnosis, the weakest scores, the top fixes.
      - `reason` string, required: The writer's own reason.
      - `at` string, date-time, required
      - `by` object, required
        - `userId` string, required
        - `surface` 'app' | 'slug' | 'api', required
        - `keyId` string, nullable, required
    - `gateThreshold` number, required
    - `reportId` string, nullable, required
    - `documentVersion` integer, required: The Bible version on screen now (the document's current version), whatever the report scored.
    - `reportVersion` integer, nullable, required
    - `scoredBibleVersion` integer, nullable, required: The Bible version the score came from — the documentVersion of the report row that scored it (the latest complete row). Null when there is no score (missing, or still generating). Older than `documentVersion` on an out-of-date score.
    - `inFlightBibleVersion` integer, nullable, required: The Bible version the shown run is scoring, when that run is generating. Null when no run is in flight. May equal or be older than `documentVersion` (the deferred-rerun window: the run that was already scoring when the Bible moved).
    - `rescoreQueued` boolean, required: True while a rescore of the CURRENT Bible is queued or in flight: the shown run is itself generating, the shown run carries a live premise rerun mark (it scored an earlier version and will queue the current one when it lands), or a newer run for the current version is already generating. The card reads it as "scoring it next".
    - `overallScore` number, nullable, required
    - `progressDetail` string, nullable, required
    - `failureMessage` string, nullable, required: Why the run stopped, as one plain sentence for the writer — never a provider's or the database's raw wording. Populated when `status: failed`.
    - `report` union, required: The scored report: the story report on a story project, the product report on a `kind: product` project. Null while none has ever been written.
      - SeriesBibleCoverageReport
        - `overallScore` number, required
        - `verdict` 'pass' | 'revise' | 'rebuild', required
        - `oneLineDiagnosis` string, required
        - `audiencePromise` string, required
        - `thematicDifferentiator` string, required
        - `showingStrategy` string, required
        - `dimensions` object, required
          - `premiseAndHook` SeriesBibleCoverageDimension, required
            - `score` number, required
            - `finding` string, required
            - `evidence` string[], required
            - `nextMove` string, required
          - `thematicEngine` SeriesBibleCoverageDimension, required
            - `score` number, required
            - `finding` string, required
            - `evidence` string[], required
            - `nextMove` string, required
          - `serialEngine` SeriesBibleCoverageDimension, required
            - `score` number, required
            - `finding` string, required
            - `evidence` string[], required
            - `nextMove` string, required
          - `episodeArchitecture` SeriesBibleCoverageDimension, required
            - `score` number, required
            - `finding` string, required
            - `evidence` string[], required
            - `nextMove` string, required
          - `characterAndAccess` SeriesBibleCoverageDimension, required
            - `score` number, required
            - `finding` string, required
            - `evidence` string[], required
            - `nextMove` string, required
          - `evidenceAndEthics` SeriesBibleCoverageDimension, required
            - `score` number, required
            - `finding` string, required
            - `evidence` string[], required
            - `nextMove` string, required
          - `showingNotTelling` SeriesBibleCoverageDimension, required
            - `score` number, required
            - `finding` string, required
            - `evidence` string[], required
            - `nextMove` string, required
          - `audioGrammar` SeriesBibleCoverageDimension, required
            - `score` number, required
            - `finding` string, required
            - `evidence` string[], required
            - `nextMove` string, required
          - `audienceAndMarket` SeriesBibleCoverageDimension, required
            - `score` number, required
            - `finding` string, required
            - `evidence` string[], required
            - `nextMove` string, required
        - `audioBlueprint` object, required
          - `narration` string, required
          - `scenes` string, required
          - `archive` string, required
          - `atmosphere` string, required
          - `music` string, required
          - `sfx` string, required
          - `transitions` string, required
        - `strengths` string[], required
        - `risks` string[], required
        - `priorityFixes` object[], required
          - `priority` integer, required
          - `fix` string, required
          - `why` string, required
          - `acceptanceTest` string, required
        - `exemplarComparisons` object[], required
          - `exemplarTitle` string, required
          - `craftLesson` string, required
          - `application` string, required
      - ProductBibleCoverageReport: A scored product Bible coverage report (a `kind: product` project): the product headlines and the seven product dimensions.
        - `overallScore` number, required
        - `verdict` 'pass' | 'revise' | 'rebuild', required
        - `oneLineDiagnosis` string, required
        - `valuePromise` string, required
        - `positioningStatement` string, required
        - `showabilityStrategy` string, required
        - `dimensions` object, required
          - `valuePromise` SeriesBibleCoverageDimension, required
            - `score` number, required
            - `finding` string, required
            - `evidence` string[], required
            - `nextMove` string, required
          - `personas` SeriesBibleCoverageDimension, required
            - `score` number, required
            - `finding` string, required
            - `evidence` string[], required
            - `nextMove` string, required
          - `positioning` SeriesBibleCoverageDimension, required
            - `score` number, required
            - `finding` string, required
            - `evidence` string[], required
            - `nextMove` string, required
          - `featureMap` SeriesBibleCoverageDimension, required
            - `score` number, required
            - `finding` string, required
            - `evidence` string[], required
            - `nextMove` string, required
          - `truthAndEvidence` SeriesBibleCoverageDimension, required
            - `score` number, required
            - `finding` string, required
            - `evidence` string[], required
            - `nextMove` string, required
          - `showability` SeriesBibleCoverageDimension, required
            - `score` number, required
            - `finding` string, required
            - `evidence` string[], required
            - `nextMove` string, required
          - `voiceAndCta` SeriesBibleCoverageDimension, required
            - `score` number, required
            - `finding` string, required
            - `evidence` string[], required
            - `nextMove` string, required
        - `strengths` string[], required
        - `risks` string[], required
        - `priorityFixes` object[], required
          - `priority` integer, required
          - `fix` string, required
          - `why` string, required
          - `acceptanceTest` string, required
    - `exemplarIds` string[], required
    - `createdAt` string, date-time, nullable, required
    - `updatedAt` string, date-time, nullable, required
  - `gateOverride` SeriesBibleCoverageOverridability: On a read: whether the writer may continue over this report now (POST .../series-bible/coverage/acknowledge), and the sentence that says why or why not.
    - `allowed` boolean, required
    - `why` string, required

## 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/4534f5d25540?raw)
