Posts
Edit a post
Edits a post that hasn't gone out. Any approval or schedule is undone: it becomes a draft again.
https://traceeai.com/api/v1/posts/{postId}MCP:postsaction update
Authorizations
AuthorizationstringheaderrequiredBearer <key>: a personal key (tracee loginor Settings → Personal keys), a workspace key, or an MCP client's OAuth token. See Authentication.
Headers
Tracee-WorkspacestringFor a personal key or OAuth token that reaches several workspaces: the workspace id to act on. Workspace keys don't need it.
uuid
Path parameters
postIdstringrequireduuid
Body
titlestringInternal name for the post. Defaults to the first line of body.
1–200 characters
bodystringThe copy. Each channel uses it unless its variant has its own.
1–20,000 characters
linkUrlstring | nullLanding page. Tracee adds UTM tags per channel so contacts are traced back to the post. null removes it.
uriup to 2,000 characters
channelsstring[]Channel ids to post to with the post's copy and media. Shorthand for variants.
up to 50 itemseach uuid
variantsobject[]One per channel, when a channel needs its own copy or media.
up to 50 items
mediaIdsstring[]Media ids (from POST /media) for every channel that doesn't set its own.
up to 20 itemseach uuid
plannedForstring | nullWhen the post is meant to go out: its slot on the calendar. Queues nothing.
date-time
threadobject[]Follow-up parts every channel sends unless it has its own: replies on X and Threads, comments on LinkedIn, Facebook, Instagram, YouTube and Reddit (e.g. the link in the first comment).
up to 25 items
repeatobject | nullPublish it again every N days once it went out.
Response
- 200The edited post.Post
idstringrequireduuid
titlestringrequiredbodystringrequiredlinkUrlstring | nullrequiredutmCampaignstringrequiredThe utm_campaign every link in the post carries.
statusstringrequiredAvailable options:
draftpending_approvalapprovedrejectedscheduledpublishedpartially_publishedfailedremovedscheduledForstring | nullrequireddate-time
plannedForstring | nullrequireddate-time
createdBystringrequiredWho made it: a person's email or an agent's name.
createdViastringrequiredAvailable options:
agentappcreatedAtstringrequireddate-time
updatedAtstringrequireddate-time
mediaobject[]requiredThe post's own media.
threadobject[]requiredFollow-up parts every channel sends unless it has its own.
repeatobject | nullrequiredrepeatedFromstring | nullrequiredThe post this one is a repeat of.
uuid
variantsobject[]requiredOne per channel.