Create Scheduled Post
postnitro_create_scheduled_postCreate a scheduled post or draft for LinkedIn, Instagram, TikTok, and/or Threads.
Workflow:
postnitro_list_social_accounts → pick account IDs for selectedAccounts
(optional) attach a designId — a carousel you created with PostNitro. Use the design's ID (the 'designId' field returned by postnitro_get_output / postnitro_generate_and_wait), NOT the generation embedPostId.
provide a caption via postContent and/or a designId (a post needs at least one)
Rules enforced by the API (surfaced as error messages here):
scheduledAt must be a future ISO-8601 datetime.
A post must have either a designId or non-empty postContent. designId may be null only for DRAFT.
Per-platform *PostSettings are conditionally required based on the selected accounts' platforms and whether a designId is set (see each field's description). LinkedIn requires a designId when SCHEDULED.
postSettings (video render settings) applies when any postType resolves to 'reel'. You may omit it: the API fills the duration and audio from the attached design's own settings, falling back to 30 seconds with no audio.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| status | Yes | 'DRAFT' or 'SCHEDULED' | |
| designId | No | ID of a design in your workspace to attach. This is the design ID (the `designId` field from a carousel's output / postnitro_get_output), NOT the generation job's embedPostId — passing an embedPostId here fails with 'Design not found.' A post must have either a designId or non-empty postContent. May only be null/omitted for DRAFT. | |
| postContent | No | Caption text keyed by platform. Required unless a designId is set; at least one key must be non-empty. Hashtags are extracted automatically. | |
| scheduledAt | Yes | ISO-8601 datetime string. Must be in the future (for both drafts and scheduled posts). | |
| postSettings | No | Video render settings, used when any resolved postType is 'reel'. Optional: when omitted, the API fills each field from the videoSettings the attached design was generated with, falling back to 30 seconds with no audio. Same shape as a VIDEO post's videoSettings. | |
| selectedAccounts | No | Social-account IDs to publish to (from postnitro_list_social_accounts). The platforms among these determine which *PostSettings are required. | |
| tiktokPostSettings | No | Required when a TikTok account is selected AND a designId is set. When SCHEDULED: if isBrandedContent is true, at least one of isYourBrand/isThirdPartyBrand must be true, and isBrandedContent cannot be true with privacyLevel SELF_ONLY. | |
| threadsPostSettings | No | Required when a Threads account is selected AND a designId is set | |
| linkedinPostSettings | No | Required when a LinkedIn account is selected. A designId is required when status is SCHEDULED (text-only LinkedIn posts can only be drafts). | |
| instagramPostSettings | No | Required when an Instagram account is selected AND a designId is set |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| post | Yes | A scheduled post or draft | |
| message | Yes | Confirmation message | |
| success | Yes | ||
| warnings | No | Non-fatal issues worth surfacing to the user (e.g. AI image generation did not complete) | |
| scheduledPostId | Yes | ID of the scheduled post — pass to get/update/delete |