update_post
Updates fields on an existing post. Pass only what you want to change — at least one of title, status, body, slug, or contact_id is required. Set contact_id to null to clear an existing attribution.
required scope: read:write.
example prompts
Section titled “example prompts”- “mark post pst_01H8… as in_progress.”
- “the customer responded — append their note to the body and set status to under_review.”
- “attribute this post to ctc_01H8… now that we know which customer filed it.”
| field | type | required | notes |
|---|---|---|---|
id | string | yes | |
title | string (max 200 chars) | no | |
status | enum (open, under_review, planned, in_progress, shipped, declined, duplicate) | no | |
body | string (max 50,000 chars) | no | |
slug | string (max 80 chars) | no | |
contact_id | string | unknown | null | no | Contact id to attribute this post to, or null to clear attribution. |
- Statuses:
open,under_review,planned,in_progress,shipped,declined,duplicate. slugmust be lowercase-kebab; uppercase or spaces are rejected MCP-side.contact_idaccepts a contact id, ornullto clear attribution; foreign or unknown ids returnERR_NOT_FOUND.
output
Section titled “output”The updated post object.