Posts

Create a post

Creates a draft, one variant per channel. With publish it is also sent for publishing; if the workspace requires approval it waits in a person's inbox instead (publish.status is pending_approval).

POSThttps://traceeai.com/api/v1/posts

CLI:tracee posts create·MCP:postsaction draft

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

Body

application/json
  • bodystringrequired

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

    1–20,000 characters

  • titlestring

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

    1–200 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.

  • publishstring

    "now" to publish straight away, or an ISO 8601 date-time to schedule it. Approval rules apply.

  • notestring

    Context for the person who approves it.

    up to 500 characters

Response

  • 201The draft, and what happened when it was sent.CreatePostResult
    • postobjectrequired
    • publishobject | nullrequired
    • publishErrorobject | nullrequired