API documentation
REST API reference.
Every request requires Authorization: Bearer <api key>. Responses are JSON. Errors return { error: string } with an appropriate HTTP status.
Endpoints
| Method | Path | Scope | Description |
|---|---|---|---|
| GET | /api/v1/documents | documents:read | List documents in the key's workspace. |
| GET | /api/v1/documents/:id | documents:read | Get a document's metadata and parsed blocks. |
| POST | /api/v1/documents/:id/extract | extraction:run | Enqueue an extraction run. Body: { schema_version_id }. |
| GET | /api/v1/extraction-runs/:id | extraction:read | Get an extraction run and its extracted values. |
| GET | /api/v1/search?q= | search:read | Full-text search across the workspace's parsed content. |
MCP server
A Streamable-HTTP MCP endpoint is available at /api/mcp, authenticated the same way as the REST API. It exposes seven tools: search_contextboard, list_workspace_documents, get_document, get_document_section, extract_document, get_source_evidence, and create_context_pack.
Rate limiting
60 requests per minute per API key, on a sliding window. A request over the limit returns 429.
Webhooks
Register a webhook URL and events (extraction_run.completed, extraction_run.failed) from a workspace's API & webhooks settings. Deliveries are signed with an HMAC-SHA256 header: X-ContextBoard-Signature: sha256=<hex digest of the raw body>, using the secret shown when the webhook was created.