Publish a post now

Publish a draft now, with an optional newsletter send.

POST https://cotlet.dev/api/v1/ghost/posts/{post_id}/publish

write Confirm

Returns the post with status published and, when a newsletter was given, the email status. The post goes public and the email is queued at once, and neither can be recalled. If the email comes back as failed, the post goes back to draft first and is published again. By default you confirm each call; you can switch that off for this tool.

Parameters

Parameters: publish_post
NameTypeDescription
post_id string required string Post ID from list_posts.
newsletter string string Newsletter slug from list_newsletters. Omit to publish on the site without an email.
send_to string string With a newsletter: all, free or paid members. Default all.

Request

cURL
curl -X POST https://cotlet.dev/api/v1/ghost/posts/post_8c41d2/publish \
  -H "Authorization: Bearer $COTLET_API_KEY"
Python
result = client.call("ghost", "publish_post", {"post_id":"post_8c41d2"})
Node.js
const result = await cotlet.call('ghost', 'publish_post', {"post_id":"post_8c41d2"});
CLI
cotlet call ghost publish_post --data '{"post_id":"post_8c41d2"}'

Example response

JSON

{
  "post": {
    "id": "6710a1c2f3e4d500a1b2c3d4",
    "title": "Issue 42: pricing notes",
    "status": "published",
    "published_at": "2026-10-17T09:30:00.000Z",
    "email": {
      "status": "submitted",
      "recipient_filter": "all"
    }
  }
}

Sign in once. Your agent does the rest.

Sign up and add the apps you need. Free 7-day trial with 2,000 credits, no card needed.