Members & Roles
beginnerManage team members in your organization — invite, assign roles, change permissions, and remove members.
Roles at a glance
| Permission | Admin | Member |
|---|---|---|
| Store/retrieve memories | ✓ | ✓ |
| View usage stats | ✓ | ✓ |
| Use explain/consolidate | ✓ | ✓ |
| Create API keys | ✓ | — |
| Invite/remove members | ✓ | — |
| Change member roles | ✓ | — |
| Manage billing | ✓ | — |
| Configure webhooks | ✓ | — |
| Delete organization | ✓ | — |
Inviting members
import os
from engramma_cloud import EngrammaClient
client = EngrammaClient(api_key=os.environ["ENGRAMMA_API_KEY"])
# Invite a new member (sends an email invitation)
invitation = client.organizations.invite(
org_id="org_abc123",
email="[email protected]",
role="member"
)
print(f"Invitation sent to {invitation.email}")
print(f"Status: {invitation.status}") # "pending"
print(f"Expires: {invitation.expires_at}")The invited user receives an email with a link to accept. Once accepted, they can immediately use the organization's API keys.
Listing members
# List all members and pending invitations
members = client.organizations.members(org_id="org_abc123")
for member in members:
status = "active" if member.accepted else "pending"
print(f"{member.email} — {member.role} ({status})")
# Output:
# [email protected] — admin (active)
# [email protected] — member (active)
# [email protected] — member (pending)Changing roles
# Promote a member to admin
client.organizations.update_member(
org_id="org_abc123",
member_id="mem_xyz789",
role="admin"
)
# Demote an admin to member
client.organizations.update_member(
org_id="org_abc123",
member_id="mem_xyz789",
role="member"
)You cannot demote yourself if you're the last admin. At least one admin must always exist in the organization.
Removing members
# Remove a member from the organization
client.organizations.remove_member(
org_id="org_abc123",
member_id="mem_xyz789"
)
# Cancel a pending invitation
client.organizations.cancel_invitation(
org_id="org_abc123",
invitation_id="inv_def456"
)When a member is removed:
- Their personal account remains active (they keep their own data)
- They lose access to the organization's memory space
- Any API keys they personally created are revoked
- Their past actions remain in the audit log
Best practices
-
Start with the least privilege — Invite as Member first. Promote to Admin only when needed.
-
Multiple admins — Have at least 2 admins. If one leaves, you still have access to billing and settings.
-
Use API keys, not personal tokens — Members should use organization API keys in their applications, not their personal keys. This ensures data stays in the org.
-
Review members quarterly — Remove inactive members and revoke unnecessary access. The audit log shows who's active.
Member limits depend on your plan. Free and Starter tiers support up to 3 members. Professional and Enterprise support unlimited members.
Next steps
- API Keys — Create scoped keys for your team
- Billing Management — Manage your team's plan
- Organizations Overview — Back to the big picture