Skip to content

HTTP API

datanotes serve listens on http://127.0.0.1:27150 (httpServerPort in the settings, --host for another address). Every request except GET / needs Authorization: Bearer <token>: the owner’s token (httpServerToken in the settings file, generated at the first start) or an app token (see Apps).

  • /datanotes/*: every operation of the API, with snake_case JSON bodies, e.g. POST /datanotes/rows/insert/ {"table": "book", "values": {...}}. An X-Datanotes-Actor header (JSON: session, harness, model, tool) attributes the writes.
  • GET /vault/, GET /vault/<folder>/, GET /vault/<file> (raw Markdown, or note JSON with Accept: application/vnd.olrapi.note+json) and POST /search/simple/?query=…, read-only, with the same responses as the Local REST API plugin, so a client that uses only these routes changes just the URL and the key.
  • GET /: status, no token needed.
  • GET /datanotes/openapi.json: OpenAPI 3.1 description of the /datanotes/* operations (generated from the catalogue), to generate clients in any language.

It binds to 127.0.0.1 unless --host says otherwise, and answers no CORS preflight, so web pages cannot call it.

The description of the /datanotes/* routes is openapi.json. From JavaScript, use the client; agents use the MCP server.