Project Memories
Project-scoped knowledge base that agents build up over time. Agents save operational insights during execution that future agents on the same project can recall via full-text search.
Overview
Memories are a project-scoped knowledge base that agents build up over time. During execution, an agent can save an operational insight (a workaround it discovered, an efficient navigation path, a timing requirement) and future agents working on the same project can recall these memories to avoid repeating mistakes.
Each memory has a context (where it applies, like a specific page or flow), content (the actual advice), and a category (workaround, efficient_path, timing, navigation, auth, or general). Memories can also be created and managed via the API, not just by agents.
Recall and deduplication
When an agent recalls memories, the system performs a full-text search across the context and content fields and returns the most relevant active memories. Recall is ranked by relevance and limited to a small number of results to keep the agent's context focused.
When saving, the system checks for duplicates. If an existing memory covers the same context with similar content, it is reconfirmed (its use count increments and staleness resets) rather than creating a duplicate. If the context matches but the content has changed, the old memory is marked stale and the new one takes its place. This keeps the knowledge base current without manual cleanup.
Create a project memory
Creates a new memory or reconfirms an existing one if a duplicate is detected.
Parameters
| Parameter | Type | In | Required | Description |
|---|---|---|---|---|
id | uuid | path | Yes | Project ID |
context | string | body | Yes | Where this applies (page, flow, or UI element) |
content | string | body | Yes | The insight — actionable advice for test runs |
category | string | body | No | One of: workaround, efficient_path, timing, navigation, auth, general |
source | string | body | No | One of: api, chat (default: api) |
Status Codes
| Code | Description |
|---|---|
201 | Memory created |
200 | Existing memory reconfirmed (duplicate detected) |
400 | Validation error |
401 | Unauthorized |
404 | Project not found |
Response Body
{
"id": "019d...",
"project_id": "019c...",
"source": "api",
"category": "timing",
"context": "login page",
"content": "Wait 3s after login for the dashboard spinner to finish",
"status": "active",
"use_count": 0,
"staleness": 0,
"created_at": "2026-03-27T10:00:00Z"
}/api/v1/projects/{id}/memoriesList project memories
Returns memories for a project with cursor-based pagination. Filterable by status, category, and source.
Parameters
| Parameter | Type | In | Required | Description |
|---|---|---|---|---|
id | uuid | path | Yes | Project ID |
status | string | query | No | Filter by status: active, stale, archived |
category | string | query | No | Filter by category |
source | string | query | No | Filter by source: agent, api, chat |
cursor | uuid | query | No | Cursor for pagination |
limit | integer | query | No | Max results (default 50, max 100) (default: 50) |
Status Codes
| Code | Description |
|---|---|
200 | OK |
400 | Invalid parameters |
401 | Unauthorized |
404 | Project not found |
/api/v1/projects/{id}/memoriesGet a project memory
Parameters
| Parameter | Type | In | Required | Description |
|---|---|---|---|---|
id | uuid | path | Yes | Project ID |
mid | uuid | path | Yes | Memory ID |
Status Codes
| Code | Description |
|---|---|
200 | OK |
401 | Unauthorized |
404 | Memory or project not found |
/api/v1/projects/{id}/memories/{mid}Update a project memory
Update status, content, category, or context of a memory.
Parameters
| Parameter | Type | In | Required | Description |
|---|---|---|---|---|
id | uuid | path | Yes | Project ID |
mid | uuid | path | Yes | Memory ID |
status | string | body | No | New status: active, stale, archived |
category | string | body | No | New category |
context | string | body | No | New context |
content | string | body | No | New content |
Status Codes
| Code | Description |
|---|---|
200 | Memory updated |
401 | Unauthorized |
404 | Memory or project not found |
/api/v1/projects/{id}/memories/{mid}Delete a project memory
Parameters
| Parameter | Type | In | Required | Description |
|---|---|---|---|---|
id | uuid | path | Yes | Project ID |
mid | uuid | path | Yes | Memory ID |
Status Codes
| Code | Description |
|---|---|
204 | Memory deleted |
401 | Unauthorized |
404 | Memory or project not found |
/api/v1/projects/{id}/memories/{mid}