API and MCP
Workspace → API & MCP → create a key (included on the Free plan). Send it as Authorization: Bearer ssk_....
| Method | Path | What |
|---|---|---|
| GET | /api/v1/sites | Your sites |
| GET | /api/v1/sites/{id}/articles | Articles, newest first (?status=ready&limit=10) |
| POST | /api/v1/sites/{id}/articles | {"keyword": "..."} → research, write, fact-check, QA. Counts against your article allowance |
| GET | /api/v1/articles/{id} | Markdown, HTML, meta, schema, sources, fact-check, QA |
| POST | /api/v1/articles/{id}/publish | {"status": "publish"} (or "draft") — refused (409) while the fact gate blocks it |
| GET | /api/v1/sites/{id}/geo | Latest AI-answer share of voice per engine and prompt |
MCP: the same six operations are tools on our MCP server at /api/mcp (Streamable HTTP). Add it to Claude, Cursor or any MCP client with the key as a Bearer header.