Publish a post

creates Publication → Post[]WriteUnifiedSoon

One request for TikTok, Instagram, YouTube and six more platforms. Each one reports back on its own, and only posts that go live are billed. Posting to X works today through the AIsa X actions direct API.

One request, every platform

Write it once and each platform answers for itself

Text, media, target accounts and timing are shared. Anything only one platform has sits under its own prefix, like tiktok.privacy or instagram.format. Any account can get its own shorter caption.

platforms
9
failed or stopped in preflight
$0
per post that goes live
[$Z]
{
  "tool": "social.publications.create",
  "arguments": {
    "text": "Our 3-in-1 travel charger is here.",
    "media": ["med_7Hq2Lw"],
    "targets": [
      { "account": "tiktok:acme.home" },
      { "account": "instagram:acme.home",
        "instagram": { "format": "reels" } },
      { "account": "youtube:acmehome" },
      { "account": "x:acme_home",
        "text": "3-in-1 charger, out now." }
    ],
    "when": { "at": "2026-10-03T09:00:00-07:00" },
    "approval": "required",
    "idempotency_key": "launch-charger-01"
  }
}

Every target reports back on its own

Example · fictional brand Acme Home

pub_01JB8W3KPartly published
3 of 6 live · billed for 3
AccountFormatStatusResultBilled
TikToktiktok:acme.homeVideoPublishedtiktok:[post id]Live 09:00 PTBilled
Instagraminstagram:acme.homeReelsPublishedinstagram:[post id]Live 09:00 PTBilled
Xx:acme_homeText + videoPublishedx:[post id]Shorter caption usedBilled
YouTubeyoutube:acmehomeShortsPublishing—Upload processing—
LinkedInlinkedin:acme-homeVideoScheduled—Next free slot, 11:00 PT—
Pinterestpinterest:acmehomeVideo PinFailedconnection_expiredYou can fix: reconnect, then retry this targetNot billed

A publication is a draft, scheduled, publishing, published, partly published, failed or withdrawn. Retry just the failed targets with the same idempotency key; nothing posts twice.

From connect to posted

  1. 01 · Connection

    Connect once

    Account owners grant access to AIsa. Scopes, status and expiry are readable, with a warning before it lapses.

  2. 02 · Preflight

    Check before posting

    Length, media size, format and account type are checked against each platform. A miss costs nothing.

  3. 03 · Approval

    Ask a person first

    Publishing, deleting and DMs can wait for a human. On by default for AI employees.

  4. 04 · Publication

    Post, or queue

    Now, at a set time, into the next free slot, or kept as a draft. Time zones always explicit.

  5. 05 · Event

    Get notified

    Webhooks for each post going live or failing, new comments and DMs, and connections about to expire.

9 calls plannedSoon

Our own first draft of the paths, not reviewed yet. Each call acts on the platforms it lists through the Connection you grant, and none is deployed yet.

  • POST/v1/social/publicationsSend one post to several accounts: now, at a set time or into the queueAll 9 social platformsDraft
  • POST/v1/social/publications/precheckPrecheck length, media and account type against each platform's rulesAll 9 social platformsDraft
  • GET/v1/social/publications/{publicationId}One Publication with its status on each platformAll 9 social platformsDraft
  • GET/v1/social/publicationsDraft, scheduled and sent PublicationsAll 9 social platformsDraft
  • PUT/v1/social/publications/{publicationId}Edit a draft or a scheduled PublicationAll 9 social platformsDraft
  • POST/v1/social/publications/{publicationId}/retryRetry the platforms that failedAll 9 social platformsDraft
  • DELETE/v1/social/publications/{publicationId}Delete a draft or cancel a scheduled sendAll 9 social platformsDraft
  • POST/v1/social/publications/bulk-uploadCreate many Publications from a CSV fileAll 9 social platformsDraft
  • GET/v1/social/platformsThe platforms you can publish to, with their limitsAll 9 social platformsDraft

What each platform allows

The same table is an endpoint, versioned as platforms change: GET /v1/social/platforms

PlatformPublishComments and DMsYour own statsStatus
XText, images, video, threads, pollsComments, DMs soonYesLive
TikTokVideoComments; DMs reply onlyYesSoon
InstagramPosts, Reels, Stories, carouselsComments, DMsYesSoon
Facebook PageText, images, video, ReelsComments, DMs, page reviewsYesSoon
YouTubeVideo, ShortsCommentsYesSoon
LinkedInText, images, video, documentsComments on company pagesYesSoon
PinterestImage Pins, video PinsNot offered by PinterestYesSoon
ThreadsText, images, videoCommentsYesSoon
RedditText, images, video, linksComments, DMsLimitedSoon

Errors name who can fix them

Codes are AIsa's own. Upstream codes and messages never reach you, so the channel behind a platform can change without touching your code.

You can fixnot retried · not billed
  • connection_expired
  • content_spec_mismatch
  • account_type_unsupported
The platformretried for you
  • platform_rate_limited
  • platform_unavailable
AIsaretried · on us
  • aisa_internal

Guardrails that keep accounts safe

  • Posting rate is held under each platform's limit, per account.
  • The same post going to many accounts is reviewed first.
  • A newly connected account starts slow and ramps up.
  • Comments and DMs are handled as personal data and never pooled across customers.

What it costs

Connected account, with its own stats
[$] / month
Each post that goes live
[$Z]
Each comment or DM reply
[$]
X
Per X API call, listed separately

Agents can pay per post with x402, no account or plan needed.

Search the catalog

Platforms, unified entities, vendor APIs, endpoints and connectors.