---
title: "Latest saved AI review of a post"
method: GET
path: "/api/v1/generation/variants/{variant_id}/review"
tags: ["generation"]
---

# Latest saved AI review of a post

`GET /api/v1/generation/variants/{variant_id}/review`

## Request

- Base URL: `https://api.cadencz.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.cadencz.com/api/v1/generation/variants/{variant_id}/review`
- Auth: HTTP bearer

Returns the most recent completed AI review for this variant, free of charge. Reviews spend allowance to run, so surfaces hydrate from here instead of discarding a paid result on every tab switch. 404 when none has run yet.

## Path parameters

- `variant_id` string, required

## Response `200`

Successful Response

- PostReviewResponse
  - `suggestions` PostSuggestionRead[]
    - `title` string, required
    - `detail` string
    - `revised_body` string
  - `brand_voice` BrandVoiceRead
    - `on_brand` boolean
    - `confidence` integer
    - `tone` string
    - `note` string
  - `voice_source` string
  - `reviewed_at` string, date-time, nullable

## Other responses

- `401`: Missing or invalid Supabase bearer token.
- `422`: Validation Error

---

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