Request Changes or Reject
review_postSends a post back with decision: changes_requested plus a note, or rejects it (rejected, final). Needs the current rev. To approve, use approve_posts. On a channel set to admins only, only workspace admins can decide; anyone else is refused. A rejected post will not publish. Requesting changes unlocks the draft for editing. Rejecting a website post that sent a preview to its CMS deletes that preview draft when Mark may; otherwise cmsPreview says it is still in the CMS, where, and why, and so does the post's review note. Related: get_post, approve_posts, comment_on_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": {
"postId": "<postId>",
"rev": "<rev>",
"decision": "<decision>",
"note": "<note>"
},
"name": "review_post"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| rev | Yes | Current rev from get_post. | |
| note | Yes | What needs to change, or why it is rejected. | |
| postId | Yes | Post id. | |
| decision | Yes | changes_requested sends it back; rejected is final. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| appUrl | Yes | ||
| postId | Yes | ||
| decision | Yes | ||
| cmsPreview | No | The post's preview draft in the website CMS: removed (Mark deleted it), or left_in_cms with its previewUrl and why (cannot_delete: Mark's API key may not delete it; edited: changed in the CMS; linked: a page that was in the CMS before Mark used it; live: a live page; translated: its translations are in the same page; unreachable: the CMS did not answer). Absent when the post had no preview. |