Skip to content

Organizations Overview

beginner

Understand how organizations work in Engramma — structure, roles, shared memory spaces, and team collaboration.

What is an organization?

An organization is how teams collaborate on Engramma. It groups members, API keys, billing, and memory spaces under one account.

Organization
├── Members (Admin + Members)
├── API Keys (scoped per purpose)
├── Billing (one plan for the team)
└── Memory Spaces (shared or per-member)

When you need an organization

ScenarioIndividual accountOrganization
Solo developer building a side project
Team of 3+ sharing the same memory space
Company needing centralized billing
Multiple API keys with different scopes
Audit trail for team actions

Creating an organization

import os
from engramma_cloud import EngrammaClient

client = EngrammaClient(api_key=os.environ["ENGRAMMA_API_KEY"])

# Create a new organization
org = client.organizations.create(
    name="Acme Engineering",
    slug="acme-eng"
)

print(f"Org ID: {org.id}")
print(f"Name: {org.name}")
print(f"Slug: {org.slug}")
print(f"Your role: {org.your_role}")  # "admin" (creator is always admin)

Organization structure

Roles

RoleCan doCan't do
AdminManage members, API keys, billing, settings
MemberUse API keys, store/retrieve memories, view usageManage billing, invite/remove members, create API keys

The user who creates the organization is automatically the Admin. You can have multiple Admins.

API Keys

Each organization can have multiple API keys with different scopes:

Key typeScopeUse case
ProductionFull read/writeProduction application
Read-onlyRetrieve onlyAnalytics dashboards
DevelopmentFull, rate-limitedDevelopment and testing

Billing

Billing is at the organization level. One plan covers all members and API keys. Usage from all keys counts toward the organization's tier limits.

Viewing your organizations

# List organizations you belong to
orgs = client.organizations.list()

for org in orgs:
    print(f"{org.name} ({org.slug})")
    print(f"  Role: {org.your_role}")
    print(f"  Members: {org.member_count}")
    print(f"  Plan: {org.plan}")

Organization vs. personal account

FeaturePersonalOrganization
API keys1Unlimited
Members1Unlimited (plan-dependent)
BillingIndividualCentralized
Memory isolationYour data onlyShared space + metadata filtering
Audit logBasicFull team audit trail
Webhooks3 maxUnlimited
Tip

You can use both. Keep a personal account for side projects and create an organization for team work. Your personal API key is separate from organization API keys.

Next steps