Documentation Index
Fetch the complete documentation index at: https://docs.case.dev/llms.txt
Use this file to discover all available pages before exploring further.
The problem
Your AI agent forgets everything between conversations. Users repeat themselves, context is lost, and the experience feels broken.The solution
Memory gives your agent persistent, searchable storage for facts extracted from conversations. When a user says “I prefer dark mode” or “The client is risk-averse,” those facts are stored and can be retrieved later.How it works
- Add memories - Pass conversation messages, we extract discrete facts
- Search memories - Query by meaning, not just keywords
- Filter by tags - Scope memories using 12 generic indexed tag fields
- Fact extraction (turning “I like X but hate Y” into separate facts)
- Deduplication (updating existing facts instead of creating duplicates)
- Semantic search (finding “investment preferences” when you stored “conservative strategies”)
Quick start
Tag fields
Memory provides 12 generic indexed tag fields (tag_1 through tag_12) for filtering. You decide what each tag means for your application:
| Use Case | tag_1 | tag_2 | tag_3 | tag_4 |
|---|---|---|---|---|
| Legal | client_id | matter_id | attorney_id | session_id |
| Healthcare | patient_id | encounter_id | provider_id | department |
| E-commerce | customer_id | order_id | product_id | session_id |
| Support | user_id | ticket_id | agent_id | channel |
All tag fields are indexed for fast filtering. Use them for any dimension you need to query by.
Example: Legal application
Categories
Thecategory field is free-form text - you define your own categories. Here are suggested categories for different domains:
Legal categories
| Category | Description | Example |
|---|---|---|
fact | General facts about client/matter | ”Client founded company in 2019” |
preference | Communication or work preferences | ”Client prefers email updates” |
deadline | Filing deadlines, court dates | ”Motion due March 15th” |
decision | Decisions made by client/court | ”Client approved settlement terms” |
contact | Contact information | ”Client’s assistant is Jane (jane@acme.com)“ |
relationship | Relationships between parties | ”Defendant is client’s former business partner” |
court_ruling | Court rulings and precedents | ”Judge denied motion to dismiss” |
procedural | Procedural information | ”Case assigned to Judge Thompson” |
Healthcare categories
| Category | Description |
|---|---|
allergy | Patient allergies |
medication | Current medications |
preference | Treatment preferences |
history | Medical history |
family_history | Family medical history |
social | Social/lifestyle factors |
Filtering by category
Listing memories
Deleting memories
Delete a single memory
Bulk delete by tags
Memory events
When you add memories, the API returns what happened to each extracted fact:| Event | Description |
|---|---|
ADD | New memory created |
UPDATE | Existing memory was updated/merged |
DELETE | Contradicting info caused memory deletion |
NONE | Duplicate - memory already exists |
Direct storage (skip extraction)
To store a fact directly without LLM extraction, setinfer: false:
Custom extraction prompts
For domain-specific extraction, provide a custom prompt:Pricing
| Operation | Cost |
|---|---|
| Add memory | $0.001 per operation |
| Search | $0.001 per operation |
| List/Get/Delete | Free |
LLM usage for fact extraction and embeddings is billed separately through the LLM service at standard rates.
Related services
LLMs
Use memories as context for chat completions
Vault
Store documents, use Memory for extracted facts

