logo
Schedulin Developers

Supported Platforms

Connect channels in the Schedulin dashboard, then post to any of them through the API. Each channel's platform (from GET /v0/social-accounts) is one of the slugs below.

TIP
is the machine-readable source for everything on this page: caption limits, media rules, whether is required, its JSON Schema, and helper endpoints for dynamic values. Prefer it over hard-coding rules. It can also list platforms that aren't generally available yet — only post to platforms you can connect in the dashboard.
curl https://api.schedulin.app/v0/platforms \
  -H "x-api-key: $SCHEDULIN_API_KEY"

Platforms

PlatformplatformMediaplatformConfiguration
X (Twitter)twitter—Optional
Instagraminstagram1–10 images/videosOptional
FacebookfacebookUp to 10 images/videosOptional
LinkedInlinkedin—Optional
ThreadsthreadsUp to 20 images/videosOptional
TikToktiktok1–35 images/videosOptional (defaults applied)
YouTubeyoutubeExactly 1 videoRequired
Pinterestpinterest1–5 images/videosRequired
RedditredditUp to 20 images/videosRequired
BlueskyblueskyUp to 4 imagesOptional
Mastodonmastodon——
TelegramtelegramUp to 10 images/videosOptional
Discorddiscord——
Slackslack——
Twitchtwitch——
Kickkick——
DEV.todevto——
Hashnodehashnode——
WordPresswordpress——
DribbbledribbbleExactly 1 imageRequired
Whopwhop—Required

In the Media column, "—" means the API enforces no media count rule up front; the platform's own limits still apply at publish time (Twitch and Kick, for example, post chat messages, so media isn't used).

Omitting a required platformConfiguration returns 400 (platformConfiguration is required for <platform>); an invalid one returns 400 listing the offending fields. Unknown fields are not validated for platforms without a schema.

Required settings

YouTube

{
  "title": "How we schedule 1,000 posts a day",
  "categoryId": "28",
  "visibility": "public"
}

visibility is public, unlisted, or private. Optional fields include tags, madeForKids, notifySubscribers, publishAt, and containsSyntheticMedia.

Pinterest

{ "board_ids": ["1234567890"], "title": "Spring lookbook", "link": "https://example.com" }

A board is required — pass board_ids (or a single boardId). List the channel's boards with GET /v0/social-accounts/{id}/pinterest-boards. Optional: board_section_id, title, description, link, alt_text.

Reddit

{ "subreddit": "programming", "title": "We open-sourced our scheduler" }

Optional: flair_id / flair_text, nsfw, spoiler, sendreplies, and link_url for a link post. Subreddit rules (required flair, allowed post types) are checked before publishing.

Dribbble

{ "title": "Dashboard redesign" }

The image must be 400×300, 800×600, or 1600×1200.

Whop

{ "experience": "exp_XXXXXXXX" }

experience is the forum to post in. Find it with GET /v0/social-accounts/{id}/whop-companies, then GET /v0/social-accounts/{id}/whop-forums?companyId=....

Common optional settings

TikTok

Every field has a default, so platformConfiguration can be omitted. Before posting, call GET /v0/social-accounts/{id}/tiktok-creator-info to get the privacy levels the account allows and its maximum video duration.

{
  "privacy_status": "public",
  "allow_comment": true,
  "allow_duet": true,
  "allow_stitch": true,
  "is_ai_generated": false
}

Other fields: disclose_your_brand, disclose_branded_content, auto_add_music, and photo_cover_index (photo posts).

Instagram

placement is reels (default), feed, or stories. Also: first_comment, collaborators, share_to_feed, location, trial_reel_type.

Facebook

placement is feed (default), reels, or stories. Also: first_comment, location.

X (Twitter)

poll ({ "options": [...], "duration_minutes": 1440 }), reply_settings, quote_tweet_id, in_reply_to_tweet_id, and community_id. For threads, use the post's parts array — see Create a thread.

LinkedIn

visibility (PUBLIC by default), first_comment, poll, article (link preview), and author_kind / organization_id to post as a company page.

Threads

reply_control, topic_tag, poll, quote_post_id, link_attachment.

Bluesky

langs, labels, external (link card), quote_post_uri, reply_to, threadgate, postgate.

Telegram

disable_link_preview, disable_notification.

See GET /v0/platforms for each platform's full schema.