ESC
Type to search...

Group.ReadWrite.All

Export JSON
Export CSV
Copy URL
Print
ApplicationDelegated Read/Write All Resources

Allows the app to create groups, read all group properties and memberships, update group properties and memberships, and delete groups. Also allows the app to read and write conversations. All of these operations can be performed by the app without a signed-in user.

Permission data: April 6, 2026 at 4:06 AM UTC
Delegated Access App-Only Access

Permission Details

Application Permission

Read and write all groups

Allows the app to create groups, read all group properties and memberships, update group properties and memberships, and delete groups. Also allows the app to read and write conversations. All of these operations can be performed by the app without a signed-in user.

Delegated Permission Admin consent required

Read and write all groups

Allows the app to create groups and read all group properties and memberships on behalf of the signed-in user. Additionally allows group owners to manage their groups and allows group members to update group content.

Properties

Microsoft Graph v1.0 exact-category-docs

Properties is shown from stable Microsoft Graph v1.0 metadata.

Property Type Description
allowExternalSenders BooleanNullable Indicates if people external to the organization can send messages to the group. The default value is false. , , Returned only on $select. Supported only on the Get group API (GET /groups/{ID}).
assignedLabels assignedLabel collection The list of sensitivity label pairs (label ID, label name) associated with a Microsoft 365 group. , , Returned only on $select. This property can be updated only in delegated scenarios where the caller requires both the Microsoft Graph permission and a supported administrator role.
assignedLicenses assignedLicense collection The licenses that are assigned to the group. , , Returned only on $select. Supports $filter (eq). Read-only.
autoSubscribeNewMembers BooleanNullable Indicates if new members added to the group are autosubscribed to receive email notifications. You can set this property in a PATCH request for the group; don't set it in the initial POST request that creates the group. Default value is false. , , Returned only on $select. Supported only on the Get group API (GET /groups/{ID}).
classification StringNullable Describes a classification for the group (such as low, medium, or high business impact). Valid values for this property are defined by creating a ClassificationList setting value, based on the template definition., , Returned by default. Supports $filter (eq, ne, not, ge, le, startsWith).
createdDateTime DateTimeOffsetNullable Timestamp of when the group was created. The value can't be modified and is automatically populated when the group is created. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on January 1, 2014 is 2014-01-01T00:00:00Z. , , Returned by default. Read-only.
deletedDateTime DateTimeOffsetNullable For some Microsoft Entra objects (user, group, application), if the object is deleted, it's first logically deleted, and this property is updated with the date and time when the object was deleted. Otherwise this property is null. If the object is restored, this property is updated to null. Inherited from directoryObject.
description StringNullable An optional description for the group. , , Returned by default. Supports $filter (eq, ne, not, ge, le, startsWith) and $search.
displayName StringNullable The display name for the group. This property is required when a group is created and can't be cleared during updates. Maximum length is 256 characters. , , Returned by default. Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq on null values), $search, and $orderby.
expirationDateTime DateTimeOffsetNullable Timestamp of when the group is set to expire. It's null for security groups, but for Microsoft 365 groups, it represents when the group is set to expire as defined in the groupLifecyclePolicy. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC. For example, midnight UTC on January 1, 2014 is 2014-01-01T00:00:00Z. , , Returned by default. Supports $filter (eq, ne, not, ge, le, in). Read-only.
groupTypes String collection Specifies the group type and its membership. , , If the collection contains Unified, the group is a Microsoft 365 group; otherwise, it's either a security group or a distribution group. For details, see groups overview., , If the collection includes DynamicMembership, the group has dynamic membership; otherwise, membership is static. , , Returned by default. Supports $filter (eq, not).
hasMembersWithLicenseErrors BooleanNullable Indicates whether there are members in this group that have license errors from its group-based license assignment. , , This property is never returned on a GET operation. You can use it as a $filter argument to get groups that have members with license errors (that is, filter for this property being true). See an example. , , Supports $filter (eq).
hideFromAddressLists BooleanNullable True if the group isn't displayed in certain parts of the Outlook UI: the Address Book, address lists for selecting message recipients, and the Browse Groups dialog for searching groups; otherwise, false. The default value is false. , , Returned only on $select. Supported only on the Get group API (GET /groups/{ID}).
hideFromOutlookClients BooleanNullable True if the group isn't displayed in Outlook clients, such as Outlook for Windows and Outlook on the web; otherwise, false. The default value is false. , , Returned only on $select. Supported only on the Get group API (GET /groups/{ID}).
id String The unique identifier for the group. , , Returned by default. Inherited from directoryObject. Key. Not nullable. Read-only., , Supports $filter (eq, ne, not, in).

Showing 15 of 74 properties.

JSON Representation

Microsoft Graph v1.0 exact-category-docs

JSON representation is shown from stable Microsoft Graph v1.0 metadata.

JSON representation
{
  "allowExternalSenders": "Boolean",
  "acceptedSenders": [
    {
      "@odata.type": "microsoft.graph.directoryObject"
    }
  ],
  "assignedLicenses": [
    {
      "@odata.type": "microsoft.graph.assignedLicense"
    }
  ],
  "autoSubscribeNewMembers": "Boolean",
  "calendar": {
    "@odata.type": "microsoft.graph.calendar"
  },
  "calendarView": [
    {
      "@odata.type": "microsoft.graph.event"
    }
  ],
  "classification": "String",
  "conversations": [
    {
      "@odata.type": "microsoft.graph.conversation"
    }
  ],
  "createdDateTime": "String (timestamp)",
  "createdOnBehalfOf": {
    "@odata.type": "microsoft.graph.directoryObject"
  },
  "deletedDateTime": "String (timestamp)",
  "description": "String",
  "displayName": "String",
  "drive": {
    "@odata.type": "microsoft.graph.drive"
  },
  "events": [
    {
      "@odata.type": "microsoft.graph.event"
    }
  ],
  "groupTypes": [
    "String"
  ],
  "hasMembersWithLicenseErrors": "Boolean",
  "hideFromAddressLists": "Boolean",
  "hideFromOutlookClients": "Boolean",
  "id": "String (identifier)",
  "isAssignableToRole": "Boolean",
  "isManagementRestricted": "Boolean",
  "isSubscribedByMail": "Boolean",
  "licenseProcessingState": "String",
  "mail": "String",
  "mailEnabled": "Boolean",
  "mailNickname": "String",
  "memberOf": [
    {
      "@odata.type": "microsoft.graph.directoryObject"
    }
  ],
  "members": [
    {
      "@odata.type": "microsoft.graph.directoryObject"
    }
  ],
  "membersWithLicenseErrors": [
    {
      "@odata.type": "microsoft.graph.user"
    }
  ],
  "onPremisesDomainName": "String",
  "onPremisesLastSyncDateTime": "String (timestamp)",
  "onPremisesNetBiosName": "String",
  "onPremisesProvisioningErrors": [
    {
      "@odata.type": "microsoft.graph.onPremisesProvisioningError"
    }
  ],
  "onPremisesSecurityIdentifier": "String",
  "onPremisesSyncEnabled": "Boolean",
  "owners": [
    {
      "@odata.type": "microsoft.graph.directoryObject"
    }
  ],
  "preferredDataLocation": "String",
  "proxyAddresses": [
    "String"
  ],
  "photo": {
    "@odata.type": "microsoft.graph.profilePhoto"
  },
  "photos": [
    {
      "@odata.type": "microsoft.graph.profilePhoto"
    }
  ],
  "rejectedSenders": [
    {
      "@odata.type": "microsoft.graph.directoryObject"
    }
  ],
  "renewedDateTime": "String (timestamp)",
  "resourceBehaviorOptions": [
    "String"
  ],
  "resourceProvisioningOptions": [
    "String"
  ],
  "securityEnabled": "Boolean",
  "securityIdentifier": "String",
  "serviceProvisioningErrors": [
    {
      "@odata.type": "microsoft.graph.serviceProvisioningXmlError"
    }
  ],
  "sites": [
    {
      "@odata.type": "microsoft.graph.site"
    }
  ],
  "threads": [
    {
      "@odata.type": "microsoft.graph.conversationThread"
    }
  ],
  "uniqueName": "String",
  "unseenCount": "Int32",
  "visibility": "String"
}

Relationships

Microsoft Graph v1.0 exact-category-docs

Relationships is shown from stable Microsoft Graph v1.0 metadata.

Relationship Type Description
acceptedSenders directoryObject collection The list of users or groups allowed to create posts or calendar events in this group. If this list is nonempty, then only users or groups listed here are allowed to post.
appRoleAssignments appRoleAssignment collection Represents the app roles granted to a group for an application. Supports $expand.
calendar calendar The group's calendar. Read-only.
calendarView event collection The calendar view for the calendar. Read-only.
conversations conversation collection The group's conversations.
createdOnBehalfOf directoryObject The user (or application) that created the group. NOTE: This property isn't set if the user is an administrator. Read-only.
drive drive The group's default drive. Read-only.
drives drive collection The group's drives. Read-only.
events event collection The group's calendar events.
extensions extension collection The collection of open extensions defined for the group. Read-only. Nullable.
groupLifecyclePolicies groupLifecyclePolicy collection The collection of lifecycle policies for this group. Read-only. Nullable.
memberOf directoryObject collection Groups that this group is a member of. HTTP Methods: GET (supported for all groups). Read-only. Nullable. Supports $expand.
members directoryObject collection The members of this group, who can be users, devices, other groups, or service principals. Supports the List members, Add member, and Remove member operations. Nullable. , Supports $expand including nested $select. For example, /groups?$filter=startsWith(displayName,'Role')&$select=id,displayName&$expand=members($select=id,userPrincipalName,displayName).
membersWithLicenseErrors User collection A list of group members with license errors from this group-based license assignment. Read-only.
onenote Onenote Read-only.
owners directoryObject collection The owners of the group who can be users or service principals. Limited to 100 owners. Nullable. <liIf this property isn't specified when creating a Microsoft 365 group the calling user (admin or non-admin) is automatically assigned as the group owner. <liA non-admin user can't explicitly add themselves to this collection when they're creating the group. For more information, see the related known issue. <liFor security groups, the admin user isn't automatically added to this collection. For more information, see the related known issue., , Supports $filter (/$count eq 0, /$count ne 0, /$count eq 1, /$count ne 1); Supports $expand including nested $select. For example, /groups?$filter=startsWith(displayName,'Role')&$select=id,displayName&$expand=owners($select=id,userPrincipalName,displayName).
photo profilePhoto The group's profile photo
photos profilePhoto collection The profile photos owned by the group. Read-only. Nullable.
planner plannerGroup Entry-point to Planner resource that might exist for a Unified Group.
rejectedSenders directoryObject collection The list of users or groups not allowed to create posts or calendar events in this group. Nullable
settings groupSetting collection Settings that can govern this group's behavior, like whether members can invite guests to the group. Nullable.
sites site collection The list of SharePoint sites in this group. Access the default site with /sites/root.
team channel collection The team associated with this group.
threads conversationThread collection The group's conversation threads. Nullable.
transitiveMemberOf directoryObject collection The groups that a group is a member of, either directly or through nested membership. Nullable.
transitiveMembers directoryObject collection The direct and transitive members of a group. Nullable.
assignedLabels assignedLabel collection The list of sensitivity label pairs (label ID, label name) associated with a Microsoft 365 group. Returned only on $select. This property can be updated only in delegated scenarios where the caller requires both the Microsoft Graph permission and a supported administrator role.
assignedLicenses assignedLicense collection The licenses that are assigned to the group. Returned only on $select. Supports $filter (eq). Read-only.
groupTypes string collection Specifies the group type and its membership. If the collection contains Unified, the group is a Microsoft 365 group; otherwise, it's either a security group or a distribution group. For details, see groups overview.If the collection includes DynamicMembership, the group has dynamic membership; otherwise, membership is static. Returned by default. Supports $filter (eq, not).
onPremisesProvisioningErrors onPremisesProvisioningError collection Errors when using Microsoft synchronization product during provisioning. Returned by default. Supports $filter (eq, not).
permissionGrants resourceSpecificPermissionGrant collection Related permissionGrants data exposed by this resource.
proxyAddresses string collection Email addresses for the group that direct to the same group mailbox. For example: ['SMTP: [email protected]', 'smtp: [email protected]']. The any operator is required to filter expressions on multi-valued properties. Returned by default. Read-only. Not nullable. Supports $filter (eq, not, ge, le, startsWith, endsWith, /$count eq 0, /$count ne 0).

