Skip to main content
Help · Public API

Use OpenMind from your own code

Back to help

OpenMind exposes a read-only public REST API at `/api/public/v1/...` so you can pull projects, conversations, messages, nodes, and edges into whatever you're building. Auth is per-user personal-access tokens; same RLS scope as your browser session.

Mint a token

Settings → API keys → Create. The token is shown once. Copy it the moment it appears; there's no way to reveal it again — only to revoke and mint a new one. Tokens are scoped to your user, not to a project, so they see exactly the rows your browser sees.

Make a request

`curl -H 'Authorization: Bearer <token>' https://api.openmind.app/api/public/v1/projects` returns the same JSON your projects-list page renders. Every endpoint is RLS-gated; a token belonging to alice will not see bob's rows even if a malicious caller guesses bob's project ID.

What's in scope

Today: projects, conversations, messages, nodes, edges, exports — everything readable via the dashboard. Out of scope: any write verb (PATCH / POST / DELETE) and admin endpoints. Write access is on the roadmap behind a separate scope; revisit when we ship it.

Rate limits + cost

The hosted demo applies a soft per-token throttle (60 req/min); self-host has no built-in rate limit. LLM-backed endpoints (`/ask`, extraction triggers) bill against whichever provider key signs the request — your own if you've added one in Settings → API keys, the operator's otherwise.

The full schema (every endpoint, every field, every error envelope) lives at https://api.openmind.app/docs — FastAPI's auto-generated OpenAPI page, which doubles as a Swagger UI you can poke from the browser.