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

# Pin Answer Page

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

## 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}/pin`
- Auth: OAuth 2
  - Password
  - Token URL: `/auth/login`

Turn a generated answer into a draft ContentDocument at the same slug —
the "Generate page from answer" action.

The answer is REWRITTEN first, not copied: it was written as a reply to one
caller mid-conversation, so verbatim it ships "Great question!", direct
address ("in your case"), and lead-capture offers into published site
content. The rewrite keeps every fact and the first-person company voice
while dropping the conversational register.

The customer edits/publishes the draft through the normal Company Docs
flow; once published, the static pipeline (R2 + sitemap + llms.txt) serves
that slug and the generated page stops being used for it.

AGENTDESK-RD(c1): the BODY of this moved to `_pin_answer_page_row` so
`POST /answer-pages/from-message` reaches it too. See that helper's docstring
for why it is one path rather than two — it is a money path.

## Path parameters

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

## Headers

- `x-view-as` string, nullable

## Response `200`

Successful Response

- AnswerPagePinOut
  - `id` string, required
  - `status` string, required
  - `content_document_id` string, required
  - `document_slug` string, required
  - `message` string, required
  - `answer_page_slug` string

## 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)
