Skip to main content

REST API (v1)

Most teams publish through the dashboard or MCP tools. The REST API is for scripts, CI, and non-MCP integrations.
Base URL: https://unfurl.pub
Auth: Create a key at Dashboard → API keys, then send X-Api-Key: oodoc_… or Authorization: Bearer oodoc_… on every request.

Endpoints

MCP maps to these routes: publish_document, edit_document, get_document, update_document, delete_document, list_documents, find_document, get_workspace_info, list_feedback, resolve_feedback.

Publish body (POST /api/v1/publish)

Success (200):

Edit body (POST /api/v1/documents/:id/edit)

Matching is literal. The batch is atomic. Success (200) includes share_url and a summary. Common errors: 422 edit_not_found / edit_ambiguous / no_change; 413 if the result exceeds 4 MB. Full semantics: edit_document.

GET /api/v1/me

Success (200): { "workspace": { "id", "name", "brand_name", "brand_tagline", "plan", "document_count", "entitlements" } }.

Limits and rate limits

  • HTML size: 4 MB per document (publish, edit, and dashboard upload). Inlined base64 images are the usual way to blow this — host images at a URL instead.
  • Free plan: 5 documents, 1 API key. Pro removes those caps. See Plans and billing.
  • Writes: publish and edit are rate-limited per API key (default 60 requests per 60 seconds). If you are throttled, wait and retry.
  • Passphrase unlock and viewer feedback submits are also rate-limited per IP / token.

MCP overview

edit_document