DATE:
AUTHOR:
Grant McConnaughey
Post Scheduling

New in the Postpone API: media uploads + account schedules

DATE:
AUTHOR: Grant McConnaughey

If you build on the Postpone API, two recent changes remove the workarounds you've probably been living with.

1. Upload media through the API

Until now, getting a file into a post meant it already lived in your Content Library, or it lived at a public URL. If your images were generated on a box somewhere, or sat in a private bucket, you had to stand up hosting for them first (just to hand us a link).

Now you can upload directly. New mutations add images, videos, and GIFs to your Content Library from a public URL or as a local file upload. No more intermediate hosting or public exposure of assets you'd rather keep private.

Alongside that, attaching media is now one input instead of three. Scheduling mutations accept a media list, and each item can reference a media ID, a Content Library name, or a public URL โ€” mixed together in the same list if you want.

{
  "input": {
    "username": "myhandle",
    "text": "New drop ๐ŸŽจ",
    "media": [
      { "id": "12345" },
      { "name": "logo.png" },
      { "url": "https://example.com/hero.jpg" }
    ],
    "postAt": "2026-08-12T15:30:00Z"
  }
}

mediaUrl, mediaUrls, and mediaName still work, so nothing breaks today. They're deprecated, though, so please move to media when it's convenient.

Uploading media โ†’ ยท Attaching media โ†’

2. Add posts to your account schedule queue

You've already told Postpone when each account should post. Your scripts shouldn't have to duplicate that logic.

Scheduling mutations now accept schedulingMode: QUEUE_NEXT. Leave out postAt and the post drops into the next open slot in that account's schedule.

{
  "input": {
    "username": "myhandle",
    "text": "Queued for whenever the next slot opens up",
    "schedulingMode": "QUEUE_NEXT"
  }
}

This means you no longer have to use a separate API call to nextScheduledDates. Change the Account Schedule, and everything you queue afterward follows it.

Scheduling at the next open slot โ†’

Also shipped recently

  • MCP server (beta). Connect Claude or any MCP-compatible client to list accounts and posts, search media, and create or delete scheduled posts.

  • Drafts without a date. Create and update drafts with no postAt. Useful for pipelines where content gets generated first and scheduled later. A date is still required before publishing.

  • FRESH_FOR_SUBREDDIT usage filter on the Content Library media query. Find media that hasn't been submitted or scheduled in a given set of subreddits. It's repost hygiene, automated.

Start here

Full details and examples are in the API docs. Everything notable lands in the changelog as it ships.

Building something interesting on the API? Reply and let us know about it!

Powered by LaunchNotes