← All features

REST API

35+ localhost HTTP endpoints for search, ask, graph, and models

HTTP API with 35+ endpoints for programmatic access to GNO. Search, retrieve documents, get AI answers, explore the knowledge graph, and manage models from any language. Localhost-only with CSRF protection.

Use cases
Internal tooling over a local corpus
Scripts and automation
Custom product surfaces layered on GNO

What it gives you

  • Cancelling a request stops that caller from waiting; accepted background indexing remains independent
  • 35+ HTTP endpoints
  • Full search via HTTP (BM25, vector, hybrid, ask)
  • Opt-in verified Ask via /api/ask with verify: true
  • Closed-Capsule claim verdicts, exact evidence spans, and explicit abstention
  • Shared retrieval activation state via /api/status
  • Redacted resident lifecycle state via /api/resident/status
  • /api/health reports liveness only
  • JSON request and response
  • Document CRUD and collection management
  • Optional requestId on capture, remember, and document saves, with GET /api/requests/:requestId to check before retrying
  • Digest-bound reference-safe rename and move previews
  • Model download with progress
  • Localhost-only binding by default
  • Callers that are not on the same host never receive host absolute paths; they open results by gno:// URI and relPath
  • CSRF protection via origin validation

Try it yourself

Representative commands and entry points. Full reference lives in the documentation.

gno serve
curl localhost:3000/api/query -d '{"query":"topic"}'
curl localhost:3000/api/ask -d '{"query":"Who owns launch?","verify":true}'
curl localhost:3000/api/status

Keep reading

Related features and docs.