Skip to content

Drafts API

Create draft posts that wait in Review for approval.

1 endpoint. Every path is relative to the API base URL and needs a bearer token unless it is marked public. See the REST API overview for authentication, errors and pagination.

POST/v1/orgs/{orgId}/marketing/drafts

Bearer tokenMCP tool: create_draft_post

Creates a post group with one variant per platform, in pending_approval. Never schedules or publishes.

Path parameters

  • orgIdstring (uuid)required

Request body application/json

  • titlestringrequired
  • postsarray<object>required
    Item fields
    • platformstringrequired

      one of x, linkedin, tiktok, reddit, facebook, instagram, youtube, bluesky, threads

    • contentTextstringrequired
    • socialAccountIdstring (uuid)
    • mediaobject
      Option 1
      • kind"image"required
      • assetIdstring (uuid)required
      • urlstring (uri)required
      • contentTypestringrequired
      • sizeBytesintegerrequired
      • widthinteger
      • heightinteger
      • altTextstring
      Option 2
      • kind"images"required
      • imagesarray<object>required
        Item fields
        • assetIdstring (uuid)required
        • urlstring (uri)required
        • contentTypestringrequired
        • sizeBytesintegerrequired
        • widthinteger
        • heightinteger
        • altTextstring
      Option 3
      • kind"document"required
      • assetIdstring (uuid)required
      • urlstring (uri)required
      • contentType"application/pdf"required
      • sizeBytesintegerrequired
      • titlestringrequired
      • pageCountinteger
      • previewImageUrlsarray<string (uri)>
      Option 4
      • kind"video"required
      • assetIdstring (uuid)required
      • urlstring (uri)required
      • contentTypestringrequired
      • sizeBytesintegerrequired
      • durationSecondsnumberrequired
      • widthintegerrequired
      • heightintegerrequired
    • redditobject
      Fields
      • subredditanyrequired
      • titlestringrequired
    • youtubeobject
      Fields
      • titlestring
      • privacyStatusstring

        one of public, unlisted, private

      • madeForKidsboolean
    • tiktokobject
      Fields
      • titlestring
      • isAigcboolean
      • photoCoverIndexinteger
    • threadarray<string>
    • quoteTweetUrlstring
    • communityUrlstring
    • replySettingsstring

      one of everyone, following, mentionedUsers, verified

    • pollobject
      Fields
      • optionsarray<string>required
      • durationMinutesintegerrequired
  • topicstring
  • objectivestring

Responses

200Creates a post group with one variant per platform, in pending_approval. Never schedules or publishes.
  • dataobjectrequired
    Fields
    • groupobjectrequired
      Fields
      • idstring (uuid)required
      • orgIdstring (uuid)required
      • titlestringrequired
      • topicstring | nullrequired
      • objectivestring | nullrequired
      • statusstringrequired

        one of draft, pending_approval, approved, scheduled, canceled

      • timezonestringrequired
      • scheduledForstring | nullrequired
      • approvedBystring (uuid) | nullrequired
      • approvedAtstring | nullrequired
      • createdAtstringrequired
      • updatedAtstringrequired
      • scheduleReasonstring | null
      • tagIdsarray<string (uuid)>
      • approvalsarray<object>
        Item fields
        • idstring (uuid)required
        • levelstringrequired

          one of group, post

        • groupIdstring (uuid)required
        • postIdstring (uuid) | nullrequired
        • approvedByUserIdstring (uuid)required
        • approvedAtstringrequired
        • actionstringrequired

          one of submit_for_approval, approved, reapproved, rejected

      • strategyIdstring (uuid) | null
      • strategyVersioninteger | null
      • pillarIdstring | null
      • priorityIdstring | null
      • contentTypestring | null
      • opportunityIdstring | null
    • postsarray<object>required
      Item fields
      • idstring (uuid)required
      • orgIdstring (uuid)required
      • groupIdstring (uuid)required
      • platformstringrequired

        one of x, linkedin, tiktok, reddit, facebook, instagram, youtube, bluesky, threads

      • socialAccountIdstring (uuid) | nullrequired
      • statusstringrequired

        one of draft, pending_approval, approved, scheduled, publishing, awaiting_platform, published, failed, canceled

      • scheduledForUtcstring | nullrequired
      • contentTextstringrequired
      • mediaobject | nullrequired
      • platformPayloadobject | nullrequired
      • publishedExternalIdstring | nullrequired
      • publishedUrlstring | nullrequired
      • attemptCountnumberrequired
      • lastAttemptAtstring | nullrequired
      • nextRetryAtstring | nullrequired
      • lastErrorstring | nullrequired
      • idempotencyKeystring | nullrequired
      • createdAtstringrequired
      • updatedAtstringrequired
      • scheduleReasonstring | null
      • approvalsarray<object>
        Item fields
        • idstring (uuid)required
        • levelstringrequired

          one of group, post

        • groupIdstring (uuid)required
        • postIdstring (uuid) | nullrequired
        • approvedByUserIdstring (uuid)required
        • approvedAtstringrequired
        • actionstringrequired

          one of submit_for_approval, approved, reapproved, rejected

Request
curl -X POST "https://api.adventur.ai/v1/orgs/$ORG_ID/marketing/drafts" \
-H "Authorization: Bearer $ADVENTURAI_TOKEN" \
-H "Content-Type: application/json" \
-d '{"title":"string","posts":[{"platform":"x","contentText":"string"}]}'