---
title: "Rebuild a brief from its research session's current research"
method: POST
path: "/briefs/{id}/regenerate"
tags: ["Briefs"]
---

# Rebuild a brief from its research session's current research

`POST /briefs/{id}/regenerate`

## Request

- Base URL: `https://next.frase.io/api/v1`
- URL: `https://next.frase.io/api/v1/briefs/{id}/regenerate`
- Auth: API key in header `X-API-KEY`

When research changed after the brief was generated (POST /briefs reports `research_updated_since_generation: true`), this re-flattens the session's live keywords/evidence into a fresh content plan and repopulates the brief. Work-preserving: a brief locked by a generated article or hand edits is never overwritten — the refresh lands in a forked brief (`forked: true`, billing-exempt the first time a brief is superseded) and the original stays. A current plan is never re-run (`already_current: true`). Poll the returned `brief_id`.

## Path parameters

- `id` string, uuid, required

## Response `200`

Already current — nothing regenerated

- object
  - `data` object
    - `brief_id` string, uuid
    - `regenerated` boolean
    - `already_current` boolean
    - `message` string
  - `request_id` string

## Other responses

- `202`: Regeneration started
- `400`: id is not a valid UUID
- `401`: Authentication failed
- `404`: Resource not found
- `409`: Two conflicts share this code — read the error text: (a) a generation is already in progress for this session; (b) the named brief was superseded by an earlier fork and is no longer the session's live brief — the response then carries `live_brief_id`; retry against that id.
- `422`: Not created from research, or no completed brief yet
- `429`: Rate limited, or the org's monthly brief limit blocked minting the refreshed brief (only the FIRST supersession of a brief is billing-exempt; repeats meter normally)
- `500`: The regeneration could not be started; the current brief is unchanged

---

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