OpenAPI Spec & TypeScript Clients
Machine-readable OpenAPI 3.1.0 spec for the Minds API. Generate typed TypeScript clients, explore endpoints interactively in Scalar, or pipe the JSON straight into your LLM.
OpenAPI Spec
The Minds public API ships a machine-readable OpenAPI 3.1.0 spec. Build typed clients, explore endpoints in an interactive reference, or hand the JSON to an LLM — same source of truth as this documentation.
Endpoints
| URL | What you get |
|---|---|
https://getminds.ai/_openapi.json | OpenAPI 3.1.0 JSON spec. Feed this into any generator. |
https://getminds.ai/_scalar | Scalar reference UI — interactive, try-it-out, copy-paste curl. |
https://getminds.ai/_swagger | Classic Swagger UI. |
The spec only includes endpoints under /api/v1/**. Internal endpoints (admin, debug, cron, MCP, etc.) are filtered out.
Authentication
Every operation in the spec is gated by ApiKeyAuth — send your personal API key as a bearer token:
Authorization: Bearer minds_…_key
Create one in Settings → API Keys. See Authentication for the full flow.
Generate a TypeScript client
The fastest path: use openapi-typescript to generate strict types from the live spec.
npx openapi-typescript https://getminds.ai/_openapi.json -o minds.d.ts
Then use them with openapi-fetch for a fully-typed client:
import createClient from 'openapi-fetch'
import type { paths } from './minds'
const client = createClient<paths>({
baseUrl: 'https://api.getminds.ai',
headers: { Authorization: `Bearer ${process.env.MINDS_API_KEY}` },
})
// All params + responses are typed from the live spec.
const { data, error } = await client.GET('/api/v1/sparks', {
params: { query: { limit: 10 } },
})
Prefer a runtime SDK? Any OpenAPI 3.1-compatible generator works — openapi-generator, orval, kubb, etc.
Use it with an LLM
The JSON spec is small enough to drop into a chat:
curl -s https://getminds.ai/_openapi.json | pbcopy
Then paste into ChatGPT / Claude / Cursor with a prompt like:
Here is the Minds API OpenAPI spec. Write me a Python script that lists my sparks and prints their names.
The spec includes request/response schemas, example payloads, and the bearer-token auth contract — the model has everything it needs.
Coverage
The spec lists every /api/v1/** endpoint. Routes ship with full request/response schemas when they carry a defineRouteMeta block; routes without one appear with path + method only and a generic description. We're working through the surface over time — the spec stays accurate either way because it's generated from the live router, not maintained by hand.
Note on stability: OpenAPI generation runs on Nitro's experimental
openAPIflag. The spec format is stable (OpenAPI 3.1.0); minor structural drift in operation metadata is possible as the underlying Nitro feature matures. Pin your client-generation step to a build artifact if you need a frozen contract.
Next steps
- Explore the live reference at /_scalar
- Read Authentication for the bearer-token flow
- Jump into Sparks, Panels, or Chat for endpoint walkthroughs