> ## Documentation Index
> Fetch the complete documentation index at: https://discord-markm-docs-lobby-membership-disconnect.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Managing Your Developer Team

> Learn how to create and manage developer teams for collaborative development.

export const ManualAnchor = ({id}) => {
  return <div className="MDXManualAnchor" id={id}></div>;
};

Teams are groups of developers (or other Discord users) who want to collaborate and share access to an app's configuration, management, and payout settings. Go team(s)!

## Creating a Team

To create or be a member on a team, you must [enable 2FA for your Discord account](https://support.discord.com/hc/en-us/articles/219576828-Setting-up-Two-Factor-Authentication). After you have 2FA enabled, create a team by navigating to the [Teams page](https://discord.com/developers/teams) then clicking the "New Team" button.

<img src="https://mintcdn.com/discord-markm-docs-lobby-membership-disconnect/ukbPgS5oKptvxxLU/images/team-page.png?fit=max&auto=format&n=ukbPgS5oKptvxxLU&q=85&s=87a4b627c6a1deeee1f4d0f5c5dd52e9" alt="Screenshot of the Teams page" width="2600" height="1774" data-path="images/team-page.png" />

Once you create a team, you'll land on the **Team Information** page where you can fill out details and start inviting other Discord users to join your team. Since users added to a team have access to any apps that team owns, use caution when adding new team members.

<Info>
  Only the team Owner and team Admins can invite or remove additional users.
</Info>

## Adding Apps to a Team

Once your team is set up, you can create or transfer apps that will be owned by the team. Teams can have a maximum of 75 apps.

### Creating an App

To create a new app that belongs to a team, select the team from the **Team** dropdown in the app creation modal. If you want to keep the app under your own account's ownership, choose `Personal`:

<img src="https://mintcdn.com/discord-markm-docs-lobby-membership-disconnect/MXDLwy4pCNDMm72Q/images/create-team-owned-app.png?fit=max&auto=format&n=MXDLwy4pCNDMm72Q&q=85&s=171e386f59fd08b8f4d04d17beef769e" alt="Screenshot of the create application modal with a Team selected" width="2002" height="1016" data-path="images/create-team-owned-app.png" />

### Transferring an App

To transfer an existing app to a team, navigate to the [Application](https://discord.com/developers/applications) that you want to transfer. At the bottom of the app's [**General Information** page](https://discord.com/developers/applications/select/information), click "Transfer App to Team".

<Danger>
  Once an app has been transferred to a team, it *cannot* be transferred back.
</Danger>

<img src="https://mintcdn.com/discord-markm-docs-lobby-membership-disconnect/ukbPgS5oKptvxxLU/images/transfer-app-to-team.png?fit=max&auto=format&n=ukbPgS5oKptvxxLU&q=85&s=93bfcb9a4bec239a60318b4dfd0b5a65" alt="Screenshot of where to find the button to transfer an Application to a team" width="2364" height="1952" data-path="images/transfer-app-to-team.png" />

## Team Member Roles

Team members can be one of four roles (owner, admin, developer, and read-only), and each role inherits the access of those below it. Roles for team members can be configured under **Team Members** in a team's settings.

<ManualAnchor id="team-member-roles-team-member-role-types" />

###### Team Member Role Types

| Role Name | Value | Description |
| - | - | - |
| Owner\* | | Owners are the most permissible role, and can take destructive, irreversible actions like deleting team-owned apps or the team itself. Teams are limited to 1 owner. |
| Admin | admin | Admins have similar access as owners, except they cannot take destructive actions on the team or team-owned apps. |
| Developer | developer | Developers can access information about team-owned apps, like the client secret or public key. They can also take limited actions on team-owned apps, like configuring interaction endpoints or resetting the bot token. Members with the Developer role *cannot* manage the team or its members, or take destructive actions on team-owned apps. |
| Read-only | read\_only | Read-only members can access information about a team and any team-owned apps. Some examples include getting the IDs of applications and exporting payout records. Members can also invite bots associated with team-owned apps that are marked private. |

\* The owner role is not represented in the `role` field on the [team member object](/developers/topics/teams#data-models-team-member-object). Instead, the `owner_user_id` field  on the [team object](/developers/topics/teams#data-models-team-object) should be used to identify which user has the owner role for the team.

## Data Models

<ManualAnchor id="data-models-team-object" />

###### Team Object

| field | type | description |
| - | - | - |
| icon | ?string | Hash of the image of the team's icon |
| id | snowflake | Unique ID of the team |
| members | array of [team member](/developers/topics/teams#data-models-team-member-object) objects | Members of the team |
| name | string | Name of the team |
| owner\_user\_id | snowflake | User ID of the current team owner |

<ManualAnchor id="data-models-team-member-object" />

###### Team Member Object

| field | type | description |
| - | - | - |
| membership\_state | integer | User's [membership state](/developers/topics/teams#data-models-membership-state-enum) on the team |
| team\_id | snowflake | ID of the parent team of which they are a member |
| user | [user](/developers/resources/user#user-object) object | User object of the team member |
| role | string | [Role](/developers/topics/teams#team-member-roles-team-member-role-types) of the team member |

<ManualAnchor id="data-models-membership-state-enum" />

###### Membership State Enum

| name | value |
| - | - |
| INVITED | 1 |
| ACCEPTED | 2 |
