Roles & Permissions (RBAC)
thinnestAI uses Role-Based Access Control (RBAC) to manage who can do what on your platform. Assign roles to team members, and each role grants specific permissions for agents, billing, knowledge, and more.How RBAC Works
- Users are members of your organization.
- Roles are named collections of permissions (e.g., “Admin”, “Agent Builder”, “Viewer”).
- Permissions are granular access rights (e.g.,
agents:write,billing:read). - When a user makes a request, the system checks if their role(s) include the required permission.
Built-in Roles
Permission Format
Permissions follow the patternresource:action:
Managing Roles
From the Dashboard
- Navigate to Settings > Team.
- Click on a team member to view their role.
- Use the role dropdown to change their role.
- Changes take effect immediately.
Inviting Team Members
- Go to Settings > Team > Invite.
- Enter the email address.
- Select a role.
- Click Send Invitation.
Organizations & Projects
RBAC integrates with the organization and project structure:Organizations
An organization is the top-level container for your team. All agents, knowledge, and billing belong to an organization.Projects
Projects are subgroups within an organization for organizing work:Resource-Scoped Permissions
Permissions can be scoped to specific resources:- Organization-wide — Access to all resources in the org (default)
- Project-scoped — Access only to resources within a specific project
- Agent-scoped — Access only to a specific agent
agents:write scoped to a single project, not the entire organization.
API Access with RBAC
All API endpoints enforce RBAC. If a user’s token doesn’t have the required permission, the API returns403 Forbidden:
Checking Permissions
The current user’s permissions are included in their profile:Best Practices
- Principle of least privilege — Give users the minimum permissions they need.
- Use Viewer role for stakeholders — Business users who need to see analytics but not change configs.
- Use Agent Builder for developers — Can build and test without access to billing or team management.
- Regularly audit roles — Review who has what access, especially after team changes.
- Use projects for isolation — Separate client work or departments into projects with scoped access.

