---
title: "List Doc Verification Suites For Revision"
method: GET
path: "/api/v1/doc-revisions/{revision_id}/doc-verification-suites"
tags: ["authed"]
---

# List Doc Verification Suites For Revision

`GET /api/v1/doc-revisions/{revision_id}/doc-verification-suites`

## Request

- Base URL: `https://api.teaflask.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.teaflask.com/api/v1/doc-revisions/{revision_id}/doc-verification-suites`
- Auth: none declared

The revision's doc provenance verification suites newest-first — the
active one plus every superseded, discarded, and pending one, each with
its own drill verdict and, when a drill's repair round authored it, its
lineage. Page with the last row's created_at and id as
before_created_at/before_id; a full page means more may exist.

## Path parameters

- `revision_id` string, uuid, required

## Query parameters

- `before_created_at` string, date-time, nullable
- `before_id` string, uuid, nullable
- `limit` integer

## Response `200`

Successful Response

- DocVerificationSuiteResponse[]
  - `id` string, uuid, required
  - `organization_id` string, uuid, required
  - `doc_revision_id` string, uuid, required
  - `status` 'pending' | 'active' | 'superseded' | 'discarded', required: An authored suite lands pending and turns active only when its official authoring run comes back green — so a flaky official run discards the candidate without touching the revision's prior active suite. Active steps aside to superseded when a successor activates.
  - `suite_format` 'pytest-provenance/v1', required: Versions of the suite vocabulary; evolves additively, never in place.
  - `library_version` string, required
  - `robustness_score` number, nullable, required
  - `drilled_at` string, date-time, nullable, required
  - `authored_by_drill_repair` SuiteRepairLineageResponse, required: Authored by a drill's repair round: which drill, when it finished, and the predecessor suite it measured. Lineage is a fact-line, never this suite's own stat — robustness_score/drilled_at stay the suite's own drills' verdict.
    - `drill_id` string, uuid, required
    - `drill_finished_at` string, date-time, nullable, required
    - `predecessor_suite_id` string, uuid, required
    - `predecessor_robustness_score` number, nullable, required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not found
- `405`: Method not allowed
- `422`: Validation error
- `500`: Internal server error

---

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