Skip to Content
APIMemories
last verified · 2026-07-16

Memories

A memory is a durable, named note attached to a project — a fact, a piece of feedback, a reference doc, or project context you want the crew (and your own tooling) to keep finding. Every memory has a memory_type of one of: user, feedback, project, or reference.

GET/api/v1/memories

List memories for your project. There’s no separate “search” endpoint — pass search on the list call to filter by it.

NameTypeRequiredDefaultDescription
memory_typestringNoOne of user, feedback, project, reference.
searchstringNoFree-text filter.
limitintegerNo50Max rows to return.
curl
curl "https://lumis.work/api/v1/memories?memory_type=reference" \ -H "Authorization: Bearer $LUMIS_MCP_TOKEN"
TypeScript
const res = await fetch('https://lumis.work/api/v1/memories?memory_type=reference', { headers: { authorization: `Bearer ${process.env.LUMIS_MCP_TOKEN}` }, }); const { memories } = await res.json();
Python
res = requests.get( "https://lumis.work/api/v1/memories", params={"memory_type": "reference"}, headers={"authorization": f"Bearer {os.environ['LUMIS_MCP_TOKEN']}"}, ) memories = res.json()["memories"]
{ "version": "v1", "memories": [ { "id": "m1c9...", "project_key": "acme-co", "venture_key": "acme-co", "name": "brand-voice", "memory_type": "reference", "description": "House style for customer-facing copy.", "body": "Plain, precise, no hype. Avoid vague marketing verbs.", "created_at": "2026-07-01T12:00:00.000Z", "updated_at": "2026-07-01T12:00:00.000Z" } ] }
POST/api/v1/memories

Create a memory.

NameTypeRequiredDescription
namestringYesShort identifying name.
memory_typestringYesOne of user, feedback, project, reference.
descriptionstringYesOne-line summary.
bodystringYesFull content (content is also accepted as an alias).
curl
curl -X POST https://lumis.work/api/v1/memories \ -H "Authorization: Bearer $LUMIS_MCP_TOKEN" \ -H "Content-Type: application/json" \ -d '{"name": "brand-voice", "memory_type": "reference", "description": "House style for copy.", "body": "Plain, precise, no hype."}'
TypeScript
const res = await fetch('https://lumis.work/api/v1/memories', { method: 'POST', headers: { authorization: `Bearer ${process.env.LUMIS_MCP_TOKEN}`, 'content-type': 'application/json', }, body: JSON.stringify({ name: 'brand-voice', memory_type: 'reference', description: 'House style for copy.', body: 'Plain, precise, no hype.', }), }); const { memory } = await res.json();
Python
res = requests.post( "https://lumis.work/api/v1/memories", headers={"authorization": f"Bearer {os.environ['LUMIS_MCP_TOKEN']}"}, json={ "name": "brand-voice", "memory_type": "reference", "description": "House style for copy.", "body": "Plain, precise, no hype.", }, ) memory = res.json()["memory"]

A duplicate name for the project returns 409. Returns 201 on success.

GET/api/v1/memories/:id

Read a single memory by id. Returns 404 if it doesn’t exist.

PATCH/api/v1/memories/:id

Update one or more fields on a memory.

NameTypeRequiredDescription
namestringNoNew name.
memory_typestringNoNew type — must still be one of the four valid values.
descriptionstringNoNew description.
bodystringNoNew body (content also accepted).
DELETE/api/v1/memories/:id

Delete a memory. Returns { "version": "v1", "ok": true }, or 404 if it doesn’t exist.