Groups
Group graphs hold shared knowledge that doesn't belong to a single user. Same storage shape as user graphs — only the addressing differs.
When to use a group
User graphs hold facts about a person. Group graphs hold facts about the world — your product, your policies, your team's playbook. The same memory can be retrieved alongside a user's personal memories at search time, by passing both users and groups in the search request.
Default group
default group graph. Ingest calls without an explicit group or userId land here. You can't delete it — it's the fallback target./v1/groupsCreate a named group graph in the authenticated project.
Request
interface CreateGroupRequest {
name: string; // lowercase alphanumeric + - or _, max 64 chars
description?: string;
}Response (201)
{
"id": "grph_01HXY...",
"name": "policies",
"description": "Company policy and benefits docs.",
"createdAt": "2026-05-17T12:00:00Z"
}Curl
curl -X POST "$MEMOS_URL/v1/groups" \
-H "Authorization: Bearer $MEMOS_KEY" \
-H "Content-Type: application/json" \
-d '{ "name": "policies", "description": "Company handbook + benefits." }'Creating a group with a name that already exists returns 409 with codeGROUP_EXISTS.
/v1/groupsList every group graph in the project.
{
"groups": [
{
"id": "grph_...",
"name": "default",
"description": null,
"createdAt": "...",
"stats": { "memories": 142, "entities": 88 }
},
{
"id": "grph_...",
"name": "policies",
"description": "...",
"createdAt": "...",
"stats": { "memories": 31, "entities": 12 }
}
]
}/v1/groups/:nameGet one group with detailed stats.
{
"id": "grph_...",
"name": "policies",
"description": "Company handbook + benefits.",
"createdAt": "...",
"stats": {
"memories": 31,
"entities": 12,
"ingestionJobs": 8
}
}/v1/groups/:nameDelete a group + cascade every memory, entity, and edge it holds. Thedefault group cannot be deleted via this endpoint.
{ "deleted": true, "name": "policies" }Targeting a group on ingest
curl -X POST "$MEMOS_URL/v1/memory/add" \
-H "Authorization: Bearer $MEMOS_KEY" \
-H "Content-Type: application/json" \
-d '{
"content": "All employees get 21 days of paid leave per year.",
"group": "policies"
}'Multi-graph search
Search composes across user + group graphs additively. Use["*"] in groups to scan every group graph in the project at once:
curl -X POST "$MEMOS_URL/v1/memory/search" \
-H "Authorization: Bearer $MEMOS_KEY" \
-H "Content-Type: application/json" \
-d '{
"q": "How many leave days do I have?",
"projectTags": ["hr-bot"],
"users": ["user_clerk_abc"],
"groups": ["policies"]
}'