Write blog post
write_postWrites a blog post on a Pagehaus site, in Markdown: creates the post with this slug, or replaces the details you pass for an existing one (details left out keep their current value). Starts a blog at /blog/ if the site has none. Posts are saved as private drafts unless publish is true, which makes the post public immediately and publishes the blog. Use the pagehaus_guide tool with topic "blog" for how the blog works.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | The post in Markdown. HTML is allowed too. | |
| date | No | The publication date, e.g. "2026-10-23". Left out for a new post: the day it's first published. | |
| site | Yes | The site name. | |
| slug | Yes | The post's address: lowercase letters, numbers and hyphens, e.g. "spring-menu" for /blog/spring-menu/. | |
| tags | No | Tags, e.g. ["news", "recipes"]. An empty list removes them. | |
| image | No | A cover image on the site, e.g. "/blog/images/oven.jpg" (upload it with write_file first). | |
| title | No | The title. Needed for a new post. | |
| publish | No | True to make the post public now and publish the blog. False (the default) saves it without changing whether it's public. | |
| description | No | One or two sentences for the list of posts, search results and link previews. |