Update a post
Change the title, content, tags, access or excerpt of an existing post.
PATCH https://cotlet.dev/api/v1/ghost/posts/{post_id}
write Confirm
Returns the updated post. The tool reads the post first and refuses to overwrite it if someone saved it in the meantime. On a published post the change is visible to readers at once, which is why it asks. By default you confirm each call; you can switch that off for this tool.
Parameters
| Name | Type | Description |
|---|---|---|
| post_id string required | string | Post ID from list_posts. |
| title string | string | New title. |
| content string | string | New body. Replaces the old one. |
| tags string[] | string[] | Full list of tag names. It replaces the current tags, it does not add to them. |
| access string | string | Public, Members only, Paid-members only or Specific tiers. |
| excerpt string | string | New custom excerpt. |
Request
curl -X PATCH https://cotlet.dev/api/v1/ghost/posts/post_8c41d2 \
-H "Authorization: Bearer $COTLET_API_KEY" result = client.call("ghost", "update_post", {"post_id":"post_8c41d2"}) const result = await cotlet.call('ghost', 'update_post', {"post_id":"post_8c41d2"}); cotlet call ghost update_post --data '{"post_id":"post_8c41d2"}' Example response
{
"post": {
"id": "6710a1c2f3e4d500a1b2c3d4",
"title": "Issue 42: pricing notes",
"status": "draft",
"tags": [
"Weekly",
"Product"
],
"updated_at": "2026-10-17T09:05:10.000Z"
}
}