Graph Methods

Delegated access App-only access
Exact Microsoft Learn match

Microsoft Graph v1.0 endpoints are mapped directly from refreshed Microsoft Learn permissions tables.

Methods
GET /chats/{chat-id}/messages/{message-id}
GET /drive/root/createdByUser/planner/plans
GET /drives/{drive-id}/items/{item-id}
GET /drives/{drive-id}/root:/{item-path}
GET /groups
GET /groups/{group-id}/drive/items/{item-id}
GET /groups/{group-id}/drive/root:/{item-path}
GET /groups/{group-id}/permissionGrants
GET /groups/{group-id}/planner/plans
GET /groups/{groupId}/conversations/{conversationId}/threads/{threadId}/posts
GET /groups/{groupId}/settings
GET /groups/{groupId}/settings/{groupSettingId}
GET /groups/{groupId}/threads/{threadId}/posts
GET /groups/{id}
GET /groups/{id}/acceptedSenders
GET /groups/{id}/calendar/events
GET /groups/{id}/calendar/events/{id}
GET /groups/{id}/calendarView?startDateTime={startdatetime}&endDateTime={enddatetime}
GET /groups/{id}/conversations
GET /groups/{id}/conversations/{id}
GET /groups/{id}/conversations/{id}/threads
GET /groups/{id}/conversations/{id}/threads/{id}
GET /groups/{id}/conversations/{id}/threads/{id}/posts/{id}
GET /groups/{id}/conversations/{id}/threads/{id}/posts/{id}/attachments
GET /groups/{id}/events
GET /groups/{id}/events/{id}
GET /groups/{id}/members
GET /groups/{id}/owners
GET /groups/{id}/photo
GET /groups/{id}/photo/$value
GET /groups/{id}/photos/{size}
GET /groups/{id}/rejectedSenders
GET /groups/{id}/threads
GET /groups/{id}/threads/{id}
GET /groups/{id}/threads/{id}/posts/{id}
GET /groups/{id}/threads/{id}/posts/{id}/attachments
GET /groups/{id}/transitiveMembers
GET /groups/delta
GET /groupSettings
GET /groupSettings/{groupSettingId}
GET /me/chats/{chat-id}/messages/{message-id}
GET /me/contactfolders/{contactFolderId}/contacts/{id}/photo
GET /me/contactfolders/{contactFolderId}/contacts/{id}/photo/$value
GET /me/contacts/{id}/photo
GET /me/contacts/{id}/photo/$value
GET /me/drive/items/{item-id}
GET /me/drive/root:/{item-path}
GET /me/photo
GET /me/photo/$value
GET /me/photos
GET /me/photos/{size}
GET /me/planner/plans
GET /me/planner/tasks
GET /planner/buckets
GET /planner/buckets/{id}
GET /planner/buckets/{id}/tasks
GET /planner/plans
GET /planner/plans/{id}/details
GET /planner/plans/{plan-id}
GET /planner/plans/{plan-id}/buckets
GET /planner/plans/{plan-id}/tasks
GET /planner/tasks
GET /planner/tasks/{id}
GET /planner/tasks/{id}/assignedToTaskBoardFormat
GET /planner/tasks/{id}/bucketTaskBoardFormat
GET /planner/tasks/{id}/details
GET /planner/tasks/{id}/progressTaskBoardFormat
GET /sites/{site-id}/drive/items/{item-id}
GET /sites/{site-id}/drive/root:/{item-path}
GET /sites/{site-id}/lists/{list-id}/items/{item-id}/driveItem
GET /teams/{id}/channels/{id}/filesFolder
GET /teams/{id}/channels/{id}/tabs
GET /teams/{id}/installedApps/{id}
GET /teams/{id}/photo
GET /teams/{id}/photo/$value
GET /teams/{id}/schedule/openShiftChangeRequests
GET /teams/{id}/schedule/openShiftChangeRequests/{openShiftsChangeRequestId}
GET /teams/{id}/schedule/openShifts
GET /teams/{id}/schedule/openShifts/{openShiftId}
GET /teams/{team-id}
GET /teams/{team-id}/channels
GET /teams/{team-id}/channels/{channel-id}
GET /teams/{team-id}/channels/{channel-id}/messages
GET /teams/{team-id}/channels/{channel-id}/messages/{message-id}
GET /teams/{team-id}/channels/{channel-id}/messages/{message-id}/replies
GET /teams/{team-id}/channels/{channel-id}/messages/{message-id}/replies/{reply-id}
GET /teams/{team-id}/channels/{channel-id}/tabs/{tab-id}
GET /teams/{team-id}/installedApps
GET /teams/{teamId}/schedule
GET /teams/{teamId}/schedule/offerShiftRequests
GET /teams/{teamId}/schedule/offerShiftRequests/{offerShiftRequestId}
GET /teams/{teamId}/schedule/schedulingGroups
GET /teams/{teamId}/schedule/schedulingGroups/{schedulingGroupId}
GET /teams/{teamId}/schedule/shifts
GET /teams/{teamId}/schedule/shifts/{shiftId}
GET /teams/{teamId}/schedule/swapShiftsChangeRequests
GET /teams/{teamId}/schedule/timeOffReasons
GET /teams/{teamId}/schedule/timeOffReasons/{timeOffReasonId}
GET /teams/{teamId}/schedule/timeOffRequests
GET /teams/{teamId}/schedule/timeOffRequests/{timeOffRequestId}
GET /teams/{teamId}/schedule/timesOff
GET /teams/{teamId}/schedule/timesOff/{timeOffId}
GET /users/{id | userPrincipalName}/contactfolders/{contactFolderId}/contacts/{id}/photo
GET /users/{id | userPrincipalName}/contactfolders/{contactFolderId}/contacts/{id}/photo/$value
GET /users/{id | userPrincipalName}/contacts/{id}/photo
GET /users/{id | userPrincipalName}/contacts/{id}/photo/$value
GET /users/{id | userPrincipalName}/photo
GET /users/{id | userPrincipalName}/photo/$value
GET /users/{id | userPrincipalName}/photos/{size}
GET /users/{id}/planner/plans
GET /users/{id}/planner/tasks
GET /users/{user-id | user-principal-name}/chats/{chat-id}/messages/{message-id}
GET /users/{user-id | userPrincipalName}/drive/items/{item-id}
GET /users/{user-id | userPrincipalName}/drive/root:/{item-path}
POST /chats/{chat-id}/messages
POST /contacts/{id}/checkMemberGroups
POST /contacts/{id}/checkMemberObjects
POST /contacts/{id}/getMemberGroups
POST /contacts/{id}/getMemberObjects
POST /devices/{id}/checkMemberGroups
POST /devices/{id}/checkMemberObjects
POST /devices/{id}/getMemberGroups
POST /devices/{id}/getMemberObjects
POST /directory/administrativeUnits/{id}/members
POST /directory/administrativeUnits/{id}/members/$ref
POST /directory/deletedItems/getUserOwnedObjects
POST /directoryObjects/{id}/checkMemberGroups
POST /directoryObjects/{id}/checkMemberObjects
POST /directoryObjects/{id}/getMemberGroups
POST /directoryObjects/{id}/getMemberObjects
POST /directoryObjects/validateProperties
POST /groups
POST /groups/{id}/acceptedSenders/$ref
POST /groups/{id}/addFavorite
POST /groups/{id}/assignLicense
POST /groups/{id}/calendar/events
POST /groups/{id}/checkMemberGroups
POST /groups/{id}/checkMemberObjects
POST /groups/{id}/conversations
POST /groups/{id}/conversations/{id}/threads
POST /groups/{id}/conversations/{id}/threads/{id}/posts/{id}/forward
POST /groups/{id}/conversations/{id}/threads/{id}/posts/{id}/reply
POST /groups/{id}/conversations/{id}/threads/{id}/reply
POST /groups/{id}/events
POST /groups/{id}/getMemberGroups
POST /groups/{id}/getMemberObjects
POST /groups/{id}/owners/$ref
POST /groups/{id}/rejectedSenders/$ref
POST /groups/{id}/removeFavorite
POST /groups/{id}/renew
POST /groups/{id}/resetUnseenCount
POST /groups/{id}/retryServiceProvisioning
POST /groups/{id}/subscribeByMail
POST /groups/{id}/threads
POST /groups/{id}/threads/{id}/posts/{id}/forward
POST /groups/{id}/threads/{id}/posts/{id}/reply
POST /groups/{id}/threads/{id}/reply
POST /groups/{id}/unsubscribeByMail
POST /groups/{id}/validateProperties
POST /me/checkMemberGroups
POST /me/checkMemberObjects
POST /me/getMemberGroups
POST /me/getMemberObjects
POST /planner/buckets
POST /planner/plans
POST /planner/tasks
POST /servicePrincipals/{id}/checkMemberGroups
POST /servicePrincipals/{id}/checkMemberObjects
POST /servicePrincipals/{id}/getMemberGroups
POST /servicePrincipals/{id}/getMemberObjects
POST /teams
POST /teams/{id}/archive
POST /teams/{id}/clone
POST /teams/{id}/schedule/openShiftChangeRequests
POST /teams/{id}/schedule/openShiftChangeRequests/{openShiftChangeRequestId}/approve
POST /teams/{id}/schedule/openShiftChangeRequests/{openShiftChangeRequestId}/decline
POST /teams/{id}/schedule/openShifts
POST /teams/{id}/unarchive
POST /teams/{team-id}/channels
POST /teams/{team-id}/channels/{channel-id}/messages
POST /teams/{team-id}/channels/{channel-id}/messages/{message-id}/replies
POST /teams/{team-id}/channels/{channel-id}/tabs
POST /teams/{team-id}/installedApps
POST /teams/{team-id}/installedApps/{app-installation-id}/upgrade
POST /teams/{teamId}/schedule/offerShiftRequests
POST /teams/{teamId}/schedule/offerShiftRequests/{offerShiftRequestId}/approve
POST /teams/{teamId}/schedule/offerShiftRequests/{offerShiftRequestId}/decline
POST /teams/{teamId}/schedule/schedulingGroups
POST /teams/{teamId}/schedule/share
POST /teams/{teamId}/schedule/shifts
POST /teams/{teamId}/schedule/swapShiftsChangeRequests
POST /teams/{teamId}/schedule/swapShiftsChangeRequests/{swapShiftChangeRequestId}/approve
POST /teams/{teamId}/schedule/swapShiftsChangeRequests/{swapShiftChangeRequestId}/decline
POST /teams/{teamId}/schedule/timeOffReasons
POST /teams/{teamId}/schedule/timeOffRequests/{timeOffRequestId}/approve
POST /teams/{teamId}/schedule/timeOffRequests/{timeOffRequestId}/decline
POST /teams/{teamId}/schedule/timesOff
POST /teams/{teamsId}/schedule/openShifts/{openShiftId}/stageForDeletion
POST /teams/{teamsId}/schedule/shifts/{shiftId}/stageForDeletion
POST /teams/{teamsId}/schedule/timesOff/{timeOffId}/stageForDeletion
POST /users/{id | userPrincipalName}/checkMemberGroups
POST /users/{id | userPrincipalName}/checkMemberObjects
POST /users/{id | userPrincipalName}/getMemberGroups
POST /users/{id | userPrincipalName}/getMemberObjects
PATCH /chats/{chatThread-id}/messages/{message-id}
PATCH /groups(uniqueName='uniqueName')
PATCH /groups/{group id}/conversations/{conversation id}/threads/{thread id}
PATCH /groups/{group id}/threads/{thread id}
PATCH /groups/{id}
PATCH /groups/{id}/calendar/events/{id}
PATCH /groups/{id}/events/{id}
PATCH /groups/{id}/photo/$value
PATCH /groups/{id}/threads/{id}
PATCH /me/contactfolders/{contactFolderId}/contacts/{id}/photo/$value
PATCH /me/contacts/{id}/photo/$value
PATCH /me/photo/$value
PATCH /planner/buckets/{id}
PATCH /planner/plans/{id}/details
PATCH /planner/plans/{plan-id}
PATCH /planner/tasks/{id}
PATCH /planner/tasks/{id}/assignedToTaskBoardFormat
PATCH /planner/tasks/{id}/bucketTaskBoardFormat
PATCH /planner/tasks/{id}/details
PATCH /planner/tasks/{id}/progressTaskBoardFormat
PATCH /teams/(team-id)/channels/{channel-id}/messages/{message-id}
PATCH /teams/(team-id)/channels/{channel-id}/messages/{message-id}/replies/{reply-id}
PATCH /teams/{id}/channels/{id}/members/{id}
PATCH /teams/{team-id}
PATCH /teams/{team-id}/channels/{channel-id}
PATCH /teams/{team-id}/channels/{channel-id}/members/{membership-id}
PATCH /teams/{team-id}/channels/{channel-id}/tabs/{tab-id}
PATCH /users/{id | userPrincipalName}/contactfolders/{contactFolderId}/contacts/{id}/photo/$value
PATCH /users/{id | userPrincipalName}/contacts/{id}/photo/$value
PATCH /users/{id | userPrincipalName}/photo/$value
PUT /groups/{id}/photo/$value
PUT /groups/{id}/team
PUT /me/contactfolders/{contactFolderId}/contacts/{id}/photo/$value
PUT /me/contacts/{id}/photo/$value
PUT /me/photo/$value
PUT /teams/{id}/photo/$value
PUT /teams/{id}/schedule/openShifts/{openShiftId}
PUT /teams/{teamId}/schedule
PUT /teams/{teamId}/schedule/schedulingGroups/{schedulingGroupId}
PUT /teams/{teamId}/schedule/shifts/{shiftId}
PUT /teams/{teamId}/schedule/timeOffReasons/{timeOffReasonId}
PUT /teams/{teamId}/schedule/timesOff/{timeOffId}
PUT /users/{id | userPrincipalName}/contactfolders/{contactFolderId}/contacts/{id}/photo/$value
PUT /users/{id | userPrincipalName}/contacts/{id}/photo/$value
PUT /users/{id | userPrincipalName}/photo/$value
DELETE /groups/{id}
DELETE /groups/{id}/acceptedSenders/$ref?$id=https://graph.microsoft.com/v1.0/groups/{other-group-id}
DELETE /groups/{id}/acceptedSenders/$ref?$id=https://graph.microsoft.com/v1.0/users/{user-id}
DELETE /groups/{id}/calendar/events/{id}
DELETE /groups/{id}/conversations/{id}
DELETE /groups/{id}/conversations/{id}/threads/{id}
DELETE /groups/{id}/events/{id}
DELETE /groups/{id}/members/{id}/$ref
DELETE /groups/{id}/owners/{id}/$ref
DELETE /groups/{id}/photo/$value
DELETE /groups/{id}/rejectedSenders/$ref?$id=https://graph.microsoft.com/v1.0/groups/{other-group-id}
DELETE /groups/{id}/rejectedSenders/$ref?$id=https://graph.microsoft.com/v1.0/users/{user-id}
DELETE /groups/{id}/threads/{id}
DELETE /me/photo/$value
DELETE /planner/buckets/{id}
DELETE /planner/plans/{id}
DELETE /planner/tasks/{id}
DELETE /teams/{id}/schedule/openShifts/{openShiftId}
DELETE /teams/{team-id}/channels/{channel-id}
DELETE /teams/{team-id}/channels/{channel-id}/tabs/{tab-id}
DELETE /teams/{team-id}/installedApps/{app-installation-id}
DELETE /teams/{teamId}/schedule/schedulingGroups/{schedulingGroupId}
DELETE /teams/{teamId}/schedule/shifts/{shiftId}
DELETE /teams/{teamId}/schedule/timeOffReasons/{timeOffReasonId}
DELETE /teams/{teamId}/schedule/timeOffRequests/{timeOffRequestId}
DELETE /teams/{teamId}/schedule/timesOff/{timeOffId}
DELETE /users/{id | userPrincipalName}/photo/$value
Exact Microsoft Learn match

