Create a post
create_postOn one site of the account, named in site. A new draft from Markdown, written as the person the key belongs to. Markdown is the body: headings, lists, links, tables, images (put each picture into the library with upload_media first, then paste the Markdown it answers: it becomes the library's own picture), and an ```artifact fence with a self-contained HTML document becomes a block (read pixelglass://blocks/contract first). {{name}} in the prose is a live value ({{name|rounded}} rounds it down: 1,000+), such as {{members_count}}, {{posts_count}} or {{countries_count}}: readers see the number of now (in code it stays text; a name that does not exist is refused with the list). Kind is post or page; language defaults to the site's; the slug comes from the title unless given; tags are names, made when new; visibility is public unless given. A page goes into a collection with collection (its top level) or parent_id (under that page; get_collection gives the ids) — a branch at once is add_collection_pages. Answers the post's facts, its preview link and its editor link — give both links back. Publishing is publish_post.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"site": "<site>",
"title": "<title>",
"markdown": "<markdown>"
},
"name": "create_post"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | post by default; page when it goes into a collection | |
| site | Yes | The site to work on, as list_sites names it | |
| slug | No | ||
| tags | No | Tag names; the first is the primary tag | |
| tiers | No | Tier names, for visibility specific: the whole list | |
| title | Yes | ||
| fields | No | A page's field values by name, for the fields its collection's level names (get_collection gives them): {"location": {"lat": -33.89, "lng": 151.27}, "break": "Reef"}. A field left out keeps its value; null clears it | |
| circles | No | Circle names or slugs, for visibility specific, where the publication has circles: the whole list | |
| language | No | A BCP 47 tag the site publishes in; the site's default when left out | |
| markdown | Yes | The body | |
| subtitle | No | The line under the title: inline Markdown (*italic*, **bold**, [a link](url)), up to 300 characters. Leave it out for none; the excerpt is then the first paragraph | |
| parent_id | No | The page it goes under, in that page's collection (get_collection gives the ids) | |
| collection | No | A collection's id, slug or name: the page goes on its top level. "" takes it out of every collection | |
| visibility | No | Who reads past the excerpt: public (everyone), members (any signed-in member), paid (a paying or comped member), specific (a member on any tier named in tiers or in any circle named in circles; name at least one) | |
| feature_image | No | The cover's address, from upload_media or the library |