Agent-readable docs index: /llms.txt. Full docs in one file: /llms-full.txt. Download /docs.zip to grep all markdown files locally.

Creating Posts

The posts create command publishes immediately by default across one or more platforms. Posts target platforms by name (one connected account per platform per workspace). Pass --draft to save without publishing or --scheduled-at to publish later.
Check which platforms are connected before posting:
akarso accounts list # or for a specific profile akarso accounts list --profile 01JXYZ...

Publish immediately

akarso posts create \ --text "Hello world!" \ --platforms x
Publishing may still be in progress when the command returns — poll with posts get <postId> while the status is pending or publishing.

Post to multiple platforms

Pass comma-separated platform names:
akarso posts create \ --text "Cross-platform post" \ --platforms x,linkedin,instagram
The same text is applied to every platform. See Supported Platforms for the full list of platform names.

Schedule for later

Use relative time shortcuts:
ShortcutMeaning
30m30 minutes from now
2h2 hours from now
3d3 days from now
1w1 week from now
akarso posts create \ --text "Coming soon!" \ --platforms x \ --scheduled-at 2h
Or use an ISO 8601 timestamp:
akarso posts create \ --text "Launch day!" \ --platforms x \ --scheduled-at "2026-07-01T10:00:00Z"

Reschedule or cancel

Scheduled posts can be moved or cancelled before they publish:
akarso posts reschedule post_xxx --scheduled-at 3d akarso posts cancel post_xxx

Save a draft

Pass --draft to save without publishing. Drafts are free: they need no subscription and never count toward plan limits:
akarso posts create --text "Draft idea" --platforms x --draft
Publish a draft later (immediately or scheduled):
akarso drafts list akarso drafts publish draft_xxx akarso drafts publish draft_xxx --scheduled-at 2h

Attach media

Pass local file paths or https URLs directly to --media. URLs are referenced directly; local files are uploaded first. The same media applies to every platform in the post:
akarso posts create \ --text "Check this out!" \ --media ./photo.jpg \ --platforms x
Multiple media items are comma-separated, mixing files and URLs:
--media ./a.jpg,https://cdn.example.com/b.jpg
Supported formats: jpg, png, webp, gif images and mp4, mov videos. You can also upload a file separately with akarso media upload <file>, which returns the public URL to reference in later posts.

Pinterest

Pinterest pins always target a board. Pass the board ID:
akarso accounts pinterest-boards akarso posts create \ --text "New pin" \ --platforms pinterest \ --pinterest-board 549755885175 \ --media ./pin.jpg

Post statuses

Posts move through these statuses:
StatusMeaning
draftSaved without publishing (also the state after cancelling a schedule)
pendingAccepted, waiting to be processed
scheduledWaiting for its publish time
publishingBeing published right now
publishedPublished — each platform entry has the live platformPostUrl
failedEvery platform failed — each entry has an errorMessage
partialSome platforms published, some failed

List posts

akarso posts list
Filter by status or platform:
akarso posts list --status scheduled akarso posts list --status failed --platforms x

Delete a post

akarso posts delete post_xxx
Add --delete-from-platforms to also remove the published post from the social platforms themselves (where supported).

Post to a different profile

Each API key targets one profile by default. Override it with --profile to post from a different workspace:
akarso posts create \ --text "From the other workspace" \ --platforms x \ --profile 01JXYZ...
Use akarso profiles list to see available profile IDs. The profile must be in the same org as your API key.

Output format

All commands output YAML by default. Use --json for raw JSON:
akarso posts list --json | jq '.posts[0].postId'
Or pipe YAML through yq:
akarso posts list | yq '.posts[0].status'