API reference
The Lore HTTP API — generated from the OpenAPI spec, pinned to a release.
The pages under this section are generated from Lore's OpenAPI spec, pinned to a release tag (recorded in
the repo's provenance file). Every request needs Authorization: Bearer <YOUR_API_KEY>, except
GET /healthz, which is unauthenticated so orchestrators can probe it. The project is resolved from the API
key — never from a request body.
Some endpoints are reserved in the API contract and currently return 501 Not Implemented. They appear in the OpenAPI spec but have no page here yet; a page appears automatically once the endpoint ships a real response.
Errors
Every error response carries a message and usually a stable code. The SDKs map a modelled code to a
typed error class (a member of the LoreApiErrorUnion), so you switch on the class instead of matching
strings; an absent or unmodelled code (the spec makes it optional) surfaces as a generic error keyed by the
HTTP status. Each operation page lists the specific status codes it can return.
code | Meaning | Typical endpoints | SDK error |
|---|---|---|---|
unauthorized | Missing or invalid API key. | Any authenticated endpoint | UnauthorizedError |
not_found | The run or memory doesn't exist in your project. | /v1/pack, /v1/memories/{id}, /v1/runs/{id}/trace | NotFoundError |
invalid_run_id | A run_id is malformed (not a UUID). | /v1/events, /v1/pack, /v1/runs/{id}/trace | InvalidRunIdError |
min_seq_out_of_range | A pack's min_seq is beyond the run's latest event. | /v1/pack | MinSeqOutOfRangeError |
model_mismatch | The project's active embedding model differs from the running embedder. | /v1/pack | ModelMismatchError |
Where to start
The core loop is create a run, write events, then pack a context — the seq a write returns becomes the
min_seq of a later pack (read-your-writes). Inspect endpoints read back what was stored.