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/memories
bash
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

FieldTypeRequiredDescription
project_idUUIDProject UUID
typestringMemory type. See Memory types
titlestringShort title (max 255 chars)
contentstringFull memory content
importanceint 1–10Priority in context. Default: 5
statusstringpending (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

ParameterTypeDescription
project_idUUIDRequired. Project UUID
typestringFilter by memory type
statusstringpending · approved · rejected
per_pageintResults per page. Default: 50, max: 100
pageintPage 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}/tags
POST/api/v1/memories/{id}/tags
bash
# 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}/sources
bash
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"
  }'