Skip to content

Members & Roles

beginner

Manage team members in your organization — invite, assign roles, change permissions, and remove members.

Roles at a glance

PermissionAdminMember
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"
)
Warning

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

  1. Start with the least privilege — Invite as Member first. Promote to Admin only when needed.

  2. Multiple admins — Have at least 2 admins. If one leaves, you still have access to billing and settings.

  3. 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.

  4. Review members quarterly — Remove inactive members and revoke unnecessary access. The audit log shows who's active.

Info

Member limits depend on your plan. Free and Starter tiers support up to 3 members. Professional and Enterprise support unlimited members.

Next steps