---
title: "Regenerate Answer Page"
method: POST
path: "/api/domains/{domain_id}/agent-desk/answer-pages/{page_id}/regenerate"
tags: ["agent_desk"]
---

# Regenerate Answer Page

`POST /api/domains/{domain_id}/agent-desk/answer-pages/{page_id}/regenerate`

## Request

- Base URL: `https://api-v1.unusual.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api-v1.unusual.ai/api/domains/{domain_id}/agent-desk/answer-pages/{page_id}/regenerate`
- Auth: OAuth 2
  - Password
  - Token URL: `/auth/login`

Re-ask this page's question against current knowledge; replace it in place.

AGENTDESK-P2(PR-K) / AGENTDESK-K(regenerate) — step 4 of the correction loop and
the half that did not exist. Approving a Knowledge Document correction fixes
every FUTURE answer, but a stored answer page keeps serving its bytes to every
later fetcher forever (the GET lane has no staleness check, by design: a cached
page must stay byte-stable for the agents citing it). So the customer's approved
fix was invisible on exactly the URLs an agent had already found. This is the
button that closes that.

OWNER-AUTHED and SYNCHRONOUS. `get_user` because this spends model tokens.
Synchronous because it is one ask and the customer is watching the page they
just fixed — the fast-path/slow-path split in the ask itself already bounds how
long that takes, and a poll endpoint for a single ask would be machinery for its
own sake.

NOT BILLED, NOT BUDGETED, STILL METERED — the orchestrator's direction, argued
parameter by parameter in `agent_desk/corrections.regenerate_answer_page`. What
lives HERE rather than there is the per-desk/day allowance: claimed BEFORE the
ask (a check that runs after the spend is not a budget) and REFUNDED on every
path that does not store a new answer, so a refusal never consumes quota.

429 when the day's allowance is spent, 403 when the dial is 0 (the button is
switched off for this deployment), 409 when there is nothing to regenerate.

## Path parameters

- `page_id` string, required
- `domain_id` string, required

## Headers

- `x-view-as` string, nullable

## Response `200`

Successful Response

- AnswerPageRegenerateOut: What replacing one stored answer produced. AGENTDESK-P2(PR-K).
  - `id` string, required
  - `slug` string, required
  - `status` string, required
  - `question_text` string, required
  - `answer_markdown` string, required
  - `updated_at` string, nullable
  - `chars_before` integer
  - `chars_after` integer
  - `changed` boolean
  - `edge_cache_seconds` integer
  - `published_document_unchanged` boolean
  - `allowance_used` integer
  - `allowance_limit` integer
  - `allowance_resets_in_seconds` integer
  - `allowance_measured` boolean

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/unusual/apis/dashboard-server.md) - [All operations](https://skmtc.dev/unusual/apis/dashboard-server/llms.txt) - [OpenAPI document](https://skmtc.dev/unusual/apis/dashboard-server/revisions/89f716930ead?raw)