Microsoft Graph beta endpoints are mapped directly from refreshed Microsoft Learn permissions tables.

Methods
GET /admin/cloudLicensing/allotments/{allotmentId}
GET /admin/cloudLicensing/allotments/{allotmentId}/assignments
GET /admin/cloudLicensing/allotments/{allotmentId}/assignments/{assignmentId}
GET /admin/cloudLicensing/assignments
GET /admin/cloudLicensing/assignments/{assignmentId}
GET /admin/cloudLicensing/assignments/{assignmentId}/allotment
GET /chats/{chat-id}/messages/{message-id}
GET /chats/{chat-id}/messages/{message-id}/hostedContents
GET /chats/{chat-id}/messages/{message-id}/hostedContents/{hosted-content-id}
GET /drive/root/createdByUser/planner/plans
GET /drives/{drive-id}/items/{item-id}
GET /drives/{drive-id}/root:/{item-path}
GET /groups
GET /groups/{group-id}/drive/items/{item-id}
GET /groups/{group-id}/drive/root:/{item-path}
GET /groups/{group-id}/permissionGrants
GET /groups/{group-id}/planner/plans
GET /groups/{groupId}/cloudLicensing/assignments
GET /groups/{groupId}/cloudLicensing/assignments/{assignmentId}
GET /groups/{groupId}/cloudLicensing/assignments/{assignmentId}/allotment
GET /groups/{groupId}/cloudLicensing/usageRights
GET /groups/{groupId}/cloudLicensing/usageRights/{usageRightId}
GET /groups/{groupId}/cloudLicensing/usageRights/{usageRightId}/assignments
GET /groups/{groupId}/conversations/{conversationId}/threads/{threadId}/posts
GET /groups/{groupId}/settings
GET /groups/{groupId}/settings/{directorySettingId}
GET /groups/{groupId}/threads/{threadId}/posts
GET /groups/{id}
GET /groups/{id}/acceptedSenders
GET /groups/{id}/calendar/events
GET /groups/{id}/calendar/events/{id}
GET /groups/{id}/calendarView?startDateTime={startdatetime}&endDateTime={enddatetime}
GET /groups/{id}/conversations
GET /groups/{id}/conversations/{id}
GET /groups/{id}/conversations/{id}/threads
GET /groups/{id}/conversations/{id}/threads/{id}
GET /groups/{id}/conversations/{id}/threads/{id}/posts/{id}
GET /groups/{id}/conversations/{id}/threads/{id}/posts/{id}/attachments
GET /groups/{id}/endpoints
GET /groups/{id}/endpoints/{id}
GET /groups/{id}/events
GET /groups/{id}/events/{id}
GET /groups/{id}/members
GET /groups/{id}/owners
GET /groups/{id}/photo
GET /groups/{id}/photo/$value
GET /groups/{id}/photos/{size}
GET /groups/{id}/rejectedSenders
GET /groups/{id}/threads
GET /groups/{id}/threads/{id}
GET /groups/{id}/threads/{id}/posts/{id}
GET /groups/{id}/threads/{id}/posts/{id}/attachments
GET /groups/{id}/transitiveMembers
GET /groups/delta
GET /me/chats/{chat-id}/messages/{message-id}
GET /me/cloudLicensing/assignments/{assignmentId}
GET /me/cloudLicensing/assignments/{assignmentId}/allotment
GET /me/cloudLicensing/usageRights/{usageRightId}
GET /me/cloudLicensing/usageRights/{usageRightId}/assignments
GET /me/cloudLicensing/waitingMembers/{waitingMemberId}/allotment
GET /me/contactfolders/{contactFolderId}/contacts/{id}/photo
GET /me/contactfolders/{contactFolderId}/contacts/{id}/photo/$value
GET /me/contacts/{id}/photo
GET /me/contacts/{id}/photo/$value
GET /me/drive/items/{item-id}
GET /me/drive/root:/{item-path}
GET /me/photo
GET /me/photo/$value
GET /me/photos
GET /me/photos/{size}
GET /me/planner/all/delta
GET /me/planner/plans
GET /me/planner/tasks
GET /planner/buckets
GET /planner/buckets/{id}
GET /planner/buckets/{id}/tasks
GET /planner/plans
GET /planner/plans/{id}/details
GET /planner/plans/{plan-id}
GET /planner/plans/{plan-id}/buckets
GET /planner/plans/{plan-id}/tasks
GET /planner/tasks
GET /planner/tasks/{id}
GET /planner/tasks/{id}/assignedToTaskBoardFormat
GET /planner/tasks/{id}/bucketTaskBoardFormat
GET /planner/tasks/{id}/details
GET /planner/tasks/{id}/progressTaskBoardFormat
GET /policies/ownerlessGroupPolicy
GET /settings
GET /settings/{directorySettingId}
GET /sites/{siteId}/drive/items/{itemId}
GET /sites/{siteId}/drive/root:/{item-path}
GET /teams/{id}/channels/{id}/filesFolder
GET /teams/{id}/installedApps/{id}
GET /teams/{id}/photo
GET /teams/{id}/photo/$value
GET /teams/{id}/schedule/openShiftChangeRequests
GET /teams/{id}/schedule/openShiftChangeRequests/{openShiftsChangeRequestId}
GET /teams/{id}/schedule/openShifts
GET /teams/{id}/schedule/openShifts/{openShiftId}
GET /teams/{team-id}
GET /teams/{team-id}/channels
GET /teams/{team-id}/channels/{channel-id}
GET /teams/{team-id}/channels/{channel-id}/messages
GET /teams/{team-id}/channels/{channel-id}/messages/{message-id}
GET /teams/{team-id}/channels/{channel-id}/messages/{message-id}/hostedContents
GET /teams/{team-id}/channels/{channel-id}/messages/{message-id}/hostedContents/{hosted-content-id}
GET /teams/{team-id}/channels/{channel-id}/messages/{message-id}/replies
GET /teams/{team-id}/channels/{channel-id}/messages/{message-id}/replies/{reply-id}
GET /teams/{team-id}/channels/{channel-id}/messages/{message-id}/replies/{reply-id}/hostedContents
GET /teams/{team-id}/channels/{channel-id}/messages/{message-id}/replies/{reply-id}/hostedContents/{hosted-content-id}
GET /teams/{team-id}/channels/{channel-id}/tabs
GET /teams/{team-id}/channels/{channel-id}/tabs/{tab-id}
GET /teams/{team-id}/installedApps
GET /teams/{teamId}/channels/{channelId}/filesFolder
GET /teams/{teamId}/schedule
GET /teams/{teamId}/schedule/offerShiftRequests
GET /teams/{teamId}/schedule/offerShiftRequests/{offerShiftRequestId}
GET /teams/{teamId}/schedule/schedulingGroups
GET /teams/{teamId}/schedule/schedulingGroups/{schedulingGroupId}
GET /teams/{teamId}/schedule/shifts
GET /teams/{teamId}/schedule/shifts/{shiftId}
GET /teams/{teamId}/schedule/swapShiftsChangeRequests
GET /teams/{teamId}/schedule/timeOffReasons
GET /teams/{teamId}/schedule/timeOffReasons/{timeOffReasonId}
GET /teams/{teamId}/schedule/timeOffRequests
GET /teams/{teamId}/schedule/timeOffRequests/{timeOffRequestId}
GET /teams/{teamId}/schedule/timesOff
GET /teams/{teamId}/schedule/timesOff/{timeOffId}
GET /users/{id | userPrincipalName}/contactfolders/{contactFolderId}/contacts/{id}/photo
GET /users/{id | userPrincipalName}/contactfolders/{contactFolderId}/contacts/{id}/photo/$value
GET /users/{id | userPrincipalName}/contacts/{id}/photo
GET /users/{id | userPrincipalName}/contacts/{id}/photo/$value
GET /users/{id | userPrincipalName}/photo
GET /users/{id | userPrincipalName}/photo/$value
GET /users/{id | userPrincipalName}/photos/{size}
GET /users/{id}/planner/all/delta
GET /users/{id}/planner/plans
GET /users/{id}/planner/tasks
GET /users/{user-id | user-principal-name}/chats/{chat-id}/messages/{message-id}
GET /users/{user-id | user-principal-name}/chats/{chat-id}/messages/{message-id}/hostedContents
GET /users/{user-id | user-principal-name}/chats/{chat-id}/messages/{message-id}/hostedContents/{hosted-content-id}
GET /users/{userId | userPrincipalName}/drive/items/{item-id}
GET /users/{userId | userPrincipalName}/drive/root:/{item-path}
GET /users/{userId}/cloudLicensing/assignments
GET /users/{userId}/cloudLicensing/assignments/{assignmentId}
GET /users/{userId}/cloudLicensing/assignments/{assignmentId}/allotment
GET /users/{userId}/cloudLicensing/usageRights/{usageRightId}
GET /users/{userId}/cloudLicensing/usageRights/{usageRightId}/assignments
GET /users/{userId}/cloudLicensing/waitingMembers/{waitingMemberId}/allotment
POST /admin/cloudLicensing/allotments/{allotmentId}/assignments
POST /admin/cloudLicensing/assignments
POST /administrativeUnits/{id}/members
POST /administrativeUnits/{id}/members/$ref
POST /chats/{chat-id}/messages
POST /contacts/{id}/checkMemberGroups
POST /contacts/{id}/checkMemberObjects
POST /contacts/{id}/getMemberGroups
POST /contacts/{id}/getMemberObjects
POST /devices/{id}/checkMemberGroups
POST /devices/{id}/checkMemberObjects
POST /devices/{id}/getMemberGroups
POST /devices/{id}/getMemberObjects
POST /directory/deletedItems/getUserOwnedObjects
POST /directoryObjects/{id}/checkMemberGroups
POST /directoryObjects/{id}/checkMemberObjects
POST /directoryObjects/{id}/getMemberGroups
POST /directoryObjects/{id}/getMemberObjects
POST /directoryObjects/validateProperties
POST /groupLifecyclePolicies/renewGroup
POST /groups
POST /groups/{groupId}/cloudLicensing/assignments
POST /groups/{id}/acceptedSenders/$ref
POST /groups/{id}/addFavorite
POST /groups/{id}/assignLicense
POST /groups/{id}/calendar/events
POST /groups/{id}/checkMemberGroups
POST /groups/{id}/checkMemberObjects
POST /groups/{id}/conversations
POST /groups/{id}/conversations/{id}/threads
POST /groups/{id}/conversations/{id}/threads/{id}/posts/{id}/forward
POST /groups/{id}/conversations/{id}/threads/{id}/posts/{id}/reply
POST /groups/{id}/conversations/{id}/threads/{id}/reply
POST /groups/{id}/events
POST /groups/{id}/getMemberGroups
POST /groups/{id}/getMemberObjects
POST /groups/{id}/owners/$ref
POST /groups/{id}/rejectedSenders/$ref
POST /groups/{id}/removeFavorite
POST /groups/{id}/renew
POST /groups/{id}/resetUnseenCount
POST /groups/{id}/retryServiceProvisioning
POST /groups/{id}/subscribeByMail
POST /groups/{id}/threads
POST /groups/{id}/threads/{id}/posts/{id}/forward
POST /groups/{id}/threads/{id}/posts/{id}/reply
POST /groups/{id}/threads/{id}/reply
POST /groups/{id}/unsubscribeByMail
POST /groups/{id}/validateProperties
POST /me/checkMemberGroups
POST /me/checkMemberObjects
POST /me/getMemberGroups
POST /me/getMemberObjects
POST /planner/buckets
POST /planner/plans
POST /planner/tasks
POST /servicePrincipals/{id}/checkMemberGroups
POST /servicePrincipals/{id}/checkMemberObjects
POST /servicePrincipals/{id}/getMemberGroups
POST /servicePrincipals/{id}/getMemberObjects
POST /teams
POST /teams/{id}/archive
POST /teams/{id}/channels/{id}/tabs
POST /teams/{id}/clone
POST /teams/{id}/schedule/openShiftChangeRequests
POST /teams/{id}/schedule/openShiftChangeRequests/{openShiftChangeRequestId}/approve
POST /teams/{id}/schedule/openShiftChangeRequests/{openShiftChangeRequestId}/decline
POST /teams/{id}/schedule/openShifts
POST /teams/{id}/unarchive
POST /teams/{team-id}/channels
POST /teams/{team-id}/channels/{channel-id}/messages
POST /teams/{team-id}/channels/{channel-id}/messages/{message-id}/replies
POST /teams/{team-id}/installedApps
POST /teams/{team-id}/installedApps/{app-installation-id}/upgrade
POST /teams/{teamId}/schedule/offerShiftRequests
POST /teams/{teamId}/schedule/offerShiftRequests/{offerShiftRequestId}/approve
POST /teams/{teamId}/schedule/offerShiftRequests/{offerShiftRequestId}/decline
POST /teams/{teamId}/schedule/schedulingGroups
POST /teams/{teamId}/schedule/share
POST /teams/{teamId}/schedule/shifts
POST /teams/{teamId}/schedule/swapShiftsChangeRequests
POST /teams/{teamId}/schedule/swapShiftsChangeRequests/{swapShiftChangeRequestId}/approve
POST /teams/{teamId}/schedule/swapShiftsChangeRequests/{swapShiftChangeRequestId}/decline
POST /teams/{teamId}/schedule/timeOffReasons
POST /teams/{teamId}/schedule/timeOffRequests/{timeOffRequestId}/approve
POST /teams/{teamId}/schedule/timeOffRequests/{timeOffRequestId}/decline
POST /teams/{teamId}/schedule/timesOff
POST /teams/{teamsId}/schedule/openShifts/{openShiftId}/stageForDeletion
POST /teams/{teamsId}/schedule/shifts/{shiftId}/stageForDeletion
POST /teams/{teamsId}/schedule/timesOff/{timeOffId}/stageForDeletion
POST /users/{id | userPrincipalName}/checkMemberGroups
POST /users/{id | userPrincipalName}/checkMemberObjects
POST /users/{id | userPrincipalName}/getMemberGroups
POST /users/{id | userPrincipalName}/getMemberObjects
POST /users/{userId}/cloudLicensing/assignments/reprocessAssignments
PATCH /admin/cloudLicensing/allotments/{allotmentId}/assignments/{assignmentId}
PATCH /admin/cloudLicensing/assignments/{assignmentId}
PATCH /chats/{chatThread-id}/messages/{message-id}
PATCH /groups(uniqueName='uniqueName')
PATCH /groups/{group id}/conversations/{conversation id}/threads/{thread id}
PATCH /groups/{group id}/threads/{thread id}
PATCH /groups/{groupId}/cloudLicensing/assignments/{assignmentId}
PATCH /groups/{id}
PATCH /groups/{id}/calendar/events/{id}
PATCH /groups/{id}/events/{id}
PATCH /groups/{id}/threads/{id}
PATCH /me/cloudLicensing/allotments/{allotmentId}/assignments/{assignmentId}
PATCH /me/contactfolders/{contactFolderId}/contacts/{id}/photo/$value
PATCH /me/contacts/{id}/photo/$value
PATCH /me/planner
PATCH /planner/buckets/{id}
PATCH /planner/plans/{id}/details
PATCH /planner/plans/{plan-id}
PATCH /planner/tasks/{id}
PATCH /planner/tasks/{id}/assignedToTaskBoardFormat
PATCH /planner/tasks/{id}/bucketTaskBoardFormat
PATCH /planner/tasks/{id}/details
PATCH /planner/tasks/{id}/progressTaskBoardFormat
PATCH /policies/ownerlessGroupPolicy
PATCH /teams/(team-id)/channels/{channel-id}/messages/{message-id}
PATCH /teams/(team-id)/channels/{channel-id}/messages/{message-id}/replies/{reply-id}
PATCH /teams/{team-id}
PATCH /teams/{team-id}/channels/{channel-id}
PATCH /teams/{team-id}/channels/{channel-id}/members/{membership-id}
PATCH /teams/{team-id}/channels/{channel-id}/tabs/{tab-id}
PATCH /users/{id | userPrincipalName}/contactfolders/{contactFolderId}/contacts/{id}/photo/$value
PATCH /users/{id | userPrincipalName}/contacts/{id}/photo/$value
PATCH /users/{userId}/cloudLicensing/assignments/{assignmentId}
PUT /groups/{id}/photo/$value
PUT /groups/{id}/team
PUT /me/contactfolders/{contactFolderId}/contacts/{id}/photo/$value
PUT /me/contacts/{id}/photo/$value
PUT /me/photo/$value
PUT /teams/{id}/photo/$value
PUT /teams/{id}/schedule/openShifts/{openShiftId}
PUT /teams/{teamId}/schedule
PUT /teams/{teamId}/schedule/schedulingGroups/{schedulingGroupId}
PUT /teams/{teamId}/schedule/shifts/{shiftId}
PUT /teams/{teamId}/schedule/timeOffReasons/{timeOffReasonId}
PUT /teams/{teamId}/schedule/timesOff/{timeOffId}
PUT /users/{id | userPrincipalName}/contactfolders/{contactFolderId}/contacts/{id}/photo/$value
PUT /users/{id | userPrincipalName}/contacts/{id}/photo/$value
PUT /users/{id | userPrincipalName}/photo/$value
DELETE /admin/cloudLicensing/allotments/{allotmentId}/assignments/{assignmentId}
DELETE /admin/cloudLicensing/assignments/{assignmentId}
DELETE /groups/{groupId}/cloudLicensing/assignments/{assignmentId}
DELETE /groups/{id}
DELETE /groups/{id}/acceptedSenders/$ref?$id={id}
DELETE /groups/{id}/calendar/events/{id}
DELETE /groups/{id}/conversations/{id}
DELETE /groups/{id}/conversations/{id}/threads/{id}
DELETE /groups/{id}/events/{id}
DELETE /groups/{id}/members/{id}/$ref
DELETE /groups/{id}/owners/{id}/$ref
DELETE /groups/{id}/photo/$value
DELETE /groups/{id}/rejectedSenders/$ref?$id={id}
DELETE /groups/{id}/threads/{id}
DELETE /me/cloudLicensing/assignments/{assignmentId}
DELETE /me/photo/$value
DELETE /planner/buckets/{id}
DELETE /planner/plans/{id}
DELETE /planner/tasks/{id}
DELETE /teams/{id}/schedule/openShifts/{openShiftId}
DELETE /teams/{team-id}/channels/{channel-id}
DELETE /teams/{team-id}/channels/{channel-id}/tabs/{tab-id}
DELETE /teams/{team-id}/installedApps/{app-installation-id}
DELETE /teams/{teamId}/schedule/schedulingGroups/{schedulingGroupId}
DELETE /teams/{teamId}/schedule/shifts/{shiftId}
DELETE /teams/{teamId}/schedule/timeOffReasons/{timeOffReasonId}
DELETE /teams/{teamId}/schedule/timeOffRequests/{timeOffRequestId}
DELETE /teams/{teamId}/schedule/timesOff/{timeOffId}
DELETE /users/{id | userPrincipalName}/photo/$value
DELETE /users/{userId}/cloudLicensing/assignments/{assignmentId}
Exact Microsoft Learn PowerShell match

