Skip to main content
POST
/
posts
Create or schedule a post
curl --request POST \
  --url https://api.social-api.ai/v1/posts \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "first_comment": "Follow us for more updates!",
  "media_ids": [
    "<string>"
  ],
  "publish_now": false,
  "scheduled_at": "2026-04-01T10:00:00Z",
  "skip_duplicate_check": false,
  "targets": [
    {
      "account_id": "acc_01HZ9X3Q4R5M6N7P8V2K0W1J",
      "first_comment": "<string>",
      "media_ids": [
        "<string>"
      ],
      "page_id": "sapi_page_01JRQX...",
      "platform_data": {},
      "scheduled_at": "2026-04-01T10:00:00Z",
      "text": "Platform-specific version of the post",
      "title": "Custom title for LinkedIn",
      "visibility": "public"
    }
  ],
  "text": "Check out our new product launch! #newproduct",
  "title": "Exciting News from Acme Corp",
  "visibility": "public"
}
'
{
  "created_at": "2026-03-14T09:00:00Z",
  "hidden": false,
  "id": "p_01HZ9X3Q4R5M6N7P8V2K0W1J",
  "media_ids": [
    "<string>"
  ],
  "published_at": "2026-04-01T10:00:05Z",
  "retry_count": 0,
  "scheduled_at": "2026-04-01T10:00:00Z",
  "status": "published",
  "targets": [
    {
      "account_id": "acc_01HZ9X3Q4R5M6N7P8V2K0W1J",
      "error": {
        "category": "validation",
        "caused_by": "user",
        "code": "platform.tiktok.media_required",
        "message": "Video posts require at least one media URL"
      },
      "first_comment": "<string>",
      "metadata": {},
      "metrics": {
        "comments": 23,
        "extra": {},
        "likes": 142,
        "saves": 31,
        "shares": 8
      },
      "metrics_synced_at": "2026-04-01T12:00:00Z",
      "permalink": "https://www.instagram.com/p/ABC123/",
      "platform": "instagram",
      "platform_post_id": "17895695668004550",
      "published_at": "2026-04-01T10:00:05Z",
      "scheduled_at": "2026-04-01T10:00:00Z",
      "status": "published",
      "text": "<string>",
      "title": "<string>",
      "visibility": "public"
    }
  ],
  "text": "Check out our new product launch!",
  "title": "Exciting News",
  "updated_at": "2026-03-14T09:00:00Z",
  "visibility": "public"
}

Documentation Index

Fetch the complete documentation index at: https://docs.social-api.ai/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

Prefix your API key with "Bearer ". Example: Authorization: Bearer sapi_key_...

Body

application/json

Post content and target accounts

first_comment
string

FirstComment is auto-posted as the first comment after publishing (Instagram, LinkedIn).

Example:

"Follow us for more updates!"

media_ids
string[]

MediaIDs are previously uploaded media file IDs to attach.

publish_now
boolean

PublishNow immediately publishes if targets are provided (ignores scheduled_at).

Example:

false

scheduled_at
string

ScheduledAt queues the post for future publication. Omit to publish immediately or create a draft.

Example:

"2026-04-01T10:00:00Z"

skip_duplicate_check
boolean

SkipDuplicateCheck bypasses the duplicate content detection.

Example:

false

targets
object[]

Targets specifies which connected accounts to publish to, with optional per-target overrides.

text
string

Text is the post body content. Required.

Example:

"Check out our new product launch! #newproduct"

title
string

Title is an optional post title (used by LinkedIn, Google).

Example:

"Exciting News from Acme Corp"

visibility
enum<string>

Visibility controls who can see the post. Platform-dependent values: public, private, connections_only.

Available options:
public,
private,
connections_only
Example:

"public"

Response

All accounts published (sync) or post scheduled/drafted

created_at
string
Example:

"2026-03-14T09:00:00Z"

hidden
boolean
Example:

false

id
string
Example:

"p_01HZ9X3Q4R5M6N7P8V2K0W1J"

media_ids
string[]
published_at
string
Example:

"2026-04-01T10:00:05Z"

retry_count
integer
Example:

0

scheduled_at
string
Example:

"2026-04-01T10:00:00Z"

status
enum<string>
Available options:
draft,
scheduled,
publishing,
published,
partial,
failed,
cancelled
Example:

"published"

targets
object[]
text
string
Example:

"Check out our new product launch!"

title
string
Example:

"Exciting News"

updated_at
string
Example:

"2026-03-14T09:00:00Z"

visibility
enum<string>
Available options:
public,
private,
connections_only
Example:

"public"