Replace a page
put_pageWrites the WHOLE page document at once. Send every block you want the page to keep — a block you leave out is deleted, and that is a valid request nothing will warn you about. Call get_page first, edit what it returned, and send the version it gave you so a change made since then, in the dashboard or another chat, fails loudly instead of being overwritten. Image URLs (in blocks and in a theme background) are downloaded and stored on Keepp as part of the write, so the page never loads them from the site they came from and nothing needs uploading. An image that cannot be downloaded fails the write and says which block. Returns the page url and, in pages, the link to each block that opens as its own page.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| theme | No | The page-wide theme. | |
| blocks | Yes | The complete ordered list of blocks the page should have after this call. Read the keepp://capabilities resource for every block type and its fields — it is not repeated here, so that it is fetched once rather than carried in every tool listing. | |
| version | Yes | The version from the get_page you are editing. Required, so a stale write fails. | |
| business | Yes | The page handle, as it appears in keepp.link/<handle>. For example "janedoe". |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Where visitors find the page. | |
| pages | No | Each block that opens as its own page, with the link straight to it. | |
| version | Yes | The new version. The next put_page needs it. | |
| warnings | Yes | Published anyway. Things only visible once rendered — worth fixing. | |
| blockCount | Yes | ||
| publishedAt | No |