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 lets you publish content across one or more platforms. Posts target platforms by name (one connected account per platform per workspace). Passing neither --publish-now nor --scheduled-at saves a draft.

Publish immediately

akarso posts create \ --text "Hello world!" \ --platforms x \ --publish-now

Post to multiple platforms

Pass comma-separated platform names:
akarso posts create \ --text "Cross-platform post" \ --platforms x,linkedin,instagram \ --publish-now
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"

Save a draft

Pass neither --publish-now nor --scheduled-at to save a draft you can review in the dashboard:
akarso posts create --text "Draft idea" --platforms x

Attach media

Pass local file paths or https URLs directly to --media. Files are uploaded and attached to every platform in the post:
akarso posts create \ --text "Check this out!" \ --media ./photo.jpg \ --platforms x \ --publish-now
Multiple media items are comma-separated, mixing files and URLs:
--media ./a.jpg,https://cdn.example.com/b.jpg
You can also upload media separately with akarso media upload <fileOrUrl>, which returns an upload ID. Upload IDs go in the data.<PLATFORM>.uploadIds field when using the REST API directly. Uploads max out at about 90 MB.

Post statuses

Posts move through these statuses:
StatusMeaning
DRAFTSaved, not scheduled
SCHEDULEDWaiting for its publish time
PROCESSINGBeing published right now
POSTEDPublished — externalData.<PLATFORM>.permalink has the live URL
ERRORFailed — errors.<PLATFORM> has the reason
RETRYINGRetrying after a failure
REVIEWHeld for review
DELETEDDeleted

List posts

akarso posts list
Filter by status or platform:
akarso posts list --status SCHEDULED akarso posts list --status ERROR --platforms x

Retry failed posts

If a post fails (expired token, API error), retry it:
akarso posts retry post_xxx

Delete a post

akarso posts delete post_xxx

Output format

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