Skip to main content

What profiles are

Profiles are a convenience layer over memory. Instead of running multiple search calls to gather broad context, call a single endpoint:
GET /api/memories/profile
This returns a pre-aggregated snapshot of the user’s knowledge base, useful for bootstrapping context at the start of a session.

Profile sections

The response has two sections:
SectionContentsSource
staticStable preferences and factsOlder memories with category preference or fact
dynamicRecent contextMemories from the last 14 days across all categories
{
  "static": [
    "Prefers TypeScript over JavaScript",
    "Uses macOS with VS Code",
    "Likes dark mode"
  ],
  "dynamic": [
    "Working on e-commerce checkout flow",
    "Chose Stripe for payment processing"
  ]
}

When to use profiles

Profiles work well for:
  • Application startup — load broad user context in a single call
  • Personalization — tailor content or UI based on known preferences
  • Content generation — provide a persona or style guide derived from memory
  • Support systems — give agents background before the user explains anything
ProfileSearch
Use caseBroad contextSpecific retrieval
QueryNone (returns everything relevant)Natural language query
ResultsTwo arrays of stringsRanked memory objects with relevance scores
CachingCached for performanceAlways fresh
Use profiles for “who is this user?” and search for “what did they decide about X?”.

Scoping by project

Pass a project query parameter to get profile context scoped to a specific project:
GET /api/memories/profile?project=memcontext
This returns only memories tagged with that project.