Microsoft Graph PowerShell v1.0 commands are mapped directly from refreshed Microsoft Learn PowerShell snippets.

Commands
Add-MgGroupFavorite /groups/{id}/addFavorite
group: addFavorite
Get-MgChatMessage /teams/{team-id}/channels/{channel-id}/messages/{message-id}
Get chatMessage in a channel or chat
Get-MgDirectoryObjectMemberGroup /directoryObjects/{id}/getMemberGroups
directoryObject: getMemberGroups
Get-MgDirectoryObjectMemberObject /directoryObjects/{id}/getMemberObjects
directoryObject: getMemberObjects
Get-MgDriveRoot /drives/{drive-id}/items/{item-id}
Get driveItem
Get-MgGroup /groups
List groups
Get-MgGroup /groups/{id}
Get group
Get-MgGroupAcceptedSender /groups/{id}/acceptedSenders
List acceptedSenders
Get-MgGroupConversation /groups/{id}/conversations
List conversations
Get-MgGroupConversation /groups/{id}/conversations/{id}
Get conversation
Get-MgGroupConversation /groups/{id}/conversations/{id}
Get conversation
Get-MgGroupConversationThread /groups/{id}/conversations/{id}/threads
List threads
Get-MgGroupDelta /groups/delta
group: delta
Get-MgGroupEvent /groups/{id}/events
List events
Get-MgGroupEvent /groups/{id}/events/{id}
Get event
Get-MgGroupMember /groups/{id}/members
List group members
Get-MgGroupMemberAsUser /groups/{id}/members
List group members
Get-MgGroupMemberCount /groups/{id}/members
List group members
Get-MgGroupMemberCountAsUser /groups/{id}/members
List group members
Get-MgGroupOwner /groups/{id}/owners
List group owners
Get-MgGroupPermissionGrant /groups/{group-id}/permissionGrants
List permissionGrants of a group
Get-MgGroupPlannerPlan /groups/{group-id}/planner/plans
List plans
Get-MgGroupRejectedSender /groups/{id}/rejectedSenders
List rejectedSenders
Get-MgGroupSetting /groupSettings
List settings
Get-MgGroupSetting /groupSettings/{groupSettingId}
Get groupSetting
Get-MgGroupThread /groups/{id}/threads
List threads
Get-MgGroupThread /groups/{id}/threads/{id}
Get conversation thread
Get-MgGroupThread /groups/{id}/threads/{id}
Get conversationThread
Get-MgGroupThreadPost /groups/{groupId}/threads/{threadId}/posts
List posts
Get-MgGroupThreadPost /groups/{id}/threads/{id}/posts/{id}
Get post
Get-MgGroupThreadPostAttachment /groups/{id}/threads/{id}/posts/{id}/attachments
List attachments
Get-MgGroupTransitiveMember /groups/{id}/transitiveMembers
List group transitive members
Get-MgGroupTransitiveMemberAsGroup /groups/{id}/transitiveMembers
List group transitive members
Get-MgGroupTransitiveMemberAsUser /groups/{id}/transitiveMembers
List group transitive members
Get-MgPlannerBucket /planner/buckets
List buckets
Get-MgPlannerBucket /planner/buckets/{id}
Get plannerBucket
Get-MgPlannerBucketTask /planner/buckets/{id}/tasks
List tasks
Get-MgPlannerPlan /planner/plans
List plans
Get-MgPlannerPlan /planner/plans/{plan-id}
Get plannerPlan
Get-MgPlannerPlanBucket /planner/plans/{plan-id}/buckets
List buckets
Get-MgPlannerPlanDetail /planner/plans/{id}/details
Get plannerPlanDetails
Get-MgPlannerPlanTask /planner/plans/{plan-id}/tasks
List tasks
Get-MgPlannerTask /planner/tasks
List plannerTask objects
Get-MgPlannerTask /planner/tasks/{id}
Get plannerTask
Get-MgPlannerTaskAssignedToTaskBoardFormat /planner/tasks/{id}/assignedToTaskBoardFormat
Get plannerAssignedToTaskBoardTaskFormat
Get-MgPlannerTaskBucketTaskBoardFormat /planner/tasks/{id}/bucketTaskBoardFormat
Get plannerBucketTaskBoardTaskFormat
Get-MgPlannerTaskDetail /planner/tasks/{id}/details
Get plannerTaskDetails
Get-MgPlannerTaskProgressTaskBoardFormat /planner/tasks/{id}/progressTaskBoardFormat
Get plannerProgressTaskBoardTaskFormat
Get-MgTeam /teams/{team-id}
Get team
Get-MgTeamChannel /teams/{team-id}/channels
List channels
Get-MgTeamChannel /teams/{team-id}/channels/{channel-id}
Get channel
Get-MgTeamChannelFileFolder /teams/{id}/channels/{id}/filesFolder
Get filesFolder
Get-MgTeamChannelMessage /teams/{team-id}/channels/{channel-id}/messages
List channel messages
Get-MgTeamChannelMessage /teams/{team-id}/channels/{channel-id}/messages/{message-id}
Get chatMessage in a channel or chat
Get-MgTeamChannelMessageReply /teams/{team-id}/channels/{channel-id}/messages/{message-id}
Get chatMessage in a channel or chat
Get-MgTeamChannelMessageReply /teams/{team-id}/channels/{channel-id}/messages/{message-id}/replies
List channel message replies
Get-MgTeamChannelTab /teams/{id}/channels/{id}/tabs
List tabs in channel
Get-MgTeamChannelTab /teams/{team-id}/channels/{channel-id}/tabs/{tab-id}
Get tab in channel
Get-MgTeamInstalledApp /teams/{id}/installedApps/{id}
Get installed app in team
Get-MgTeamInstalledApp /teams/{team-id}/installedApps
List apps in team
Get-MgTeamPhoto /me/photo/$value
Get profilePhoto
Get-MgTeamPhotoContent /me/photo/$value
Get profilePhoto
Get-MgTeamSchedule /teams/{teamId}/schedule
Get schedule
Get-MgTeamScheduleOfferShiftRequest /teams/{teamId}/schedule/offerShiftRequests
List offerShiftRequest
Get-MgTeamScheduleOfferShiftRequest /teams/{teamId}/schedule/offerShiftRequests/{offerShiftRequestId}
Get offerShiftRequest
Get-MgTeamScheduleOpenShift /teams/{id}/schedule/openShifts
List openShifts
Get-MgTeamScheduleOpenShift /teams/{id}/schedule/openShifts/{openShiftId}
Get openShift
Get-MgTeamScheduleOpenShiftChangeRequest /teams/{id}/schedule/openShiftChangeRequests
List openShiftChangeRequests
Get-MgTeamScheduleOpenShiftChangeRequest /teams/{id}/schedule/openShiftChangeRequests/{openShiftsChangeRequestId}
Get openShiftChangeRequest
Get-MgTeamScheduleSchedulingGroup /teams/{teamId}/schedule/schedulingGroups
List schedulingGroups
Get-MgTeamScheduleSchedulingGroup /teams/{teamId}/schedule/schedulingGroups/{schedulingGroupId}
Get schedulingGroup
Get-MgTeamScheduleShift /teams/{teamId}/schedule/shifts
List shifts
Get-MgTeamScheduleShift /teams/{teamId}/schedule/shifts/{shiftId}
Get shift
Get-MgTeamScheduleSwapShiftChangeRequest /teams/{teamId}/schedule/swapShiftsChangeRequests
Get swapShiftsChangeRequest
Get-MgTeamScheduleSwapShiftChangeRequest /teams/{teamId}/schedule/swapShiftsChangeRequests
List swapShiftsChangeRequest
Get-MgTeamScheduleTimeOff /teams/{teamId}/schedule/timesOff
List timesOff
Get-MgTeamScheduleTimeOff /teams/{teamId}/schedule/timesOff/{timeOffId}
Get timeOff
Get-MgTeamScheduleTimeOffReason /teams/{teamId}/schedule/timeOffReasons
List timeOffReasons
Get-MgTeamScheduleTimeOffReason /teams/{teamId}/schedule/timeOffReasons/{timeOffReasonId}
Get timeOffReason
Get-MgTeamScheduleTimeOffRequest /teams/{teamId}/schedule/timeOffRequests
List timeOffRequest
Get-MgTeamScheduleTimeOffRequest /teams/{teamId}/schedule/timeOffRequests/{timeOffRequestId}
Get timeOffRequest
Get-MgUserMemberGroup /directoryObjects/{id}/getMemberGroups
directoryObject: getMemberGroups
Get-MgUserPhoto /me/photo/$value
Get profilePhoto
Get-MgUserPhotoContent /me/photo/$value
Get profilePhoto
Get-MgUserPlannerPlan /me/planner/plans
List plans
Get-MgUserPlannerTask /me/planner/tasks
List tasks
Invoke-MgArchiveTeam /teams/{id}/archive
Archive team
Invoke-MgForwardGroupThreadPost /groups/{id}/threads/{id}/posts/{id}/forward
post: forward
Invoke-MgGraphGroup /groups/{id}/unsubscribeByMail
group: unsubscribeByMail
Invoke-MgRenewGroup /groups/{id}/renew
group: renew
Invoke-MgReplyGroupThread /groups/{id}/threads/{id}/reply
Add attachment
Invoke-MgReplyGroupThread /groups/{id}/threads/{id}/reply
conversationThread: reply
Invoke-MgReplyGroupThreadPost /groups/{id}/threads/{id}/posts/{id}/reply
post: reply
Invoke-MgRetryGroupServiceProvisioning /groups/{id}/retryServiceProvisioning
group: retryServiceProvisioning
Invoke-MgShareTeamSchedule /teams/{teamId}/schedule/share
schedule: share
Invoke-MgSubscribeGroupByMail /groups/{id}/subscribeByMail
group: subscribeByMail
Invoke-MgUnarchiveTeam /teams/{id}/unarchive
Unarchive team
New-MgChatMessage /chats/{chat-id}/messages
Send message in a chat
New-MgChatMessage /teams/{team-id}/channels/{channel-id}/messages
Send chatMessage in a channel or a chat
New-MgDirectoryAdministrativeUnitMember /directory/administrativeUnits/{id}/members/$ref
Add a member
New-MgDirectoryAdministrativeUnitMemberByRef /directory/administrativeUnits/{id}/members/$ref
Add a member
New-MgGroup /groups
Create group
New-MgGroup /groups(uniqueName='uniqueName')
Upsert group
New-MgGroupAcceptedSenderByRef /groups/{id}/acceptedSenders/$ref
Create acceptedSender
New-MgGroupConversation /groups/{id}/conversations
Create conversation
New-MgGroupConversationThread /groups/{id}/conversations/{id}/threads
Create thread
New-MgGroupEvent /groups/{id}/events
Create event
New-MgGroupOwnerByRef /groups/{id}/owners/$ref
Add owners
New-MgGroupRejectedSenderByRef /groups/{id}/rejectedSenders/$ref
Create rejectedSender
New-MgGroupThread /groups/{id}/threads
Create conversation thread
New-MgPlannerBucket /planner/buckets
Create plannerBucket
New-MgPlannerPlan /planner/plans
Create plannerPlan
New-MgPlannerTask /planner/tasks
Create plannerTask
New-MgTeam /teams
Create team
New-MgTeamChannel /teams/{team-id}/channels
Create channel
New-MgTeamChannelMessage /teams/{team-id}/channels/{channel-id}/messages
Send chatMessage in a channel
New-MgTeamChannelMessage /teams/{team-id}/channels/{channel-id}/messages
Send chatMessage in a channel or a chat
New-MgTeamChannelMessageReply /teams/{team-id}/channels/{channel-id}/messages/{message-id}/replies
Reply to a message in a channel
New-MgTeamChannelMessageReply /teams/{team-id}/channels/{channel-id}/messages/{message-id}/replies
Send replies to a message in a channel
New-MgTeamChannelTab /teams/{team-id}/channels/{channel-id}/tabs
Add tab to channel
New-MgTeamInstalledApp /teams/{team-id}/installedApps
Add app to team
New-MgTeamScheduleOfferShiftRequest /teams/{teamId}/schedule/offerShiftRequests
Create offerShiftRequest
New-MgTeamScheduleOpenShift /teams/{id}/schedule/openShifts
Create openShift
New-MgTeamScheduleOpenShiftChangeRequest /teams/{id}/schedule/openShiftChangeRequests
Create openShiftChangeRequest
New-MgTeamScheduleSchedulingGroup /teams/{teamId}/schedule/schedulingGroups
Create schedulingGroup
New-MgTeamScheduleShift /teams/{teamId}/schedule/shifts
Create shift
New-MgTeamScheduleSwapShiftChangeRequest /teams/{teamId}/schedule/swapShiftsChangeRequests
Create swapshiftRequest
New-MgTeamScheduleTimeOff /teams/{teamId}/schedule/timesOff
Create timeOff
New-MgTeamScheduleTimeOffReason /teams/{teamId}/schedule/timeOffReasons
Create timeOffReason
Remove-MgGroup /groups/{id}
Delete group - Microsoft Graph API
Remove-MgGroupConversation /groups/{id}/conversations/{id}
Delete conversation
Remove-MgGroupConversation /groups/{id}/conversations/{id}
Delete conversation
Remove-MgGroupEvent /groups/{id}/events/{id}
Delete event
Remove-MgGroupFavorite /groups/{id}/removeFavorite
group: removeFavorite
Remove-MgGroupMemberDirectoryObjectByRef /groups/{id}/members/{id}/$ref
Remove member
Remove-MgGroupOwnerDirectoryObjectByRef /groups/{id}/owners/{id}/$ref
Remove group owner
Remove-MgGroupThread /groups/{id}/threads/{id}
Delete conversation thread
Remove-MgGroupThread /groups/{id}/threads/{id}
Delete conversationThread
Remove-MgPlannerBucket /planner/buckets/{id}
Delete plannerBucket
Remove-MgPlannerPlan /planner/plans/{id}
Delete plannerPlan
Remove-MgPlannerTask /planner/tasks/{id}
Delete plannerTask
Remove-MgTeamChannel /teams/{team-id}/channels/{channel-id}
Delete channel
Remove-MgTeamChannelTab /teams/{team-id}/channels/{channel-id}/tabs/{tab-id}
Delete tab from channel
Remove-MgTeamInstalledApp /teams/{team-id}/installedApps/{app-installation-id}
Remove app from team
Remove-MgTeamScheduleOpenShift /teams/{id}/schedule/openShifts/{openShiftId}
Delete openShift
Remove-MgTeamScheduleSchedulingGroup /teams/{teamId}/schedule/schedulingGroups/{schedulingGroupId}
Delete schedulingGroup
Remove-MgTeamScheduleShift /teams/{teamId}/schedule/shifts/{shiftId}
Delete shift
Remove-MgTeamScheduleTimeOff /teams/{teamId}/schedule/timesOff/{timeOffId}
Delete timeOff
Remove-MgTeamScheduleTimeOffReason /teams/{teamId}/schedule/timeOffReasons/{timeOffReasonId}
Delete timeOffReason
Remove-MgTeamScheduleTimeOffRequest /teams/{teamId}/schedule/timeOffRequests/{timeOffRequestId}
Delete timeOffRequest
Remove-MgUserPhotoContent /me/photo/$value
Delete profilePhoto
Set-MgGroupLicense /groups/{id}/assignLicense
group: assignLicense
Set-MgGroupTeam /groups/{id}/team
Create team from group
Set-MgTeamPhotoContent /me/contacts/{id}/photo/$value
Update profilePhoto
Set-MgTeamSchedule /teams/{teamId}/schedule
Create or replace schedule
Set-MgUserPhotoContent /me/contacts/{id}/photo/$value
Update profilePhoto
Test-MgDirectoryObjectProperty /directoryObjects/validateProperties
directoryObject: validateProperties
Test-MgGroupProperty /groups/{id}/validateProperties
group: validateProperties
Update-MgGroup /groups/{id}
Update group
Update-MgGroupByUniqueName /groups(uniqueName='uniqueName')
Upsert group
Update-MgGroupCalendarEvent /groups/{id}/events/{id}
Update event
Update-MgGroupThread /groups/{group id}/threads/{thread id}
Update conversationthread
Update-MgGroupThread /groups/{id}/threads/{id}
Update conversation thread
Update-MgPlannerBucket /planner/buckets/{id}
Update plannerbucket
Update-MgPlannerPlan /planner/plans/{plan-id}
Update plannerPlan
Update-MgPlannerPlanDetail /planner/plans/{id}/details
Update plannerplandetails
Update-MgPlannerTask /planner/tasks/{id}
Update plannerTask
Update-MgPlannerTaskAssignedToTaskBoardFormat /planner/tasks/{id}/assignedToTaskBoardFormat
Update plannerAssignedToTaskBoardTaskFormat
Update-MgPlannerTaskBucketTaskBoardFormat /planner/tasks/{id}/bucketTaskBoardFormat
Update plannerBucketTaskBoardTaskFormat
Update-MgPlannerTaskDetail /planner/tasks/{id}/details
Update plannerTaskDetails
Update-MgPlannerTaskProgressTaskBoardFormat /planner/tasks/{id}/progressTaskBoardFormat
Update plannerProgressTaskBoardTaskFormat
Update-MgTeam /teams/{team-id}
Update team
Update-MgTeamChannel /teams/{team-id}/channels/{channel-id}
Patch channel
Update-MgTeamChannelMessage /teams/(team-id)/channels/{channel-id}/messages/{message-id}
Update chatMessage
Update-MgTeamChannelTab /teams/{team-id}/channels/{channel-id}/tabs/{tab-id}
Update tab
Update-MgTeamInstalledApp /teams/{team-id}/installedApps/{app-installation-id}/upgrade
teamsAppInstallation in a team: upgrade
Exact Microsoft Learn PowerShell match

