Skip to main content

Overview

This guide shows you how to create and manage scheduled social media posts across supported platforms using the Dash API. You can publish posts immediately, schedule them for a future time, or save them as drafts. This allows you to automate content publishing directly from your own tools or workflows.

Supported Platforms

The Scheduler API supports the following platforms:
  • Instagram
  • Facebook
  • TikTok
  • YouTube
  • X
  • Threads
  • LinkedIn
  • Snapchat
  • Pinterest
  • Bluesky

Use Case

You can use the scheduling API to automate and manage social publishing directly from your own tools.

Content Calendar Automation

Schedule posts across multiple platforms from your internal CMS or content calendar. This allows marketing teams to plan campaigns without using the Dash UI.

Product Launch Scheduling

Queue posts to publish at exact times during launches, events, or announcements. Posts can be scheduled days or weeks in advance.

Draft Review Workflows

Save posts as drafts so teams can review content before publishing.

Bulk Post Scheduling

Programmatically schedule large batches of posts across platforms, useful for agencies or large content pipelines.

Before You Start

You’ll need:
  • API Key: Get this from the Dash Social Developer section
  • Brand ID: Available in your developer settings or next to your brand name in the platform
See more details here:

API Quickstart

Make your first API call in less than a minute and confirm your API key is working.

Scheduling Workflow

Scheduling a post with the Dash API follows three steps:
  1. Upload media to the Dash Library
  2. Create a scheduled post for the platform
  3. Manage the post using the returned id from the scheduler response

Key Concepts

Scheduler id

  • Returned when a scheduled post is created
  • Used to retrieve, update, or delete the post

status

Defines how the post should behave.

auto_publish

Controls whether the post will publish automatically or require manual publishing. Some fields are not available when auto_publish is disabled because they only work with automatic publishing:
  • first_comment is not supported for Instagram and Facebook when auto_publish is disabled.

media_id

  • Returned when media is uploaded to Dash
  • Used when attaching image or video media to a post
  • When scheduling a post, include this value inside the media_ids array
  • Required for some platforms, post types, and auto-publish posts
  • Not required for supported caption-only posts or some draft posts without media

Media Requirements by Platform

Media requirements vary by platform and post type.

Media Support by Platform

Some platforms support multiple media items or mixed media types, while others require a single media asset.

Publishing Modes

Most platforms support three publishing behaviors. Note
  • Some platforms do not support auto_publish: false.
  • LinkedIn, Snapchat and YouTube require auto_publish: true.
  • Threads and Bluesky always publish with auto_publish: true, even if false is provided (the value is ignored).
  • status controls the state of the post (draft, scheduled, or publishing immediately).
  • auto_publish controls the publishing method (auto-publish vs. send notification / publish via mobile).
  • A post with status: "DRAFT" can be created with either auto_publish: true or false, depending on platform support.

Platform Comparison

Implementation

Step 1: Upload Media (optional)

If your post includes images or videos, upload the media to the Dash Library first. This returns a media_id that you can include when creating the scheduled post.
If your post does not include media (for example, a text-only or link-based post), you can skip this step. Jump to Step 2
See more about this step here:

Upload Media To Dash Social Library

Upload media directly from your CMS to your Dash Social Library

Response

Save the returned media_id. You’ll include this value in media_ids when creating the scheduled post.

Step 2: Create a Scheduled Post

This API can publish posts directly to your social media accounts.Posts with auto_publish: true will automatically publish at the scheduled time. Test with drafts or a test account before publishing to live channels.
When creating a scheduled post, include media_ids only when required by the platform or post type. Some platforms support caption-only or link-based posts without media, while others require media for all posts or for auto-publish posts.

Instagram

Use this endpoint to schedule feed posts, stories, or reels.

Endpoint

Request

Instagram Fields

Notes
  • post_type determines whether the post is a FEED, STORY, or REEL.
  • first_comment is not supported when auto_publish is false.
  • Auto-publish posts must include media.

X (Twitter)

Endpoint

Request

X Fields

Note
  • Standard X posts support up to 280 characters.
  • Accounts with X Premium can publish posts up to 25,000 characters.

Facebook

Endpoint

Request

Facebook Fields

Notes
  • Standard POST can be created without media.
  • REEL posts require video media.
  • first_comment is not supported when auto_publish is false.

TikTok

TikTok only supports video uploads.

Endpoint

Request

TikTok Fields

Notes
  • TikTok posts require video media for auto-publish.
  • Only one video can be attached to a TikTok post.

