Overview
Organizations are the top-level tenant entity in Mission Control. Every resource (boards, agents, gateways, tasks) belongs to an organization. Organizations provide:- Multi-tenancy: Isolated data and resources per organization
- Access control: Role-based membership with owner/admin/member roles
- Resource governance: Organization-level policies and limits
- Team collaboration: Multiple users can belong to the same organization
Data Model
Organization Table
Location:backend/app/models/organizations.py
id- Unique identifier (UUID)name- Human-readable organization name (indexed)created_at- Timestamp when organization was createdupdated_at- Timestamp of last modification
Organization Member Table
Location:backend/app/models/organization_members.py
(organization_id, user_id) - A user can be a member of an organization only once.
Membership Roles
Mission Control uses three role levels:Owner
- Full administrative access
- Can delete organization
- Can manage all members
- Can invite new members
- Can create/delete gateways
- Can create/delete agents
- Can access all boards
- Typically the organization creator
Admin
- Administrative access (same as owner)
- Cannot delete the organization
- Can manage members
- Can invite new members
- Can create/delete gateways
- Can create/delete agents
- Can access all boards
Member
- Standard user access
- Can view and create boards
- Can view and create tasks
- Cannot access agent management
- Cannot access gateway management
- Board access controlled by board permissions
Role Check Logic
Frontend code:API Endpoints
Base path:/api/v1/organizations
List Organizations
Create Organization
Get Organization
Update Organization
Delete Organization
- Deletes all associated boards
- Deletes all associated tasks
- Deletes all associated agents
- Deletes all associated gateways
- Removes all membership records
Get Current User’s Membership
role field is used throughout the UI to control access:
isAdmin = role === "owner" || role === "admin"- If
!isAdmin, hide agent/gateway management pages
List Organization Members
Add Member
Remove Member
Send Invitation
Relationships
Database Queries
Find User’s Organizations
Check User Role
Count Organization Resources
Frontend Usage
Check Admin Access
Protect Admin Routes
Best Practices
1. Organization Creation
- Create one organization per team or project
- Use descriptive organization names
- Assign at least two owners for backup
2. Membership Management
- Use “member” role by default
- Grant “admin” only when needed
- Regularly audit member list
- Remove inactive members
3. Role Assignment
- Owner: Team leads, project managers
- Admin: Senior engineers, operations leads
- Member: Developers, analysts
4. Resource Governance
- Set reasonable
max_agentslimits per board - Monitor organization resource usage
- Use board groups to organize related boards
Common Workflows
New Team Setup
- Create organization:
POST /api/v1/organizations - Invite team members:
POST /api/v1/organizations/{id}/invites - Create gateway:
POST /api/v1/gateways - Create first board:
POST /api/v1/boards
Member Onboarding
- Admin sends invite:
POST /api/v1/organizations/{id}/invites - User accepts invite (creates membership)
- User completes profile (name, timezone)
- User gains access to organization resources
Access Control Update
- Admin reviews member list:
GET /api/v1/organizations/{id}/members - Update member role if needed:
PATCH /api/v1/organizations/{id}/members/{user_id} - Or remove member:
DELETE /api/v1/organizations/{id}/members/{user_id}
Troubleshooting
”Only organization owners and admins can access agents”
Cause: User has “member” role Solution:- Check role:
GET /api/v1/organizations/me/member - If member, contact admin to upgrade role
- If admin/owner, check CORS configuration and token
Cannot Create Organization
Cause: Usually authentication issue Solution:- Verify token:
GET /api/v1/users/me - Check auth mode:
AUTH_MODE=localrequiresLOCAL_AUTH_TOKEN - Ensure onboarding complete (name + timezone set)
Member Not Seeing Resources
Cause: Organization-scoped queries filter by membership Solution:- Verify membership:
GET /api/v1/organizations/{id}/members - Check board permissions:
all_boards_reador explicit board access - Review activity logs for access denial events
Related Concepts
- Boards - Organization-scoped workspaces
- Agents - Managed by organization admins
- Gateways - Organization-level integration
- Architecture - System design and auth model