What an agent remembers between runs, and how it finds it again.
Agents store facts and notes in your workspace and recall them in a later session. Recall matches shared words by default; the Owner can also turn on recall by meaning, which is off until they do.
What it does
An agent calls remember to keep a fact, a preference or a
working note, and recall_memory in a later session to find
it again. Memory belongs to your workspace, is private to the agent that
wrote it unless that agent shares it, and every write, read and delete
appears in the audit trail with the agent's name.
| Kind | Written by | Use it for |
|---|---|---|
semantic | The agent | Durable facts and preferences: “the deposit is 20 euros”. |
working | The agent | Notes for the task in hand. |
episodic | Knotbind | A record of a finished run, written when the run reaches a final state. An agent cannot write one. |
The API
| Operation | Endpoint | Scope |
|---|---|---|
| Remember | POST /api/v1/memory | write |
| List what you can read | GET /api/v1/memory | read |
| Recall | GET /api/v1/memory/recall?query= | read |
| Forget one of your own | DELETE /api/v1/memory/:id | write |
The same operations are MCP tools: remember,
recall_memory, list_memory and
forget_memory.
"hl-c"># Keep a fact, visible to the other agents of this workspace
curl -X POST https://www.knotbind.com/api/v1/memory \
-H "authorization: Bearer $KNOTBIND_API_KEY" \
-H 'content-type: application/json' \
-d '{"text":"Kitchen shuts at ten every Sunday evening.",
"tags":["venue"],"visibility":"workspace"}'
"hl-c"># Find it later
curl "https://www.knotbind.com/api/v1/memory/recall?query=closing%20time&limit=5" \
-H "authorization: Bearer $KNOTBIND_API_KEY"
{
"results": [
{
"id": "mem_…",
"kind": "semantic",
"text": "Kitchen shuts at ten every Sunday evening.",
"tags": ["venue"],
"agent": "api:kbk_Zq3x",
"shared": true,
"run_id": null,
"created_at": "2026-11-03T10:00:00.000Z"
}
]
}
Who can read what
-
A memory is private to the agent that wrote it. Set
visibility: "workspace"to share it with the other agents of the same workspace. -
No agent can read another workspace's memory, and an agent can delete
only its own. A delete of someone else's memory returns
404 memory_not_found, the same as one that does not exist. - The Owner can clear every memory in the workspace from the dashboard (Actions, Agent memory). That is audited too.
How recall finds things
Shared words (always on)
Recall scores the memories an agent may read by the words they share with the question: whole-word hits first, then partial hits, then tags, with newer memories winning ties. Common English words such as “at” and “the” are ignored. It needs no outside service. It only finds a memory that shares words with the question, and it looks at the 500 newest readable memories.
By meaning (opt in, per workspace)
With recall by meaning on, a question like “when do you stop serving food at the weekend” finds “Kitchen shuts at ten every Sunday evening”, although they share no words. It reaches all of a workspace's memories, not only the 500 newest.
What is and is not sent
| What | Detail |
|---|---|
| Sent to Google, when it is on | The text and tags of a memory, once, when it is stored or indexed; and the text of a question, when an agent recalls. |
| Never sent | Anything that looks like a password, key or token, in a memory or in a question. Such a memory stays findable by shared words only. |
| Kept in the index | A numeric fingerprint of each memory, its id, its tags, its kind and who may read it. Never the memory text. The text stays in your workspace's database. |
| Who may read a result | Decided by Knotbind's database, not by the index. A result the agent is not allowed to read is dropped before it is returned. |
If the service is unreachable
Recall does not fail. It answers by shared words, the memory is still stored, and the dashboard shows Using keywords until the service is back. After repeated failures Knotbind stops calling the service for a minute so a slow provider cannot slow every recall.
Turning it on and off
- Turn on (Owner only): new memories are indexed as agents write them. Memories written earlier are found by shared words until the Owner presses Index existing memory, which sends their text to Google once and can be repeated safely: it only indexes what is missing.
- Turn off (Owner only): nothing more is sent, and the workspace's index entries are removed. Your memories are not touched.
- Who turned it on or off, and when, is recorded in the audit trail.
Limits
| Limit | Value |
|---|---|
| Text per memory | 4,000 characters |
| Tags per memory | 12, up to 60 characters each |
| Results per recall | 1 to 10 (default 5) |
| Memories kept per agent and kind | 50. Past that, the oldest are folded into one record tagged
compressed that keeps every source id. The fold joins
the texts; it is not a model summary. |
How fast it is
Measured on a developer machine with the real services, not a promise for your deployment.
- Searching the index takes under a millisecond and stays that way from 500 to 20,000 memories. Scanning every memory by words took about 110 ms at 20,000.
- Recall by meaning is not faster on a first question: turning the question into a fingerprint is a call to Google that took about 270 ms. A question asked again is answered from a cache in a few milliseconds. The gain is finding memories by meaning and not slowing down as memory grows.