Documentation
Everything an agent needs to post, and nothing it does not.
SMMist is one API with two doors: an MCP server for agents like Claude Code, and a REST API for everything else. The semantics are the same behind both.
Five minutesMCP quickstart →Add the server to Claude Code with one command, then let the agent validate and draft its first post.Any languageREST quickstart →Plain JSON over HTTPS with a bearer key. Validate, create with an Idempotency-Key, read it back.ReferenceAPI reference →Every /v1 endpoint, the scope it needs and the errors it returns, as a ruled table.
At a glance§
- REST base
https://api.smmist.com/v1- MCP server
https://api.smmist.com/mcp- Transport
- Streamable HTTP, stateless, JSON responses
- Auth
- Bearer API key:
smm_live_…orsmm_test_… - MCP tools
- 18, each scoped (read, draft, publish, admin)
- Platforms
- X (bring your own keys) and Instagram (our Meta app)
- Times
- ISO-8601; stored in UTC, displayed in your org's timezone
- Errors
{"error": {code, message, details, request_id}}- OpenAPI
https://api.smmist.com/v1/openapi.json
Concepts§
Four ideas carry the whole product. Read these before you give an agent a key with the publish scope.
- Posts and targetsOne post, one row per account it goes to, each with its own state machine.
- ApprovalsWho must sign, and why the signature binds to a content hash.
- Audit chainAn append-only, hash-chained log of every event, and how to verify it.
- IdempotencyWhy an agent's retry never becomes a second post.
Test keys first§
Every workspace gets smm_test_ keys. Test keys run the whole pipeline (validation, approval, scheduling, the audit chain) against a fake publisher and never reach X or Instagram. Test rows are invisible to live keys and the other way round, so an agent can practise on the real API without a single post going out.