Memories
Memories are the atomic unit of knowledge in SoluCortex. Each memory represents a decision, state, risk or learning from a project.
Create a memory
POST
/api/v1/memoriesbash
curl -s -X POST "$SOLUCORTEX_URL/api/v1/memories" \
-H "Authorization: Bearer $SOLUCORTEX_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"project_id": "'"$SOLUCORTEX_PROJECT_ID"'",
"type": "decision",
"title": "Use pgvector for semantic search",
"content": "pgvector was chosen over external vector solutions to keep the database unified and reduce infrastructure dependencies.",
"importance": 8
}'
Fields
| Field | Type | Required | Description |
|---|---|---|---|
project_id | UUID | ✅ | Project UUID |
type | string | ✅ | Memory type. See Memory types |
title | string | ✅ | Short title (max 255 chars) |
content | string | ✅ | Full memory content |
importance | int 1–10 | — | Priority in context. Default: 5 |
status | string | — | pending (default) · approved · rejected |
Memories created via API key are auto-approved (
status: approved) and their embedding is generated automatically in the background.
List memories
GET
/api/v1/memories?project_id=<uuid>bash
curl -s "$SOLUCORTEX_URL/api/v1/memories?project_id=$SOLUCORTEX_PROJECT_ID" \
-H "Authorization: Bearer $SOLUCORTEX_API_KEY" \
-H "Accept: application/json"
Query parameters
| Parameter | Type | Description |
|---|---|---|
project_id | UUID | Required. Project UUID |
type | string | Filter by memory type |
status | string | pending · approved · rejected |
per_page | int | Results per page. Default: 50, max: 100 |
page | int | Page number. Default: 1 |
The response includes pagination metadata in meta and navigation links in links:
json
{
"data": [ ... ],
"links": {
"first": "https://…/api/v1/memories?page=1",
"last": "https://…/api/v1/memories?page=4",
"prev": null,
"next": "https://…/api/v1/memories?page=2"
},
"meta": {
"current_page": 1,
"last_page": 4,
"per_page": 50,
"total": 183
}
}
View a memory
GET
/api/v1/memories/{id}bash
curl -s "$SOLUCORTEX_URL/api/v1/memories/$MEMORY_ID" \
-H "Authorization: Bearer $SOLUCORTEX_API_KEY" \
-H "Accept: application/json"
Update a memory
PATCH
/api/v1/memories/{id}bash
curl -s -X PATCH "$SOLUCORTEX_URL/api/v1/memories/$MEMORY_ID" \
-H "Authorization: Bearer $SOLUCORTEX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"importance": 9,
"content": "Updated content with more detail..."
}'
Tags
GET
/api/v1/memories/{id}/tagsPOST
/api/v1/memories/{id}/tagsbash
# Add tag
curl -s -X POST "$SOLUCORTEX_URL/api/v1/memories/$MEMORY_ID/tags" \
-H "Authorization: Bearer $SOLUCORTEX_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "name": "security" }'
Sources
Reference where a memory comes from (GitHub commit, Notion page, URL, etc.)
POST
/api/v1/memories/{id}/sourcesbash
curl -s -X POST "$SOLUCORTEX_URL/api/v1/memories/$MEMORY_ID/sources" \
-H "Authorization: Bearer $SOLUCORTEX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"type": "git",
"url": "https://github.com/org/repo/commit/abc123",
"description": "Commit where the fix was implemented"
}'