| title | team resource type |
|---|---|
| description | A team in Microsoft Teams is a collection of channels. |
| author | AkJo |
| ms.localizationpriority | high |
| ms.subservice | teams |
| doc_type | resourcePageType |
| ms.date | 10/17/2024 |
Namespace: microsoft.graph
[!INCLUDE beta-disclaimer]
A team in Microsoft Teams is a collection of channel objects. A channel represents a topic, and therefore a logical isolation of discussion, within a team.
Every team is associated with a Microsoft 365 group. The group has the same ID as the team - for example, /groups/{id}/team is the same as /teams/{id}. For more information about working with groups and members in teams, see Use the Microsoft Graph REST API to work with Microsoft Teams.
| Method | Return Type | Description |
|---|---|---|
| Create | teamsAsyncOperation | Create a team from scratch. |
| Create team from group | team | Create a new team, or add a team to an existing Microsoft 365 group. |
| Get | team | Retrieve the properties and relationships of the specified team. |
| Update | team | Update the properties of the specified team. |
| Delete | None | Delete the team and its associated group. |
| List members | conversationMember collection | Get the list of members in the team. |
| Add member | conversationMember | Add a new member to the team. |
| Add members in bulk | actionResultPart collection | Add multiple members to the team in a single request. |
| Get member | conversationMember collection | Get a member in the team. |
| Get primary channel | channel | The general channel for the team. |
| Update member | conversationMember | Change a member to an owner or back to a regular member. |
| Remove member | None | Remove an existing member from the team. |
| Remove members in bulk | actionResultPart collection | Remove multiple members from a team in a single request. |
| Archive team | teamsAsyncOperation | Put the team in a read-only state. |
| Unarchive team | teamsAsyncOperation | Restore the team to a read-write state. |
| Clone team | teamsAsyncOperation | Copy the team and its associated group. |
| List your teams | team collection | List the teams you're a member of. |
| List your associated teams | associatedTeamInfo collection | Get the list of associatedTeamInfo objects in Microsoft Teams that a user is associated with. |
| List all teams in an organization | team collection | List all teams in an organization. |
| Get team photo | Binary data | Get the photo (picture) for a team. |
| Complete migration for team | team | Removes migration mode from the team and makes the team available to users to post and read messages. |
| List all channels | channel collection | Get the list of channels either in this team or shared with this team (incoming channels). |
| List channels | channel collection | Get the list of channels in a team. |
| List incoming channels | channel collection | Get the list of channels shared with this team. |
| Remove incoming channel | None | Remove an incoming channel (a channel shared with a team) from a team. |
| List apps in team | teamsAppInstallation collection | List apps installed in a team. |
| Add app to team | None | Add (install) an app to a team. |
| Get app installed in team | teamsAppInstallation | Get the specified app installed in a team. |
| Upgrade app installed in team | None | Upgrade the app installed in a team to the latest version. |
| Remove app from team | None | Remove (uninstall) an app from a team. |
| List permission grants | resourceSpecificPermissionGrant collection | List permissions granted to apps to access the team. |
| Get open shifts across all joined teams | openShift collection | Get all openShift objects across all teams a user is a direct member of. |
| Get shifts across all joined teams | shift collection | Get all shift objects across all teams a user is a direct member of. |
| Get times off across all joined teams | timeOff collection | Get all timeOff objects across all teams a user is a direct member of. |
| Property | Type | Description |
|---|---|---|
| classSettings | teamClassSettings | Configure settings of a class. Available only when the team represents a class. |
| classification | string | An optional label. Typically describes the data or business sensitivity of the team. Must match one of a pre-configured set in the tenant's directory. |
| createdDateTime | dateTimeOffset | Timestamp at which the team was created. |
| description | string | An optional description for the team. Maximum length: 1,024 characters. |
| discoverySettings | teamDiscoverySettings | Settings to configure team discoverability by others. |
| displayName | string | The name of the team. |
| firstChannelName | String | The name of the first channel in the team. This is an optional property, only used during team creation and isn't returned in methods to get and list teams. |
| funSettings | teamFunSettings | Settings to configure the use of Giphy, memes, and stickers in the team. |
| guestSettings | teamGuestSettings | Settings to configure whether guests can create, update, or delete channels in the team. |
| id | string | The unique identifier of the team. The group has the same ID as the team. This property is read-only, and is inherited from the base entity type. |
| internalId | string | A unique ID for the team used in a few places such as the audit log/Office 365 Management Activity API. |
| isArchived | Boolean | Whether this team is in read-only mode. |
| isMembershipLimitedToOwners | Boolean | If set to true, the team is currently in the owner-only team membership state and inaccessible by other team members, such as students. |
| memberSettings | teamMemberSettings | Settings to configure whether members can perform certain actions, for example, create channels and add bots, in the team. |
| messagingSettings | teamMessagingSettings | Settings to configure messaging and mentions in the team. |
| specialization | teamSpecialization | Optional. Indicates whether the team is intended for a particular use case. Each team specialization has access to unique behaviors and experiences targeted to its use case. |
| summary | teamSummary | Contains summary information about the team, including the number of owners, members, and guests. |
| tenantId | string | The ID of the Microsoft Entra tenant. |
| visibility | teamVisibilityType | The visibility of the group and team. Defaults to Public. |
| webUrl | string (readonly) | A hyperlink that goes to the team in the Microsoft Teams client. It's the URL you get when you right-click a team in the Microsoft Teams client and select Get link to team. This URL should be treated as an opaque blob, and not parsed. |
Instance attributes are properties with special behaviors. These properties are temporary and either a) define behavior the service should perform or b) provide short-term property values, like a download URL for an item that expires.
| Property name | Type | Description |
|---|---|---|
| @microsoft.graph.teamCreationMode | string | Indicates that the team is in a migration state and is currently being used for migration purposes. It accepts one value: migration. Note: In the future, Microsoft may require you or your customers to pay additional fees based on the amount of data imported. |
For a POST request example, see Request (create team in migration state).
| Relationship | Type | Description |
|---|---|---|
| allChannels | channel collection | List of channels either hosted in or shared with the team (incoming channels). |
| channels | channel collection | The collection of channels and messages associated with the team. |
| incomingChannels | channel collection | List of channels shared with the team. |
| installedApps | teamsAppInstallation collection | The apps installed in this team. |
| members | conversationMember collection | Members and owners of the team. |
| owners | user | The list of this team's owners. Currently, when creating a team using application permissions, exactly one owner must be specified. When using user-delegated permissions, no owner can be specified (the current user is the owner). The owner must be specified as an object ID (GUID), not a UPN. |
| operations | teamsAsyncOperation collection | The async operations that ran or are running on this team. |
| photo | profilePhoto | The team photo. |
| primaryChannel | channel | The general channel for the team. |
| schedule | schedule | The schedule of shifts for this team. |
| template | teamsTemplate | The template this team was created from. See available templates. |
| templateDefinition | teamtemplatedefinition | Generic representation of a team template definition for a team with a specific structure and configuration. |
| permissionGrants | resourceSpecificPermissionGrant collection | A collection of permissions granted to apps to access the team. |
| tags | teamworkTag collection | The tags associated with the team. |
The following JSON representation shows the resource type.
Note: If the team is of type class, a classSettings property is applied on the team.
{
"classSettings": {"@odata.type": "microsoft.graph.teamClassSettings"},
"classification": "String",
"createdDateTime": "DateTimeOffset",
"description": "String",
"discoverySettings": {"@odata.type": "microsoft.graph.teamDiscoverySettings"},
"displayName": "String",
"firstChannelName": "String",
"funSettings": {"@odata.type": "microsoft.graph.teamFunSettings"},
"guestSettings": {"@odata.type": "microsoft.graph.teamGuestSettings"},
"id": "String (identifier)",
"internalId": "String",
"isArchived": "Boolean",
"isMembershipLimitedToOwners": "Boolean",
"memberSettings": {"@odata.type": "microsoft.graph.teamMemberSettings"},
"messagingSettings": {"@odata.type": "microsoft.graph.teamMessagingSettings"},
"specialization": "String",
"summary": {"@odata.type": "microsoft.graph.teamSummary"},
"tenantId": "String",
"visibility": "String",
"webUrl": "String (URL)"
}