schedule_post
Schedule a post for a specific date and time on one or more platforms. When the account has multiple connected accounts for a platform (e.g. two Twitter accounts), pass platform_account_ids to target a specific one; otherwise the first connected account is used. If the account has posting-time variance switched on, the stored time is jittered by up to half that window so posts don't all land on the exact minute. The reply says so when it happens. Pass variance_minutes: 0 when the user asked for an exact time and means it. With no scheduled_at, a penciled draft is booked at its penciled time if that is still ahead, and the pencil is cleared. Drafts never post. A penciled time only holds the slot.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Post ID to schedule | |
| platforms | No | Platforms (defaults to post's existing platforms). Instagram needs an image or video on the post: if it has none, add one with `update_draft` (`images`) first. | |
| scheduled_at | No | ISO 8601 datetime (e.g. '2025-03-10T09:00:00Z'). Required unless the post is a draft penciled in for a time still ahead, which is then used. | |
| variance_minutes | No | Optional override for the account's posting-time variance window, 0-60. The stored time is jittered by up to half of it. 0 stores the exact time you asked for. | |
| platform_account_ids | No | Optional map of platform => connected_account_id (numeric id from `list_connected_accounts`). Example: {"twitter": 42} to post to the Twitter account with id 42. Each id must belong to the current account and match the platform. |