Create Posts

Create or schedule social media posts across connected channels (e.g., Facebook, YouTube, Twitter/X). Supports immediate and scheduled publishing, media attachments, hashtags, YouTube-specific metadata, and Twitter threads.

Method: POST URL: https://app.marketingblocks.ai/api/v1/social-sparks/create-post Permission: social-create-post Headers:

Authorization: Bearer <token>
Content-Type: application/json

Parameters

Parameter
Type
Required
Description

channel_type

string

required

Type of social channel (e.g., facebook, twitter, youtube).

channel_id

integer

required

Unique identifier of the user’s connected account.

post_type

string

required

Type of post (e.g., post, reel, story, tweet, thread).

caption_text

string

required

Main text content of the post.

media_urls

array[string]

required

URLs to media (images/videos) to include in the post.

publish_mode

string

required

When to publish: now, scheduled, queued, share_next.

schedule_time

string

required if publish_mode=scheduled

Scheduled datetime in Y-m-d H:i format (e.g., 2025-08-01 14:30).

time_zone

string

required if publish_mode=scheduled

Timezone used to interpret schedule_time (e.g., Africa/Lagos).

hash_tags

string

optional

Comma- or space-separated string of hashtags.

twitter_threads

array[object]

required if post_type=thread

Thread items for Twitter/X. See structure below.

post_extra

object

required if channel_type=youtube

Extra fields for YouTube posts (e.g., title, category, privacy). See structure below.

twitter_threads item

{
  "message": "Tweet text",
  "media_urls": ["https://.../media.jpg"]
}
  • message (string, required) — Tweet text

  • media_urls (array[string], optional) — Media for that tweet

post_extra (YouTube)

  • title (string, required)

  • category (integer, optional) — YouTube category ID

  • privacyStatus (string, optional) — public, private, or unlisted


Example Request Bodies

Basic (Facebook, Scheduled)

YouTube (+ post_extra)

Twitter Thread


Example Response


cURL

Notes

  • Always send the body as raw JSON.

  • Use a valid channel_id for the chosen channel_type.

  • For scheduled posts, both schedule_time and time_zone are required.

Last updated