---
title: "Export completed reviews"
method: GET
path: "/api/export/reviews"
tags: ["reviews"]
---

# Export completed reviews

`GET /api/export/reviews`

## Query parameters

- `format` string — Output format; only json is supported
- `profile` string — Export profile: content or metadata
- `since` string — Inclusive completed_at lower bound (RFC3339 or YYYY-MM-DD)
- `until` string — Exclusive completed_at upper bound (RFC3339 or YYYY-MM-DD; date-only means through that UTC day)
- `closed_only` boolean — Only include reviews marked closed
- `repo` string — Exact exported repo identifier filter
- `project` string — Exact project display-name filter
- `limit` integer — Maximum top-level reviews in this page
- `cursor` string — Opaque next_cursor from a previous page. Resumes strictly after its (completed_at, review_id) position; mutually exclusive with since.

## Response `200`

OK

- ExportReviewsDocument
  - `$schema` string, uri — A URL to the JSON Schema for this object.
  - `database_id` string, required — Stable identity for the local review database; changes when the database is recreated.
  - `generated_at` string, required
  - `next_cursor` string, nullable, required — Opaque resume cursor emitted when reviews is non-empty; pass as cursor to resume after the last returned review.
  - `profile` string, required
  - `reviews` ExportReview[], nullable, required
    - `agent` string, required
    - `branch` string, nullable, required
    - `commit_sha` string, nullable, required
    - `completed_at` string, required
    - `content` string, nullable, required
    - `cost` ExportReviewCost, required
      - `tokens_in` integer, nullable, required
      - `tokens_out` integer, nullable, required
      - `usd` number, double, nullable, required
    - `created_at` string, required
    - `duration_ms` integer, nullable, required
    - `experiments` ExperimentAssignment[], nullable, required
      - `arm` string, required
      - `definition_hash` string, required
      - `effective_config_hash` string, required
      - `id` string, required
      - `subject_hash` string, required
    - `model` string, nullable, required
    - `pr_number` integer, nullable, required
    - `pr_url` string, nullable, required
    - `project` string, required
    - `repo` string, required
    - `resume_source_job_uuid` string, nullable, required
    - `review_id` string, required
    - `status` string, required
    - `subagents` ExportSubagent[], nullable, required
      - `agent` string, required
      - `completed_at` string, required
      - `content` string, nullable, required
      - `cost` ExportReviewCost, required
        - `tokens_in` integer, nullable, required
        - `tokens_out` integer, nullable, required
        - `usd` number, double, nullable, required
      - `duration_ms` integer, nullable, required
      - `model` string, nullable, required
      - `name` string, required
      - `resume_source_job_uuid` string, nullable, required
      - `review_id` string, required
      - `review_type` string, nullable, required
      - `verdict` string, required
    - `verdict` string, required
  - `schema_version` integer, required
  - `tool` string, required
  - `tool_version` string, required
  - `truncated` boolean, required — True when more matching rows are available immediately.
  - `window` ExportReviewsWindow, required
    - `field` string, required
    - `since` string, nullable, required
    - `until` string, nullable, required

## Other responses

- `409` — Cursor database_id does not match this local database
- `default` — Error

## Changes

- **2026-08-26** `9fc133457d16` — 3 info
  - added the required property `reviews/items/experiments` to the response with the `200` status
  - added the required property `reviews/items/resume_source_job_uuid` to the response with the `200` status
  - added the required property `reviews/items/subagents/items/resume_source_job_uuid` to the response with the `200` status
- **2026-07-02** `39eeb10f396e` — 2 info
  - added the non-success response with the status `409`
  - added the required property `database_id` to the response with the `200` status
- **2026-06-29** `e7bbb5e4c9a4` — 1 info
  - endpoint added
- **2026-06-09** `538b457f849b` — 1 breaking
  - api path removed without deprecation

[Change history](https://skmtc.dev/kenn-io/apis/roborev/changes/api/export/reviews/get.md)

---

[API](https://skmtc.dev/kenn-io/apis/roborev.md) · [All operations](https://skmtc.dev/kenn-io/apis/roborev/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/kenn-io/roborev/revisions/0dfdca81e88d/schema)
