Docs for the render endpoint, REST API, MCP server, and CLI
Everything here reflects what's actually shipped — the same endpoints and tools the dashboard itself uses. Generate a key in Settings > API keys to get started.
Public, cache-first, no auth required to render
Every published template gets a stable, versioned render URL. Two equivalent shapes are supported:
/api/render/{templateId}/v{version}/{var1}/{var2}/....png
/api/render/{templateId}/v{version}.png?title=X&image=Y
A segment of exactly _ (positional form) or an omitted query param (query-string form) falls back to that variable's default value. A given template version + variable combination always renders the same bytes, so it's safe to cache aggressively and there's no auth on this endpoint — it's meant to be embedded directly in a page's og:image tag.
Authenticated, workspace-scoped endpoints
Authorization: Bearer og_live_.... Every endpoint is scoped to the key's workspace — an ownership check runs before any read or write.| Method | Path | Description |
|---|---|---|
| GET/POST | /api/v1/projects | List or create projects. |
| GET/PATCH/DELETE | /api/v1/projects/:id | Read, update, or delete a project. |
| GET/POST | /api/v1/templates | List or create OG image templates. |
| GET/PATCH/DELETE | /api/v1/templates/:id | Read, draft-save, or delete a template. |
| POST | /api/v1/templates/:id/publish | Cut a new immutable, versioned publish. |
| GET/POST | /api/v1/links | List or create branded sharing links. |
| GET/PATCH/DELETE | /api/v1/links/:id | Read (with click analytics), update, or delete a link. |
| GET/POST | /api/v1/audits | List audits, or trigger a new one (202, queued). |
| GET | /api/v1/audits/:id | Poll status and findings for an audit. |
Connect an agent directly to a workspace
A remote Streamable HTTP MCP server lives at /api/mcp, authenticated with the same Bearer API key. Add it to Claude, Cursor, or any MCP-compatible client as a remote server.
For stdio-only clients, the og-lint CLI bridges in:
npx og-lint mcp --base-url https://your-deployment.com --api-key og_live_...
og-lint: a CI gate for broken metadata
A minimal, rule-based CLI that checks one or more URLs for missing or broken OG and metadata tags before a PR merges — no LLM involved, purely rule-based checks against the free public scanner endpoint. Ships as a GitHub Action too.
npx og-lint check https://example.com --base-url https://your-deployment.com
Stop paying per seat
for a usage-shaped problem.
Unlimited teammates, one usage pool. Start free with the scanner — no card required.