Memories
A memory is a piece of information you store in Memsolus on behalf of a user, agent, or session. Memories are the building blocks of everything else — once stored, Memsolus automatically processes them into searchable knowledge.
What Is a Memory?
Anything worth remembering can be a memory: a user preference, a project decision, a fact from a conversation. You store it as plain text, and Memsolus handles the rest.
Memory Fields
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier for the memory (mem_...) |
content | string | The text of the memory |
user_id | string | The user this memory belongs to |
agent_id | string | The agent that created the memory (optional) |
session_id | string | The session context (optional) |
priority | enum | LOW, MEDIUM, or HIGH — affects ranking in search results |
status | enum | Current processing status (see below) |
categories | string[] | Tags for organizing and filtering memories |
metadata | object | Free-form key-value pairs for custom filtering |
created_at | string | ISO 8601 creation timestamp |
updated_at | string | ISO 8601 last-update timestamp |
Memory Status
After you store a memory, it goes through an automatic processing flow. The status field tells you where it is:
| Status | What it means |
|---|---|
PENDING | Memory received and queued for processing |
PROCESSING | Being analyzed and prepared for search |
READY | Fully processed and searchable |
CONSOLIDATED | Merged into an existing memory that covered the same information |
Most memories reach READY within seconds. Once READY, the memory is available in search results and contributes to the user's Knowledge Base.
Priority
Priority influences how memories surface in search results. Higher-priority memories appear first when multiple results are relevant.
| Priority | When to use |
|---|---|
HIGH | Critical facts that should always surface — "the user is the CEO of Acme" |
MEDIUM | General context — the default for most memories |
LOW | Background details that rarely need to surface — "user mentioned liking coffee" |
Metadata
Metadata is a free-form JSON object you attach to a memory. Use it to carry extra context and to enable filtering when searching.
You can then filter by metadata when searching:
Categories
Categories are tags you can assign to memories for organization and filtering. They are returned alongside the memory and can be used as a search filter.
Memsolus also automatically assigns categories based on the content of your memories.