# Managing User Roles

Whenever someone is added to an Organization within Airkit, they are assigned a role, each of which comes with its own privileges and limitations. Each person working within an Organization should only be given a single role.

In increasing order of capabilities, these roles are Agent, Developer, and Admin. The document covers the permissions associated with each of these roles.

#### Agents

The Agent role is the most limited role within Airkit. It is primarily given to teammates who need access to data gathered by Airkit applications, but who will not, themselves, be building apps of any kind.

**Agents have permission to:**

* Access [Portals](https://github.com/airkit/airkit-docs/blob/master/docs/v18-0/portal-builder.md) and Console reports
* Read data in Portals
* Edit data in Portals if configured
* Console - My Account

**Agents do not have permission to:**

* Invite other users to the Organization
* Change the roles of existing users
* Access any part of the [Studio](../studio/studio)
* Add or modify [Resources](../../console/console#resources) through the [Console](../console/console)
* Publish applications

#### Developers

The Developer role is given to teammates who will be using Airkit primarily for app creation. It grants permission to access the Studio and all other tools required for app creation, but not to make any changes to the Organization itself.

**Developers have permission to:**

* Access [Portals](https://github.com/airkit/airkit-docs/blob/master/docs/v18-0/portal-builder.md) and console reports
* See a list of all apps built within the organization in question
* Access the [Studio](../studio/studio)
* Add or modify Resources through the [Console](../console/console)
* Publish applications
* Custom roles should be used to determine environment specific access/restrictions

**Developers do not have permission to:**

* Invite other users to the organization
* Change the roles of existing users

#### Admin

The Admin role (previously referred to as the "Owner" role) provides access to everything the Developer role does, in addition to giving permission to make edits to both the Organization and the users. It is possible for a single organization to have multiple Admins, and each organization must have at least one.

**Admins have permission to:**

* Access [Portals](https://github.com/airkit/airkit-docs/blob/master/docs/v18-0/portal-builder.md) and console reports
* See a list of all apps built within the organization in question
* Access the [Studio](../studio/studio)
* Add or modify Resources through the [Console](../console/console)
* Access all [Environments](environments)
* Publish applications
* Invite other users to the organization
* Change the roles of existing users
