Skip to main content
A memory is one fact. Memories live in a container named by a user_memory_tag, scoped to your workspace. Every agent with memory on that runs a call under a tag reads that container at the start and adds what it learned at the end. See Memory for how calls pick their container. Scoped API keys need memories:read for GET and memories:write for POST / DELETE.

The memory object

Import memories

POST /memories
  • user_memory_tag — up to 128 characters of letters, digits and . _ : @ + - / | =.
  • scenario_id (optional) — one of your agents; the facts are then listed under that agent (GET /memories/tags?scenario_id=) and in its Settings.
  • memories — up to 500 entries, each a string or { content, external_id?, created_at? }. Each fact is at most 1,000 characters; a multi-line string becomes one memory per line, with leading bullets and numbering removed.
  • Facts already in the container (compared ignoring case, spacing, bullets and a trailing full stop) are skipped.
201

List memories under a tag

GET /memories?user_memory_tag=crm_48213&limit=100 Returns { "data": [memory, …] }, newest first. limit is 1–1000 (default 400).

List containers

GET /memories/tags Every tag in the workspace that holds at least one memory, newest activity first. Add ?scenario_id= for only the containers that agent has written into.
subject is set for the default containers Waterr creates for a person when a call names no tag (membership:<id> / participant:<id>), and null for your own tags.

Get one container

GET /memories/tags/{tag} — the container summary plus memories, newest first. URL-encode the tag. 404 when nothing is stored under it.

Get one memory

GET /memories/{id} — the memory object. 404 when it does not exist in your workspace.

Update a memory

PATCH /memories/{id}
  • content — one fact on one line, at most 1,000 characters.
  • external_id — a string of at most 255 characters, or null to clear it.
  • user_memory_tag and the source* fields cannot change; to move a fact to another tag, delete it and import it there.
200 with the updated memory. 409 when the new content is already remembered under the same tag.

Delete one memory

DELETE /memories/{id} — 204.

Delete a container

DELETE /memories/tags/{tag} — deletes every memory under the tag, for every agent. 204; 404 when nothing is stored under it.