Overview
Organizations let teams share credits, enforce policies, and manage access. Every member inherits org-level settings while keeping their own personal workspace and preferences.
Creating an organization
Create an org from the dashboard at Settings > Organization > Create, or via the API:
curl -X POST https://api.a21e.com/v1/orgs \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "Acme Engineering"}'
{
"id": "org_abc123",
"name": "Acme Engineering",
"slug": "acme-engineering"
}
The creator is automatically assigned the admin role. A slug is generated from the name for URL-friendly references.
Organization creation via API is restricted to web app sessions — API keys cannot create organizations.
Roles
| Role | Permissions |
|---|
| Admin | Full access: manage members, set policies, view audit log, delete org |
| Member | Use org credit pool, inherit org preferences and memories |
Managing members
Invite a member
Admins can invite members by email:
curl -X POST https://api.a21e.com/v1/orgs/{orgId}/admin/members/invite \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"email": "engineer@acme.com", "role": "member"}'
The role field defaults to member if omitted.
List members
curl https://api.a21e.com/v1/orgs/{orgId}/admin/members \
-H "Authorization: Bearer YOUR_API_KEY"
List your organizations
curl https://api.a21e.com/v1/orgs \
-H "Authorization: Bearer YOUR_API_KEY"
Returns all organizations you belong to, including your role in each.
Org policies
Admins can set enforced preferences that override member personal settings:
| Policy | Effect |
|---|
model_tier: economy | Prevents members from using standard/premium models |
risk_tolerance: low | Forces conservative outputs for all members |
auto_execute: false | Requires manual review before execution |
Enforced policies cannot be overridden by individual members or per-request parameters. They take the highest precedence in the context pack assembly hierarchy.
Shared memories
Memories scoped to org are visible to all organization members. Use them for:
- Team coding conventions (“We use kebab-case for URL paths”)
- Architecture decisions (“Our API uses Fastify, not Express”)
- Project context (“The billing service is in
apps/billing”)
Org memories are injected into every request made by any member, alongside their personal and workspace-level memories.
Organization credits
Each org has its own credit pool with subscription_balance and addon_balance, separate from member personal balances. When a member’s personal credits are exhausted, org credits are used (if allowed by policy).
See Credits & Billing for details.
Admin dashboard
The org admin dashboard provides a summary view and audit trail:
# Dashboard summary
curl https://api.a21e.com/v1/orgs/{orgId}/admin \
-H "Authorization: Bearer YOUR_API_KEY"
# Audit log (filterable by date range and event type)
curl "https://api.a21e.com/v1/orgs/{orgId}/admin/audit-log?start_at=2026-01-01&limit=100" \
-H "Authorization: Bearer YOUR_API_KEY"
Deleting an organization
Only admins can delete an organization:
curl -X DELETE https://api.a21e.com/v1/orgs/{orgId} \
-H "Authorization: Bearer YOUR_API_KEY"
Deleting an organization removes all members, shared memories, and credit balances. This action cannot be undone.