Skip to content

Schedule a post

Schedule a video on a connected account (see list_accounts for each account's platform). The post waits in mixetape (editable, cancellable) until shortly before scheduledAt. YouTube and Facebook get it leadMinutes early, unpublished, and publish it themselves at scheduledAt; Instagram and Threads get it prepared leadMinutes early and mixetape publishes it at scheduledAt; TikTok and Pinterest cannot hold a post, so mixetape posts it at scheduledAt. Each platform takes its own metadata (Facebook format reel for a Reel, Pinterest boardId is required, TikTok privacyLevel). Thumbnail, playlists and captions are applied right after upload where the platform supports them; firstComment is posted once it is public. mediaUrl: a public https URL, or an r2:// URL from mixetape storage (create_upload / import_file). Needs the publish permission.

POST
https://mixetape.com/api/v1/posts

Authorisation

  • apiKeyHTTPrequired

Request bodyJSONrequired

  • accountIdstringrequired

    mixetape account id (list_accounts)

  • mediaUrlstringrequired
  • captionoptionalstring
  • scheduledAtoptionalstring

    ISO 8601 with timezone offset — when it goes live. Omit to post now (live after leadMinutes).

  • leadMinutesoptionalnumber

    Minutes before go-live that mixetape uploads or prepares it, so the platform finishes processing first (defaults: YouTube and Facebook 30, Instagram 15, Threads 10; TikTok and Pinterest always 0). 0 uploads at go-live time. Facebook needs 0 or at least 15.

  • metadataoptionalYouTubeorFacebookorInstagramorThreadsorTikTokorPinterest
    6 variants

    One of the following:

    • YouTube
    • Facebook
    • Instagram
    • Threads
    • TikTok
    • Pinterest

Returns

201

The scheduled post.

JSON
  • postobjectrequired
    16 properties
    • idstringrequired
    • accountIdstringrequired
    • providerstringrequired
    • mediaUrlstringrequired
    • scheduledAtstringrequired

      When it goes live

      format: date-time
    • statusscheduledorpublishingoruploadedorpublishedorfailedorcancelledrequired
    • captionoptionalstring | null
    • metadataoptionalobject | null

      The platform's own fields

    • leadMinutesoptionalinteger | null

      Uploaded or prepared this long before scheduledAt

    • platformPostIdoptionalstring | null
    • platformUrloptionalstring | null
    • erroroptionalstring | null

      Why it failed, when it did

    • attemptsoptionalinteger
    • publishedAtoptionalstring | null
      format: date-time
    • createdAtoptionalstring
      format: date-time
    • updatedAtoptionalstring
      format: date-time

400

The request is invalid; error says why.

JSON
  • errorstringrequired

    What went wrong, in plain words

401

No valid API key.

JSON
  • errorstringrequired

    What went wrong, in plain words

403

The key lacks the permission this needs.

JSON
  • errorstringrequired

    What went wrong, in plain words

Navigation

Type to search…

↑↓ navigate↵ selectEsc close