Microsoft Graph PowerShell beta commands are mapped directly from refreshed Microsoft Learn PowerShell snippets.

Commands
Add-MgBetaGroupFavorite /groups/{id}/addFavorite
group: addFavorite
Get-MgBetaChatMessage /teams/{team-id}/channels/{channel-id}/messages/{message-id}
Get chatMessage in a channel or chat
Get-MgBetaChatMessageHostedContent /teams/{team-id}/channels/{channel-id}/messages/{message-id}/hostedContents
List hostedContents
Get-MgBetaChatMessageHostedContent /teams/{team-id}/channels/{channel-id}/messages/{message-id}/hostedContents/{hosted-content-id}
Get chatMessageHostedContent
Get-MgBetaDirectoryObjectMemberGroup /directoryObjects/{id}/getMemberGroups
directoryObject: getMemberGroups
Get-MgBetaDirectorySetting /settings
List settings
Get-MgBetaDirectorySetting /settings/{directorySettingId}
Get directorySetting
Get-MgBetaDriveRoot /drives/{drive-id}/items/{item-id}
Get driveItem
Get-MgBetaGroup /groups
List groups
Get-MgBetaGroup /groups/{id}
Get group
Get-MgBetaGroupAcceptedSender /groups/{id}/acceptedSenders
List acceptedSenders
Get-MgBetaGroupConversation /groups/{id}/conversations
List conversations
Get-MgBetaGroupConversation /groups/{id}/conversations/{id}
Get conversation
Get-MgBetaGroupConversation /groups/{id}/conversations/{id}
Get conversation
Get-MgBetaGroupConversationThread /groups/{id}/conversations/{id}/threads
List threads
Get-MgBetaGroupDelta /groups/delta
group: delta
Get-MgBetaGroupEndpoint /groups/{id}/endpoints
List endpoints
Get-MgBetaGroupEndpoint /groups/{id}/endpoints/{id}
Get endpoint
Get-MgBetaGroupEvent /groups/{id}/events
List events
Get-MgBetaGroupEvent /groups/{id}/events/{id}
Get event
Get-MgBetaGroupMember /groups/{id}/members
List group members
Get-MgBetaGroupMemberAsServicePrincipal /groups/{id}/members
List group members
Get-MgBetaGroupMemberAsUser /groups/{id}/members
List group members
Get-MgBetaGroupOwner /groups/{id}/owners
List group owners
Get-MgBetaGroupPermissionGrant /groups/{group-id}/permissionGrants
List permissionGrants of a group
Get-MgBetaGroupPlannerPlan /groups/{group-id}/planner/plans
List plans
Get-MgBetaGroupRejectedSender /groups/{id}/rejectedSenders
List rejectedSenders
Get-MgBetaGroupThread /groups/{id}/threads
List threads
Get-MgBetaGroupThread /groups/{id}/threads/{id}
Get conversation thread
Get-MgBetaGroupThread /groups/{id}/threads/{id}
Get conversationThread
Get-MgBetaGroupThreadPost /groups/{groupId}/threads/{threadId}/posts
List posts
Get-MgBetaGroupThreadPost /groups/{id}/threads/{id}/posts/{id}
Get post
Get-MgBetaGroupThreadPostAttachment /groups/{id}/threads/{id}/posts/{id}/attachments
List attachments
Get-MgBetaGroupTransitiveMember /groups/{id}/transitiveMembers
List group transitive members
Get-MgBetaGroupTransitiveMemberAsGroup /groups/{id}/transitiveMembers
List group transitive members
Get-MgBetaGroupTransitiveMemberAsUser /groups/{id}/transitiveMembers
List group transitive members
Get-MgBetaPlannerBucket /planner/buckets
List buckets
Get-MgBetaPlannerBucket /planner/buckets/{id}
Get plannerBucket
Get-MgBetaPlannerBucketTask /planner/buckets/{id}/tasks
List plannerTask objects for a plannerBucket
Get-MgBetaPlannerPlan /planner/plans
List plans
Get-MgBetaPlannerPlan /planner/plans/{plan-id}
Get plannerPlan
Get-MgBetaPlannerPlanBucket /planner/plans/{plan-id}/buckets
List buckets
Get-MgBetaPlannerPlanDetail /planner/plans/{id}/details
Get plannerPlanDetails
Get-MgBetaPlannerPlanTask /planner/plans/{plan-id}/tasks
List tasks
Get-MgBetaPlannerTask /planner/tasks
List plannerTask objects
Get-MgBetaPlannerTask /planner/tasks/{id}
Get plannerTask
Get-MgBetaPlannerTaskAssignedToTaskBoardFormat /planner/tasks/{id}/assignedToTaskBoardFormat
Get plannerAssignedToTaskBoardTaskFormat
Get-MgBetaPlannerTaskBucketTaskBoardFormat /planner/tasks/{id}/bucketTaskBoardFormat
Get plannerBucketTaskBoardTaskFormat
Get-MgBetaPlannerTaskDetail /planner/tasks/{id}/details
Get plannerTaskDetails
Get-MgBetaPlannerTaskProgressTaskBoardFormat /planner/tasks/{id}/progressTaskBoardFormat
Get plannerProgressTaskBoardTaskFormat
Get-MgBetaTeam /teams/{team-id}
Get team
Get-MgBetaTeamChannel /teams/{team-id}/channels
List channels
Get-MgBetaTeamChannel /teams/{team-id}/channels/{channel-id}
Get channel
Get-MgBetaTeamChannelFileFolder /teams/{id}/channels/{id}/filesFolder
Get filesFolder
Get-MgBetaTeamChannelMessage /teams/{team-id}/channels/{channel-id}/messages
List channel messages
Get-MgBetaTeamChannelMessage /teams/{team-id}/channels/{channel-id}/messages/{message-id}
Get chatMessage in a channel or chat
Get-MgBetaTeamChannelMessageHostedContent /teams/{team-id}/channels/{channel-id}/messages/{message-id}/hostedContents
List hostedContents
Get-MgBetaTeamChannelMessageReply /teams/{team-id}/channels/{channel-id}/messages/{message-id}
Get chatMessage in a channel or chat
Get-MgBetaTeamChannelMessageReply /teams/{team-id}/channels/{channel-id}/messages/{message-id}/replies
List channel message replies
Get-MgBetaTeamChannelMessageReplyHostedContent /teams/{team-id}/channels/{channel-id}/messages/{message-id}/hostedContents
List hostedContents
Get-MgBetaTeamChannelTab /teams/{team-id}/channels/{channel-id}/tabs
List tabs in channel
Get-MgBetaTeamInstalledApp /teams/{id}/installedApps/{id}
Get installed app in team
Get-MgBetaTeamInstalledApp /teams/{team-id}/installedApps
List apps in team
Get-MgBetaTeamSchedule /teams/{teamId}/schedule
Get schedule
Get-MgBetaTeamScheduleOfferShiftRequest /teams/{teamId}/schedule/offerShiftRequests
List offerShiftRequest
Get-MgBetaTeamScheduleOfferShiftRequest /teams/{teamId}/schedule/offerShiftRequests/{offerShiftRequestId}
Get offerShiftRequest
Get-MgBetaTeamScheduleOpenShift /teams/{id}/schedule/openShifts
List openShifts
Get-MgBetaTeamScheduleOpenShift /teams/{id}/schedule/openShifts/{openShiftId}
Get openShift
Get-MgBetaTeamScheduleOpenShiftChangeRequest /teams/{id}/schedule/openShiftChangeRequests
List openShiftChangeRequests
Get-MgBetaTeamScheduleOpenShiftChangeRequest /teams/{id}/schedule/openShiftChangeRequests/{openShiftsChangeRequestId}
Get openShiftChangeRequest
Get-MgBetaTeamScheduleSchedulingGroup /teams/{teamId}/schedule/schedulingGroups
List schedulingGroups
Get-MgBetaTeamScheduleSchedulingGroup /teams/{teamId}/schedule/schedulingGroups/{schedulingGroupId}
Get schedulingGroup
Get-MgBetaTeamScheduleShift /teams/{teamId}/schedule/shifts
List shifts
Get-MgBetaTeamScheduleShift /teams/{teamId}/schedule/shifts/{shiftId}
Get shift
Get-MgBetaTeamScheduleSwapShiftChangeRequest /teams/{teamId}/schedule/swapShiftsChangeRequests
Get swapShiftsChangeRequest
Get-MgBetaTeamScheduleSwapShiftChangeRequest /teams/{teamId}/schedule/swapShiftsChangeRequests
List swapShiftsChangeRequest
Get-MgBetaTeamScheduleTimeOff /teams/{teamId}/schedule/timesOff
List timesOff
Get-MgBetaTeamScheduleTimeOff /teams/{teamId}/schedule/timesOff/{timeOffId}
Get timeOff
Get-MgBetaTeamScheduleTimeOffReason /teams/{teamId}/schedule/timeOffReasons
List timeOffReasons
Get-MgBetaTeamScheduleTimeOffReason /teams/{teamId}/schedule/timeOffReasons/{timeOffReasonId}
Get timeOffReason
Get-MgBetaTeamScheduleTimeOffRequest /teams/{teamId}/schedule/timeOffRequests
List timeOffRequests
Get-MgBetaTeamScheduleTimeOffRequest /teams/{teamId}/schedule/timeOffRequests/{timeOffRequestId}
Get timeOffRequest
Get-MgBetaUserMemberGroup /directoryObjects/{id}/getMemberGroups
directoryObject: getMemberGroups
Get-MgBetaUserMemberObject /directoryObjects/{id}/getMemberObjects
directoryObject: getMemberObjects
Get-MgBetaUserPlannerAllDelta /me/planner/all/delta
Planner: delta
Get-MgBetaUserPlannerPlan /me/planner/plans
List plans
Get-MgBetaUserPlannerTask /me/planner/tasks
List tasks
Invoke-MgBetaArchiveTeam /teams/{id}/archive
Archive team
Invoke-MgBetaForwardGroupThreadPost /groups/{id}/threads/{id}/posts/{id}/forward
post: forward
Invoke-MgBetaGraphGroup /groups/{id}/unsubscribeByMail
group: unsubscribeByMail
Invoke-MgBetaRenewGroup /groups/{id}/renew
group: renew
Invoke-MgBetaRenewGroupLifecyclePolicy /groupLifecyclePolicies/renewGroup
groupLifecyclePolicy: renewGroup
Invoke-MgBetaReplyGroupThread /groups/{id}/threads/{id}/reply
Add attachment
Invoke-MgBetaReplyGroupThread /groups/{id}/threads/{id}/reply
conversationThread: reply
Invoke-MgBetaReplyGroupThreadPost /groups/{id}/threads/{id}/posts/{id}/reply
post: reply
Invoke-MgBetaRetryGroupServiceProvisioning /groups/{id}/retryServiceProvisioning
group: retryServiceProvisioning
Invoke-MgBetaShareTeamSchedule /teams/{teamId}/schedule/share
schedule: share
Invoke-MgBetaSubscribeGroupByMail /groups/{id}/subscribeByMail
group: subscribeByMail
Invoke-MgBetaUnarchiveTeam /teams/{id}/unarchive
Unarchive team
New-MgBetaAdministrativeUnitMember /administrativeUnits/{id}/members/$ref
Add a member
New-MgBetaAdministrativeUnitMemberByRef /administrativeUnits/{id}/members/$ref
Add a member
New-MgBetaChatMessage /chats/{chat-id}/messages
Send message in a chat
New-MgBetaChatMessage /teams/{team-id}/channels/{channel-id}/messages
Send chatMessage in a channel or a chat
New-MgBetaGroup /groups
Create group
New-MgBetaGroup /groups(uniqueName='uniqueName')
Upsert group
New-MgBetaGroupAcceptedSenderByRef /groups/{id}/acceptedSenders/$ref
Create acceptedSender
New-MgBetaGroupConversation /groups/{id}/conversations
Create conversation
New-MgBetaGroupConversationThread /groups/{id}/conversations/{id}/threads
Create thread
New-MgBetaGroupEvent /groups/{id}/events
Create event
New-MgBetaGroupOwnerByRef /groups/{id}/owners/$ref
Add owners
New-MgBetaGroupRejectedSenderByRef /groups/{id}/rejectedSenders/$ref
Create rejectedSender
New-MgBetaGroupThread /groups/{id}/threads
Create conversation thread
New-MgBetaPlannerBucket /planner/buckets
Create plannerBucket
New-MgBetaPlannerPlan /planner/plans
Create plannerPlan
New-MgBetaPlannerTask /planner/tasks
Create plannerTask
New-MgBetaTeam /teams
Create team
New-MgBetaTeamChannel /teams/{team-id}/channels
Create channel
New-MgBetaTeamChannelMessage /teams/{team-id}/channels/{channel-id}/messages
Send chatMessage in a channel
New-MgBetaTeamChannelMessage /teams/{team-id}/channels/{channel-id}/messages
Send chatMessage in a channel or a chat
New-MgBetaTeamChannelMessageReply /teams/{team-id}/channels/{channel-id}/messages/{message-id}/replies
Send replies to a message in a channel
New-MgBetaTeamInstalledApp /teams/{team-id}/installedApps
Add app to team
New-MgBetaTeamScheduleOfferShiftRequest /teams/{teamId}/schedule/offerShiftRequests
Create offerShiftRequest
New-MgBetaTeamScheduleOpenShift /teams/{id}/schedule/openShifts
Create openShift
New-MgBetaTeamScheduleSchedulingGroup /teams/{teamId}/schedule/schedulingGroups
Create schedulingGroup
New-MgBetaTeamScheduleShift /teams/{teamId}/schedule/shifts
Create shift
New-MgBetaTeamScheduleTimeOff /teams/{teamId}/schedule/timesOff
Create timeOff
New-MgBetaTeamScheduleTimeOffReason /teams/{teamId}/schedule/timeOffReasons
Create timeOffReason
New-MgTeamChannelMessage /teams/{team-id}/channels/{channel-id}/messages
Send chatMessage in a channel or a chat
Remove-MgBetaGroup /groups/{id}
Delete group - Microsoft Graph API
Remove-MgBetaGroupConversation /groups/{id}/conversations/{id}
Delete conversation
Remove-MgBetaGroupConversation /groups/{id}/conversations/{id}
Delete conversation
Remove-MgBetaGroupEvent /groups/{id}/events/{id}
Delete event
Remove-MgBetaGroupFavorite /groups/{id}/removeFavorite
group: removeFavorite
Remove-MgBetaGroupMemberDirectoryObjectByRef /groups/{id}/members/{id}/$ref
Remove member
Remove-MgBetaGroupOwnerDirectoryObjectByRef /groups/{id}/owners/{id}/$ref
Remove group owner
Remove-MgBetaGroupThread /groups/{id}/threads/{id}
Delete conversation thread
Remove-MgBetaGroupThread /groups/{id}/threads/{id}
Delete conversationThread
Remove-MgBetaPlannerBucket /planner/buckets/{id}
Delete plannerBucket
Remove-MgBetaPlannerPlan /planner/plans/{id}
Delete plannerPlan
Remove-MgBetaPlannerTask /planner/tasks/{id}
Delete plannerTask
Remove-MgBetaTeamChannel /teams/{team-id}/channels/{channel-id}
Delete channel
Remove-MgBetaTeamInstalledApp /teams/{team-id}/installedApps/{app-installation-id}
Remove app from team
Remove-MgBetaTeamScheduleOpenShift /teams/{id}/schedule/openShifts/{openShiftId}
Delete openShift
Remove-MgBetaTeamScheduleSchedulingGroup /teams/{teamId}/schedule/schedulingGroups/{schedulingGroupId}
Delete schedulingGroup
Remove-MgBetaTeamScheduleShift /teams/{teamId}/schedule/shifts/{shiftId}
Delete shift
Remove-MgBetaTeamScheduleTimeOff /teams/{teamId}/schedule/timesOff/{timeOffId}
Delete timeOff
Remove-MgBetaTeamScheduleTimeOffReason /teams/{teamId}/schedule/timeOffReasons/{timeOffReasonId}
Delete timeOffReason
Remove-MgBetaTeamScheduleTimeOffRequest /teams/{teamId}/schedule/timeOffRequests/{timeOffRequestId}
Delete timeOffRequest
Remove-MgBetaUserPhotoContent /me/photo/$value
Delete profilePhoto
Set-MgBetaGroupLicense /groups/{id}/assignLicense
group: assignLicense
Set-MgBetaGroupTeam /groups/{id}/team
Create team from group
Set-MgBetaTeamPhotoContent /me/contacts/{id}/photo/$value
Update profilePhoto
Set-MgBetaTeamSchedule /teams/{teamId}/schedule
Create or replace schedule
Set-MgBetaUserPhotoContent /me/contacts/{id}/photo/$value
Update profilePhoto
Test-MgBetaDirectoryObjectProperty /directoryObjects/validateProperties
directoryObject: validateProperties
Test-MgBetaGroupProperty /groups/{id}/validateProperties
group: validateProperties
Update-MgBetaGroup /groups/{id}
Update group
Update-MgBetaGroupByUniqueName /groups(uniqueName='uniqueName')
Upsert group
Update-MgBetaGroupEvent /groups/{id}/events/{id}
Update event
Update-MgBetaGroupThread /groups/{group id}/threads/{thread id}
Update conversationthread
Update-MgBetaGroupThread /groups/{id}/threads/{id}
Update conversation thread
Update-MgBetaPlannerBucket /planner/buckets/{id}
Update plannerbucket
Update-MgBetaPlannerPlan /planner/plans/{plan-id}
Update plannerPlan
Update-MgBetaPlannerPlanDetail /planner/plans/{id}/details
Update plannerplandetails
Update-MgBetaPlannerTask /planner/tasks/{id}
Update plannertask
Update-MgBetaPlannerTaskAssignedToTaskBoardFormat /planner/tasks/{id}/assignedToTaskBoardFormat
Update plannerAssignedToTaskBoardTaskFormat
Update-MgBetaPlannerTaskBucketTaskBoardFormat /planner/tasks/{id}/bucketTaskBoardFormat
Update plannerBucketTaskBoardTaskFormat
Update-MgBetaPlannerTaskDetail /planner/tasks/{id}/details
Update plannerTaskDetails
Update-MgBetaPlannerTaskProgressTaskBoardFormat /planner/tasks/{id}/progressTaskBoardFormat
Update plannerProgressTaskBoardTaskFormat
Update-MgBetaTeam /teams/{team-id}
Update team
Update-MgBetaTeamChannel /teams/{team-id}/channels/{channel-id}
Update channel
Update-MgBetaTeamChannelMessage /teams/(team-id)/channels/{channel-id}/messages/{message-id}
Update chatMessage
Update-MgBetaTeamInstalledApp /teams/{team-id}/installedApps/{app-installation-id}/upgrade
teamsAppInstallation: upgrade
Update-MgBetaUserPlanner /me/planner
Update plannerUser

