Skip to content

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.

  • “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.”
fieldtyperequirednotes
idstringyes
titlestring (max 200 chars)no
statusenum (open, under_review, planned, in_progress, shipped, declined, duplicate)no
bodystring (max 50,000 chars)no
slugstring (max 80 chars)no
contact_idstring | unknown | nullnoContact id to attribute this post to, or null to clear attribution.
  • Statuses: open, under_review, planned, in_progress, shipped, declined, duplicate.
  • slug must be lowercase-kebab; uppercase or spaces are rejected MCP-side.
  • contact_id accepts a contact id, or null to clear attribution; foreign or unknown ids return ERR_NOT_FOUND.

The updated post object.