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 '
{
  "account_ids": [
    "acc_01HZ9X3Q4R5M6N7P8V2K0W1J"
  ],
  "media_ids": [
    "<string>"
  ],
  "platform_options": {},
  "scheduled_at": "2026-04-01T10:00:00Z",
  "text": "Check out our new product!"
}
'
{
  "account_ids": [
    "<string>"
  ],
  "created_at": "2026-03-14T09:00:00Z",
  "error_message": "<string>",
  "id": "<string>",
  "media_ids": [
    "<string>"
  ],
  "platform_options": {},
  "results": [
    {
      "account_id": "acc_01HZ9X3Q4R5M6N7P8V2K0W1J",
      "error": "",
      "permalink": "https://www.instagram.com/p/ABC123/",
      "platform": "instagram",
      "platform_post_id": "17899506382105207",
      "status": "published"
    }
  ],
  "retry_count": 123,
  "scheduled_at": "2026-04-01T10:00:00Z",
  "status": "scheduled",
  "text": "<string>",
  "updated_at": "2026-03-14T09:00:00Z",
  "user_id": "<string>"
}

Authorizations

Authorization
string
header
required

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

Body

application/json

Post content and target accounts

account_ids
string[]

AccountIDs lists the connected accounts to publish to. At least one is required.

Example:
["acc_01HZ9X3Q4R5M6N7P8V2K0W1J"]
media_ids
string[]

MediaIDs references previously uploaded media files to attach.

platform_options
object

PlatformOptions passes platform-specific settings (e.g. topicType for Google).

scheduled_at
string

ScheduledAt schedules the post for future publication. Omit for immediate publish.

Example:

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

text
string

Text is the post caption / body. Required.

Example:

"Check out our new product!"

Response

All accounts published (sync) or post scheduled (async)

account_ids
string[]
created_at
string
Example:

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

error_message
string
id
string
media_ids
string[]
platform_options
object
results
object[]
retry_count
integer
scheduled_at
string
Example:

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

status
string
Example:

"scheduled"

text
string
updated_at
string
Example:

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

user_id
string