Skip to main content
Every post endpoint can publish immediately or at a future time. You pick the timing mode per request.

Publish now

The default. Omit any scheduling field and the post goes out immediately.

Schedule for an exact time

Add scheduled_at (ISO-8601) and an optional timezone (IANA name). MADIAD Hub holds the post and publishes it at that moment.
  • scheduled_at is read as UTC when it ends in Z. Provide timezone to resolve local wall-clock times and daylight saving correctly.
  • Scheduled posts return status: "scheduled". They publish later — track the outcome with webhooks.
  • You can schedule up to one year ahead.

Use a recurring queue

Instead of an exact timestamp, drop the post into the profile’s queue with add_to_queue=true. It publishes in the next open slot of the profile’s posting schedule.
scheduled_at and add_to_queue are mutually exclusive — set one or the other, never both.

Configure the queue

Each profile has its own queue settings (timezone, active days, time slots). Read them:
Update them by posting the profile id plus the fields you want to change:

Manage scheduled posts

List a profile’s pending scheduled posts:
Reschedule or edit one before it publishes — pass any of scheduled_at, timezone, or caption:
Cancel one:
The $JOB_ID is the job_id a publish call returns when status is scheduled.
Canceling a scheduled post does not un-count the upload recorded when you scheduled it. Since publishing is unlimited on paid plans this costs you nothing — the cancelled slot simply stays in your usage figures.

Preview the queue

Platforms: all of them. The queue is per Profile, not per channel.
GET /v1/queue/settings tells you the slots you configured. These two answer a different question: when would the next post actually go out.
count is 1–50 (default 10). Each slot in the preview reports how many posts it already holds, its capacity, and whether it is still free.
next_slot comes back null when no slot is free inside the next 30 days. That is the answer, not an error.
The queue defaults to America/New_York with slots at 9:00 / 12:00 / 17:00. Set your own timezone with POST /v1/queue/settings before relying on add_to_queue.