Two layers of access
MeshAgent has two related but different permission layers:- Project roles decide who can administer and operate project-level resources.
- Room grants decide who can access a specific room and which Room APIs they can use there.
- project roles answer “what can this person manage across the project?”
- room grants answer “what can this person or service do inside this room?”
Common project roles
MeshAgent has a default Member role, plus stronger project membership presets such as Room Creator, Developer, and Admin. This page is ordered from least access to most access.Member
Member is the default project collaborator role. Use this when someone should be part of the project without extra project-wide privileges such as developer access, admin access, or room-creation privileges.Room Creator
Room Creator is a limited project role for collaborators who mainly need to create rooms. Use this when someone should be able to:- create new rooms
- organize work into separate rooms
Developer
Developers are for people building and operating workloads without giving them full project administration. Use this role when someone needs to:- build and test in project rooms
- deploy and manage services
- perform operational tasks such as mailbox creation
- work in MeshAgent Studio and the CLI without managing the whole project
Admin
Admins have full project-level control. Use this role when someone needs to:- manage members and role assignments
- edit project settings
- manage secrets, billing, domains, and other project-wide resources
- deploy and manage services across the project
How project roles map to the API
In the admin API and SDKs, project membership is controlled with three flags:is_adminis_developercan_create_rooms
How room grants and tokens fit in
Project roles and room access are related, but they are not the same thing.- Project role decides what someone can manage across the project.
- Room grant decides what someone can do inside a specific room.
- Participant token is the signed credential MeshAgent issues for an active room connection.
- A room grant stores the room-specific permissions.
- When MeshAgent creates a room connection for that person or service, it signs a participant token.
- That participant token carries the room-level API permissions used during the session.
Practical mental model
Use this rule of thumb:- If the question is about members, billing, domains, secrets, API keys, or project-wide services, think project role.
- If the question is about joining a room, using Room APIs, or limiting what a participant can do inside a room, think room grant and participant token scope.
- a project role that lets them create rooms
- a room grant that lets them access a specific room and use its APIs
Where to manage roles
- MeshAgent Studio: use the Members tab for day-to-day role assignment.
- REST API / SDKs: use the project user-management endpoints such as
POST /accounts/projects/:id/usersandPUT /accounts/projects/:id/users/:user_id, or the matching SDK helpers, when provisioning or syncing access from your own systems.