Code Examples

C# / .NET SDK
Add a member
// Code snippets are only available for the latest version. Current version is 5.x

// Dependencies
using Microsoft.Graph.Models;

var requestBody = new ReferenceCreate
{
	OdataId = "https://graph.microsoft.com/v1.0/groups/{id}",
};

// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
await graphClient.Directory.AdministrativeUnits["{administrativeUnit-id}"].Members.Ref.PostAsync(requestBody);
JavaScript
Add a member
const options = {
	authProvider,
};

const client = Client.init(options);

const directoryObject = {
  '@odata.id':'https://graph.microsoft.com/v1.0/groups/{id}'
};

await client.api('/directory/administrativeUnits/{id}/members/$ref')
	.post(directoryObject);
PowerShell
Add a member
Import-Module Microsoft.Graph.Identity.DirectoryManagement

$params = @{
	"@odata.id" = "https://graph.microsoft.com/v1.0/groups/{id}"
}

New-MgDirectoryAdministrativeUnitMemberByRef -AdministrativeUnitId $administrativeUnitId -BodyParameter $params
Python
Add a member
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.models.reference_create import ReferenceCreate
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = ReferenceCreate(
	odata_id = "https://graph.microsoft.com/v1.0/groups/{id}",
)

await graph_client.directory.administrative_units.by_administrative_unit_id('administrativeUnit-id').members.ref.post(request_body)

App Registration

1

Navigate to Azure Portal

Go to App registrations in Microsoft Entra admin center

2

Add API Permission

Select your app → API permissions → Add a permission → Microsoft Graph

3

Select Permission Type

Choose Application permissions or delegated permissions and search for Group.ReadWrite.All

4

Grant Admin Consent

Application permissions always require admin consent.