Skip to main content
Spaces are isolated containers for organizing memories. Each space maintains its own knowledge graph, ensuring complete data separation.

What is a Space?

A Space provides:
  • Complete isolation: memories never cross space boundaries
  • Independent knowledge graphs per space
  • Flexible organization for any use case

Organization patterns

By user

Space: user_alice_123
├── Preferences and settings
├── Conversation history
└── Personal knowledge

Space: user_bob_456
├── Preferences and settings
├── Conversation history
└── Personal knowledge

By feature

Space: chat_history
└── All conversation turns

Space: user_preferences
└── Settings and configurations

Space: knowledge_base
└── Product documentation

By environment

Space: prod_app
└── Production data

Space: dev_testing
└── Test data

Space: staging
└── Staging data

Create and manage spaces

# Create
response = client.spaces.create(
    name="My Application",
    description="Main memory space"
)
space_id = response.space.id

# List
response = client.spaces.list()
for space in response.spaces:
    print(f"{space.name}: {space.id}")

# Delete
client.spaces.delete(space_id=space_id)
Deleting a space permanently removes all memories, files, and knowledge graphs. This cannot be undone.

Best practices

  • Use descriptive names
  • Plan your isolation strategy early
  • One space per user for privacy
  • Don’t over-partition (avoid one space per conversation)
  • Clean up unused spaces regularly

Next steps

Memories

Add and manage memories

Knowledge Graphs

Build connected knowledge

SDK: Spaces

SDK documentation