Skip to content
API and publishers operational
Vol. I · No. 4smmist.com · API v1

The publishing API for AI agents

Your agent writes the post. You sign it. SMMist puts it out on time.

One API and an MCP server for X and Instagram. Agents draft and schedule; nothing goes live without the approval you require; every step lands in an append-only audit trail you can verify.

Start free, no cardclaude mcp add smmist --transport http https://api.smmist.com/mcp

Scheduling tools were built for a person with a calendar. SMMist was built for the thing now doing the drafting: a coding agent with a tool call. It validates before it queues, refuses duplicates by idempotency key, and holds anything that needs a human.

Bring your own X developer keys and keep your own rate limits. Post Reels to Instagram from the same call. When something fails at 9:30 on a Monday, the queue tells you which step, which attempt, and whether it is safe to retry.

From the proof desk

The agent marks the copy. You pass it for press.

Every revision is kept. Reviewers see exactly what the agent changed and why, in its own words, before they sign. The signature covers a sha256 of the final text, media and targets, so a later edit cannot ride on an old approval.

Blue
the agent did this
Vermilion
a person must act
Proof · post 9b1d6c4e · rev 2 → rev 3@ClaudePass_HQ X · @wisparm_keyboard IG Reel

[deleted: Big news! We’re thrilled to announce that VoiceMsg is finally here.] Hold space. Talk. Let go. [inserted: VoiceMsg is live:] [deleted: Your] [inserted: your] voice becomes a message in any app, in 40+ languages. wisparm.com/voicemsg [deleted: #voice #keyboard #ai]

X 126 / 280 · link counted as 23 · was 197

  1. Corrections
  2. 1Opener cut. 68 characters that said nothing before the product name.
  3. 2“Your” → “VoiceMsg is live: your”. The news goes in the first line, where the feed shows it.
  4. 3Hashtags moved to the Instagram override. They stay on IG and leave the X copy clean.
✓ Passed for press · Samson B., ownerFri Oct 9 16:04 PT · sha256 4e1f…a09c
Edit one character after the imprint and it is void: the worker refuses to publish content whose hash does not match the approval.
§ 1How it works

Built for the tool call, not the calendar.

Add the MCP server to Claude Code, or call the REST API from anything. Same semantics either way.

  1. i.

    Validate before you queue

    validate_post is a dry run against each platform’s real rules (length, link weight, media codecs, aspect ratio) and returns every problem at once, with a code an agent can act on.

  2. ii.

    Create with an idempotency key

    Retries return the same post, never a second one. Per-platform overrides let one call carry the X copy and an Instagram Reel caption.

  3. iii.

    Hold for approval

    Keys without the publish scope can only draft. Approval binds to the content hash; edit one character and it must be approved again.

  4. iv.

    Publish, or explain why not

    Each target moves through an explicit state machine. The attempt is committed before the irreversible call, and an ambiguous timeout is reconciled with the platform before anything is re-sent.

smmist.create_post
# Claude Code, mid-session
> Schedule the VoiceMsg launch for Monday 9:30 PT on X and as an IG Reel.

tool smmist.validate_post   // dry run, nothing stored
tool smmist.create_post
{
  "text": "Hold space. Talk. Let go. VoiceMsg is live…",
  "accounts": ["@ClaudePass_HQ", "@wisparm_keyboard"],
  "media_ids": ["5f0c8a1e-…"],   // 24s, 9:16, H.264
  "overrides": {
    "instagram": { "options": { "ig": { "type": "REELS" } } }
  },
  "publish_at": "2026-10-12T09:30:00-07:00",
  "idempotency_key": "voicemsg-launch-2026-10-12",
  "agent": { "name": "claude-code", "model": "claude-opus-5-5" }
}
✓ validated 2 targets · 0 errors · 1 warning (IG cover frame not set)
✓ created 9b1d6c4e-3f0a-4c51 · status pending_approval
→ approval requested from samson@ · sha256 4e1f…a09c
§ 2Platforms

Two networks today, listed plainly.

We add a platform when it publishes reliably end to end, not when there is a logo to put on a page. Two platforms done properly before five done badly.

  • X formerly TwitterLive
    Formats
    Text, images, GIF, video
    Limits
    280 chars · URL = 23 · 4 images or 1 video · video ≤ 2:20 · ≤ 512 MB
    Keys
    Bring your own developer keys. Your app, your rate limits, your bill from X.
  • Instagram Business & CreatorLive
    Formats
    Reels, feed, carousels, stories
    Limits
    2,200 chars · media required · 10 per carousel · video 0:03–15:00 · ≤ 300 MB
    Keys
    Our Meta app. Connect with Instagram login.
  • Bluesky300 graphemesQ4 2026
  • Threads500 charsQ1 2027
  • LinkedIn3,000 chars2027
Timings are targets, not promises. Subscribe to the changelog for dates.Limits read from GET /v1/platforms
§ 3The record

Who wrote it, which model, who said yes.

Every event is appended to a per-organization hash chain. The database refuses updates and deletes.

“When an agent posts on your behalf, ‘the AI did it’ is not an answer anyone will accept.”

The reason this product exists

  • Agent, model, key and session recorded on every draft
  • Approval bound to a sha256 of the exact content
  • Recompute the chain yourself: GET /v1/audit/verify
  • Compliance tier: retention, reviewer roles, sign-off policies
Post 9b1d6c4e · event logorg wisparm · chain head #4,851
Audit events for one post, oldest first
SeqTime (PT)EventRow hash
#4806Oct 09 14:22:07createdclaude-code · claude-opus-5-5 · key smm_live_…Q8dz · via MCP9b04…e1c2
#4807Oct 09 14:22:07validated2 targets · 0 errors · 1 warning51ad…07f3
#4808Oct 09 14:22:08submittedpending_approval · content sha256 4e1f…a09cc3e9…9a10
#4811Oct 09 16:03:41approvedSamson B. · owner · via dashboard2f7c…b6d8
#4812Oct 09 16:03:41scheduled2 targets · publish_at Oct 12 09:30 PTa1c0…3e52
#4851Oct 12 09:30:02publishedX · @ClaudePass_HQ · attempt 1 of 6e08a…41f5
✓ chain verified · 4,851 rows · no gapsGET /v1/audit/verify
§ 4Rates

One price a month, whoever does the posting.

Monthly, in US dollars. Test keys are free on every plan and never reach a real network. X bills you directly for your own API use.

Free

Try it
$0

One person, one agent, finding out whether this works.

Accounts
2
Published posts / month
30
MCP + REST
Yes
Test keys
Yes
Approvals
Owner only
Audit view
7 days
Create workspace

Builder

Start here
$9/ month

Indie hackers shipping in public with an agent doing the posting.

Accounts
10
Published posts / month
500
Then
$0.01 / post
API keys
5
Webhooks
Signed†
Audit view
Full trail
Start Builder

Agency

Clients
$49/ month

Teams running agents across many client brands, with reviewers.

Accounts
50
Published posts / month
5,000
Then
$0.005 / post
Workspaces
Per client
Approval rules
approval_mode
Team roles
5 roles
Start Agency

Compliance

Regulated
From
$299/ month

Firms where every public statement needs a named supervisor.

Supervisor seats
$49 each
Sign-off policies
Default-deny†
Retention
WORM archive†
Chain export
NDJSON + head†
SSO
Yes†
Support
Named contact
Talk to us
Metered per published post-target, once, however many retries it took. Cancel from the dashboard; your audit export stays downloadable for 90 days. † In development; dates on the changelog.USD · prices exclude tax

Let the agent draft. Keep the pen.

Free workspace, a test key in your terminal, and your first post validated in under five minutes.