API reference

28 endpoints. Base URL https://api.wontopos.com, JSON in and JSON out, one API key in an X-API-Key header. Every call is scoped to a store — the user_id that holds one end-user's memories.

Two things authenticate a call. The API key says which account you are, and user_id says whose memories you are touching. Stores are explicit: reading or writing a store that was never created returns a 404 rather than inventing one. Start with Create a store.

Writing memories

Put something in, correct it later, or take it back out.

Reading memories

Semantic search, one-call context, and plain reads that return the original text.

Images

An image can be the memory itself, found by a sentence in any language.

Stores

Each end-user gets their own store. Stores are explicit: writing to one that does not exist is a 404.

Speakers

Who said each memory, so a group conversation does not collapse into one voice.

Engrams

Multi-hop retrieval pipelines the engine runs for you, with no LLM in the loop.

Won — calls for the model

Free, rate-limited calls meant for the model to ask on its own, not for your UI.

Service

What is live and what this account can reach.

Errors

Errors come back with the HTTP status and a JSON body carrying a machine-readable code and a sentence a human can act on. The rules the whole API follows:

  • Out of range is refused, not clamped. Asking for 20 results and silently getting 10 reads as "that is all there is", which is a worse failure than an error.
  • A missing store is a 404, not an empty result. A cold store must never look like an empty one.
  • 401 means the key is missing or wrong. 429 means you hit the rate limit for your tier.

The full status list, rate limits per tier, and retry guidance are in Errors & limits.

For coding agents

The whole API fits in one file at llms.txt — drop it into an IDE or a coding agent and build. The machine-readable schema is at openapi.json (OpenAPI 3.1), and the same surface is available over MCP with npx -y wontopos-mcp.