---
title: "Rebuild a page from the hub's sources"
method: POST
path: "/business/knowledge-hubs/{hubId}/pages/{pageId}/regenerate"
tags: ["Knowledge hubs"]
---

# Rebuild a page from the hub's sources

`POST /business/knowledge-hubs/{hubId}/pages/{pageId}/regenerate`

## Request

- Base URL: `https://api.tryfuse.ai/api/v1`
- URL: `https://api.tryfuse.ai/api/v1/business/knowledge-hubs/{hubId}/pages/{pageId}/regenerate`
- Auth: HTTP basic

Rebuilds a generated page from the hub's cached sources — the crawled website text and the notes it was written from — discarding any manual edits, and re-indexes it. The work finishes before the response: the `content` you get back is already the regenerated page and its `origin` is reset to `generated`, so there is nothing to poll. Pages you authored have no sources and answer 409 `KNOWLEDGE_PAGE_NOT_REGENERABLE`; so does a generated page whose sources have since been removed. The hub's owner can regenerate, and so can anyone on the team when it is the team's shared hub, at most 10 times per minute and 200 per day on top of the shared rate bucket.

Errors:
- `404` `KNOWLEDGE_HUB_NOT_FOUND` — No hub with that id, it was deleted, or it belongs to another team.
- `404` `KNOWLEDGE_PAGE_NOT_FOUND` — No page with that id on this hub.
- `409` `KNOWLEDGE_PAGE_NOT_REGENERABLE` — The page has no cached sources to rebuild from (you authored it, or its sources were removed).
- `409` `KNOWLEDGE_HUB_NOT_READY` — The hub is still building, or its build never finished.
- `409` `KNOWLEDGE_HUB_PAGES_UNAVAILABLE` — The hub predates knowledge pages.
- `403` `KNOWLEDGE_HUB_OWNER_ONLY` — You can read this teammate's hub, but it is not your team's shared hub, so only its owner can regenerate pages.
- `422` `VALIDATION_FAILED` — hubId or pageId is not a 24-character hex id.
- `500` `UNEXPECTED_ERROR` — The synthesis model failed, or the regenerated page could not be re-indexed — retry.
- `429` `RATE_LIMITED` — The shared campaigns bucket was exceeded, or more than 10 regenerations in a minute / 200 in a day.

Requires one of the following token scopes: campaigns.

## Path parameters

- `hubId` string, required: 24-character hex id of the knowledge hub (from GET /business/knowledge-hubs).
- `pageId` string, required: 24-character hex id of the knowledge page (from GET /business/knowledge-hubs/{hubId}/pages).

## Response `202`

Success

- object
  - `page` object, required: The fields the update reports. Read the page back with GET /business/knowledge-hubs/{hubId}/pages for its category and createdAt.
    - `id` string, required
    - `title` string, nullable, required
    - `content` string, nullable, required: The page body in Markdown, as stored after this call.
    - `origin` 'generated' | 'edited' | 'user' | 'null', nullable, required: Always `generated` after a regeneration — the rebuild discards the `edited` marker.
    - `updatedAt` string, date-time, nullable, required

## Other responses

- `400`: Error
- `401`: Error
- `402`: Error
- `403`: Error
- `404`: Error
- `409`: Error
- `422`: Error
- `429`: Error
- `500`: Error

---

[API](https://skmtc.dev/fuseai/apis/fuse-business-api.md) · [All operations](https://skmtc.dev/fuseai/apis/fuse-business-api/llms.txt) · [OpenAPI document](https://skmtc.dev/fuseai/apis/fuse-business-api/revisions/50d95e0536f4?raw)
