Posts

Edit a post

Edits a post that hasn't gone out. Any approval or schedule is undone: it becomes a draft again.

PATCHhttps://traceeai.com/api/v1/posts/{postId}

MCP:postsaction update

Authorizations

  • Authorizationstringheaderrequired

    Bearer <key>: a personal key (tracee login or Settings → Personal keys), a workspace key, or an MCP client's OAuth token. See Authentication.

Headers

  • Tracee-Workspacestring

    For 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

  • postIdstringrequired

    uuid

Body

application/json
  • titlestring

    Internal name for the post. Defaults to the first line of body.

    1–200 characters

  • bodystring

    The copy. Each channel uses it unless its variant has its own.

    1–20,000 characters

  • linkUrlstring | null

    Landing 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 | null

    When 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 | null

    Publish it again every N days once it went out.

Response

  • 200The edited post.Post
    • idstringrequired

      uuid

    • titlestringrequired
    • bodystringrequired
    • linkUrlstring | nullrequired
    • utmCampaignstringrequired

      The utm_campaign every link in the post carries.

    • statusstringrequired

      Available options:draftpending_approvalapprovedrejectedscheduledpublishedpartially_publishedfailedremoved

    • scheduledForstring | nullrequired

      date-time

    • plannedForstring | nullrequired

      date-time

    • createdBystringrequired

      Who made it: a person's email or an agent's name.

    • createdViastringrequired

      Available options:agentapp

    • createdAtstringrequired

      date-time

    • updatedAtstringrequired

      date-time

    • mediaobject[]required

      The post's own media.

    • threadobject[]required

      Follow-up parts every channel sends unless it has its own.

    • repeatobject | nullrequired
    • repeatedFromstring | nullrequired

      The post this one is a repeat of.

      uuid

    • variantsobject[]required

      One per channel.