Threads

Endpoint

Request

Notes
  • auto_publish is always treated as true.
  • Threads supports caption-only posts.
  • Multiple images can be attached to a post.

LinkedIn

Endpoint

Request

Notes
  • auto_publish: false is not supported.
  • LinkedIn supports caption-only posts.
  • Image posts can include multiple images, but video posts support one video only.

YouTube

YouTube supports video uploads only.

Endpoint

Request

YouTube Fields

Notes
  • auto_publish: false is not supported.
  • media_ids is required for YouTube posts.
  • Only one video can be attached to a post.
  • The video must be uploaded to the Dash Library before scheduling.

Snapchat

Snapchat supports two post types:
  • Story posts can use image or video media
  • Spotlight posts require a video

Endpoint

Story Request Use post_type: "STORY" to create a Snapchat Story post. Note that post caption (description) is not available for Snapchat Story post.
Spotlight Request Use post_type: "SPOTLIGHT" to create a Snapchat Spotlight post. Spotlight posts must use video media.

Snapchat Fields

Notes
  • auto_publish: false is not supported.
  • media_ids is required for Snapchat posts.
  • STORY posts support image or video and do not support description.
  • SPOTLIGHT posts support video only.
  • save_to_profile and locale are required for SPOTLIGHT posts.

Pinterest

Pinterest scheduled posts require:
  • a valid board ID
  • a title
  • media for auto-publish posts
Pinterest supports image and video Pins. A Pin can include only 1 media item.

Step 1: Get a Pinterest Board

Before creating a Pinterest scheduled post, retrieve the available boards for the brand.
Response
Use the entire board object returned from this endpoint when creating the scheduler.

Step 2: Create the Scheduled Post

Request

Pinterest Fields

Notes
  • A valid Pinterest board is required to create a scheduled post.
  • title is required for all Pinterest posts.
  • Draft posts can be created without media.
  • Auto-publish posts require media.
  • Pinterest supports image or video Pins.
  • Pins support 1 media item only.
  • When possible, link directly to the destination page. Pinterest may reject certain redirects or URL shorteners.

Bluesky

Bluesky supports caption-only posts and image posts.
  • Caption-only posts are supported
  • Image posts can include up to 4 images
  • Video is not supported
  • Mixed media is not supported

Endpoint

Request
Notes
  • auto_publish is always treated as true.
  • Bluesky supports caption-only posts.
  • Image posts support up to 4 images.
  • Bluesky supports image media only.
  • Mixed media and video are not supported.

Scheduler Response Format

Creating a scheduled post returns the scheduled post object. All platforms return the same core response structure, with some additional platform-specific fields depending on the channel.

Common Response Fields

Platform-Specific Fields

Some platforms return additional fields in the response. For example:
  • Instagram may return fields such as caption, first_comment, and post_type
  • X may return tweet_status
  • Facebook may return message, link, and post_type
  • Pinterest may return note, link, and meta
  • Snapchat may return description, post_type, save_to_profile, and locale

Example Response


Manage Scheduled Posts

Once a post is scheduled, you can retrieve, update, or delete it using the id returned from the response.

Get All Scheduled Posts

Retrieve all scheduled posts for a brand within a specified time range.
Example:

Query Parameters

Notes
  • Replace {platform} in the URL with the platform path for the channel you want to query. See the Platform Comparison table for the full list of endpoint paths.
  • start and end are optional but strongly recommended. Without them, the API will query all posts for the brand, which can result in slow response times.
  • Timezone offsets are supported in the start and end parameters.

Query Parameters

Notes
  • Replace {platform} in the URL with the platform name (for example, instagram, facebook, tiktok).
  • start and end define the window of scheduled post timestamps to return.
  • Timezone offsets are supported in the start and end parameters.

Get a Scheduled Post

Retrieve the full details of a scheduled post.
Example:

Update a Scheduled Post

Use PATCH to update specific fields without replacing the entire post.
Only the fields included in the request will be updated.

Delete a Scheduled Post

Remove a scheduled post so it will not be published.
Example:

Common Errors

Final Outcome

After completing this guide:
  • Your media is uploaded to Dash
  • Your post is scheduled for publishing
  • You receive an id in the scheduler response that you can use to manage the post later

Next Steps

You can extend this workflow by:
  • Scheduling posts across multiple platforms
  • Automating content calendars
  • Retrieving scheduled posts for reporting
  • Building internal publishing tools using the Scheduler API