Authentication & roles
- All endpoints use bearer authentication with API keys from Dashboard → API Keys.
- Contributor keys can write and recall memories.
- Manager keys are required for
/api/Memory/deleteand/api/Memory/export.
Writing memories
POST https://app.recallio.ai/api/Memory/write
| Field | Type | Required | Notes |
|---|---|---|---|
userId | string | ✅ | Unique identifier for the subject of the memory. |
projectId | string | Optional | Scope to an environment or property. Omit for org-wide memories. |
content | string | ✅ | Plain text or JSON string describing the fact. Limited to 30 KB. |
tags | string[] | Optional | Categorize memories for filtering. |
metadata | object | Optional | Any JSON metadata (for example source system, timestamp). |
consentFlag | boolean | ✅ | Must be true to persist the memory. |
202 Accepted while the embedding job runs asynchronously. Re-sending the same fact updates it.
Tuning recall queries
POST https://app.recallio.ai/api/Memory/recall
- Body fields (schema
MemoryRecallRequest):userId(required)projectId(required whenscopeisprojectorteam)scope— useuser,project, orteamquery— natural language search phrase (use*wildcard to fetch everything)tags— optional array to narrow the search
- Query parameters:
summarized— include generated summary per memory (defaults tofalse)reRank— apply an LLM reranker when many records matchtype— choose betweenfacts(default) andrawsimilarityThreshold— float between 0 and 1; increase to narrow resultslimit— number of memories to return (default10)
MemoryWithScoreDto that includes the text, tags, metadata, and a cosine similarity score.
Summaries and topic discovery
/api/Memory/recall-summaryprovides an aggregated narrative of all memories that match the scope and tags. Use it to populate agent briefing cards./api/Memory/recall-topicssurfaces the taxonomy Recallio derived from the same dataset, grouped by topic and subtopic.
MemoryRecallRequest; the summary response (SummarizedMemoriesDto) includes content and numberOfMemories, while topics return a TopicsDto payload suitable for UI filters.
Administrative operations
Delete memories
DELETE https://app.recallio.ai/api/Memory/delete
- Body schema
MemoryDeleteRequestrequiresscope(one ofuser,project,team). - Provide
userIdand/orprojectIddepending on the scope. - Requires a Manager key.
Export memories
GET https://app.recallio.ai/api/Memory/export
| Parameter | Required | Description |
|---|---|---|
Type | ✅ | fact, summary, or raw |
Format | ✅ | json or csv |
UserId | Optional | Filter to a single user |
ProjectId | Optional | Filter to a project |
StartDate / EndDate | Optional | ISO-8601 timestamps to bound the export |
Error handling
400 Bad Request— malformed body, missing required fields, or payload size limits. Inspect theErrorReturnClassresponse for details.401 Unauthorized— bearer token missing, expired, or lacking the necessary role.403 Forbidden— attempting admin endpoints with a non-Manager key.5xx— transient server error; retry with exponential backoff.
Best practices
- Normalize identifiers — consistently prefix
userId(resident-,agent-) to make deletions and exports predictable. - Tag thoughtfully — tags power both filtering and topic extraction; align on a shared taxonomy.
- Capture metadata — store source systems, timestamps, or consent references in
metadatafor audits. - Use thresholds — start with
similarityThresholdat0.3and adjust upward for precision-critical experiences. - Automate lifecycle — schedule exports and run scoped deletions when residents churn.

