Module · Beta

Memory

Memory (internal codename Anchor) is portable agent memory: write text, optional key, optional TTL, optional source URL, tags. Expired items are hidden by default (soft decay) and can be listed with include_expired=1. Content is user-supplied text only — we do not fetch source_url.

Same hashed API keys as Distill. No separate Memory brand. Included in the Pro hub pack (beta).

Units

Write

curl -sS https://distill.prometheus-potential.workers.dev/v1/memory \
  -H "Authorization: Bearer $DISTILL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"project_id":"alpha","key":"stack","content":"Workers + D1 + KV","ttl_seconds":86400,"source_url":"https://example.com/notes","tags":["infra"]}'

Body: project_id (required), content (required, max 32 KB), key (optional; upserts that named key in the project), ttl_seconds (optional, 60–31536000), source_url (optional http(s), stored not fetched), tags (optional). Omit ttl_seconds for no expiry.

Read by id

curl -sS https://distill.prometheus-potential.workers.dev/v1/memory/amem_… \
  -H "Authorization: Bearer $DISTILL_API_KEY"

Expired items return 404 unless you pass ?include_expired=1.

Search

curl -sS "https://distill.prometheus-potential.workers.dev/v1/memory?project_id=alpha&q=stack" \
  -H "Authorization: Bearer $DISTILL_API_KEY"

project_id is required. q is optional (substring on key, content, tags, source_url). Add include_expired=1 to include decayed rows.

Delete

curl -sS -X DELETE https://distill.prometheus-potential.workers.dev/v1/memory/amem_… \
  -H "Authorization: Bearer $DISTILL_API_KEY"

vs Distill remember/recall

/v1/remember and /v1/recall remain Distill’s project memory lite (required key, no TTL). Memory is the hub module for portable, id-addressable notes with decay. Both work on the same key.

MCP tools: memory_write, memory_get, memory_search, memory_delete — see /mcp.

Docs hub · Distill · API reference