EditorInChief Documentation
API reference and MCP integration guide.
Authentication
Every request to api.editorinchief.io requires an Authorization header:
Authorization: Bearer <token>
Two token types are accepted:
| Type | Format | How to get one |
|---|---|---|
| Supabase JWT | Standard RS256 JWT | Issued on sign-in to dashboard.editorinchief.io |
| API key | eic_ followed by 64 hex characters | POST /api/v1/keys |
API keys never expire but can be revoked. Use them for server-to-server integrations and MCP clients (VS Code, Cursor, Claude Code).
Base URLs
REST API: https://api.editorinchief.io/api/v1
MCP server: https://api.editorinchief.io/mcp/
Errors
REST errors return JSON with an error string and optional code:
{ "error": "Site not found", "code": "NOT_FOUND" }
| HTTP status | Meaning |
|---|---|
400 | Bad request — missing or invalid fields |
401 | Missing or invalid bearer token |
402 | Plan limit reached |
404 | Resource not found |
422 | Validation error |
429 | Rate limit exceeded |
500 | Internal error |
MCP errors use JSON-RPC 2.0 error objects. Tool errors surface as code -32000 with a descriptive message.
Rate limits
Rate limiting uses a sliding window per user ID. Limits are generous for normal usage and exist to prevent runaway automation. If you hit a 429, back off exponentially.
Plan limits
| Plan | Sites | Beats/site | Articles/month |
|---|---|---|---|
| Trial (14 days) | 1 | 2 | 50 |
| Pro | 3 | unlimited | 500 |
| Business | unlimited | unlimited | unlimited |
Where to go next
- REST API reference — sites, beats, sources, articles, personas, clusters, ingest, API keys
- MCP integration guide — connect VS Code / Cursor / Claude Code and manage your pipeline without leaving your editor