Edit

Share via


group resource type

Namespace: microsoft.graph

Represents a Microsoft Entra group, a Microsoft 365 group, or a security group. This resource is an open type that allows other properties to be passed in.

Inherits from directoryObject.

For performance reasons, the create, get, and list operations return only a subset of more commonly used properties by default. These default properties are noted in the Properties section. To get any of the properties not returned by default, specify them in a $select OData query option.

This resource supports:

Methods

MethodReturn TypeDescription
Listgroup collectionList group objects and their properties.
CreategroupCreate a new group. It can be a Microsoft 365 group, dynamic group, or security group.
GetgroupRead properties of a group object.
UpdateNoneUpdate the properties of a group object.
UpsertgroupCreate a new group if it doesn't exist, or update the properties of an existing group.
DeleteNoneDelete group object.
Get deltagroup collectionGet incremental changes for groups.
Group management
List membersdirectoryObject collectionGet the direct members of this group from the members navigation property.
Add membersNoneAdd a member to this group by posting to the members navigation property (supported for security groups and Microsoft 365 groups only).
Remove memberNoneRemove a member from a Microsoft 365 group or a security group through the members navigation property.
List ownersdirectoryObject collectionGet the owners of the group from the owners navigation property.
Add ownersNoneAdd a new owner for the group by posting to the owners navigation property (supported for security groups and Microsoft 365 groups only).
Remove ownerNoneRemove an owner from a Microsoft 365 group or a security group through the owners navigation property.
List group lifecycle policiesgroupLifecyclePolicy collectionList group lifecycle policies.
List transitive membersdirectoryObject collectionGet the users, groups, and devices that are members, including nested members of this group.
List transitive member ofdirectoryObject collectionList the groups that this group is a member of. This operation is transitive and includes the groups that this group is a nested member of.
Assign licensegroupAdd or remove subscriptions for the group. You can also enable and disable specific plans associated with a subscription.
RenewBooleanRenews a group's expiration. Renewing extends the group expiration by the number of days defined in the policy.
Validate propertiesJSONValidate that a Microsoft 365 group's display name or mail nickname complies with naming policies.
App role assignments
ListappRoleAssignment collectionGet the apps and app roles assigned to this group.
AddappRoleAssignmentAssign an app role to this group.
RemoveNone.Remove an app role assignment from this group.
Calendar
Get calendarcalendarGet the group's calendar.
Update calendarNoneUpdate the group's calendar.
List eventsevent collectionGet an event object collection.
Create eventeventCreate a new event by posting to the events collection.
Get eventeventRead properties of an event object.
Update eventNoneUpdate the properties of an event object.
Delete eventNoneDelete event object.
List calendar viewevent collectionGet a collection of events in a specified time window.
Conversations
List conversationsconversation collectionGet a conversation object collection.
Create conversationconversationCreate a new conversation by posting to the conversations collection.
Get conversationconversationRead properties of a conversation object.
Delete conversationNoneDelete conversation object.
List threadsconversationThread collectionGet all the threads of a group.
Create threadconversationThreadCreate a new conversation thread.
Get threadconversationThreadRead properties of a thread object.
Update threadNoneUpdate properties of a thread object.
Delete threadNoneDelete thread object.
List accepted sendersdirectoryObject collectionGet a list of users or groups that are in the accepted-senders list for this group.
Add accepted senderdirectoryObjectAdd a User or Group to the acceptSenders collection.
Remove accepted senderdirectoryObjectRemove a User or Group from the acceptedSenders collection.
List rejected sendersdirectoryObject collectionGet a list of users or groups that are in the rejected-senders list for this group.
Add rejected senderdirectoryObjectAdd a new User or Group to the rejectedSenders collection.
Remove rejected senderdirectoryObjectRemove new User or Group from the rejectedSenders collection.
Directory objects
List deleted itemsdirectoryObject collectionRetrieve the groups deleted in the tenant in the last 30 days.
Get deleted itemdirectoryObject collectionRetrieve a deleted group by ID.
Restore deleted itemdirectoryObject collectionRestore a group deleted in the tenant in the last 30 days.
Permanently delete itemdirectoryObject collectionPermanently delete a deleted group from the tenant.
List deleted items owned by userdirectoryObject collectionRetrieve the user's groups deleted in the tenant in the last 30 days.
Check member groupsString collectionCheck for membership in a list of groups. The function is transitive.
Get member groupsString collectionReturn all the groups that the group is a member of. The function is transitive.
Check member objectsString collectionCheck for membership in a list of group, directory role, or administrative unit objects. The function is transitive.
Get member objectsString collectionReturn all of the groups and administrative units that the group is a member of. The function is transitive.
Drive
Get drivedriveRetrieve the properties and relationships of a Drive resource.
List childrenDriveItemsReturn a collection of DriveItems in the children relationship of a DriveItem.
Group settings
ListgroupSetting collectionList properties of all setting objects.
CreategroupSettingCreate a setting object based on a groupSettingTemplate. The POST request must provide settingValues for all the settings defined in the template. Only groups specific templates can be used for this operation.
GetgroupSettingRead properties of a specific setting object.
UpdateNoneUpdate a setting object.
DeleteNoneDelete a setting object.
List setting templateNoneList properties of all setting templates.
Get setting templateNoneRead properties of a setting template.
Notes
List notebooksnotebook collectionRetrieve a list of notebook objects.
Create notebooknotebookCreate a new OneNote notebook.
Profile photo
GetprofilePhotoGet the specified profilePhoto or its metadata (profilePhoto properties).
UpdateNoneUpdate the photo for any user in the tenant including the signed-in user, or the specified group or contact.
DeleteNoneDelete the photo for any user in the tenant including the signed-in user or the specified group.
Planner
List plansplannerPlan collectionGet plans assigned to the group.
Posts
Listpost collectionGet posts in a conversation thread.
GetpostGet a specific post.
Reply to postNoneReply to a post.
Forward postNoneForward a post.
Other group resources
List permission grantsresourceSpecificPermissionGrant collectionList permissions that are granted to apps to access the group.
User settings
Add favoriteNoneAdd the group to the list of the signed-in user's favorite groups. Supported for only Microsoft 365 groups.
Remove favoriteNoneRemove the group from the list of the signed-in user's favorite groups. Supported for only Microsoft 365 groups.
List member ofdirectoryObject collectionGet the groups and administrative units that this user is a direct member of, from the memberOf navigation property.
List joined teamsgroup collectionGet the Microsoft Teams that the user is a direct member of.
List associated teamsassociatedTeamInfo collectionGet the list of associatedTeamInfo objects in Microsoft Teams that a user is associated with.
Subscribe by mailNoneSet the isSubscribedByMail property to true. Enabling the signed-in user to receive email conversations. Supported for only Microsoft 365 groups.
Unsubscribe by mailNoneSet the isSubscribedByMail property to false. Disabling the signed-in user from receive email conversations. Supported for only Microsoft 365 groups.
Reset unseen countNoneReset the unseenCount to 0 of all the posts that the signed-in user hasn't seen since their last visit. Supported for only Microsoft 365 groups.

Properties

Important

Specific usage of $filter and the $search query parameter is supported only when you use the ConsistencyLevel header set to eventual and $count. For more information, see Advanced query capabilities on directory objects.

PropertyTypeDescription
allowExternalSendersBooleanIndicates 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}).
assignedLabelsassignedLabel collectionThe 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.
assignedLicensesassignedLicense collectionThe licenses that are assigned to the group.

Returned only on $select. Supports $filter (eq).Read-only.
autoSubscribeNewMembersBooleanIndicates 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}).
classificationStringDescribes 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).
createdDateTimeDateTimeOffsetTimestamp 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.
deletedDateTimeDateTimeOffsetFor 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.
descriptionStringAn optional description for the group.

Returned by default. Supports $filter (eq, ne, not, ge, le, startsWith) and $search.
displayNameStringThe 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.
expirationDateTimeDateTimeOffsetTimestamp 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.
groupTypesString collectionSpecifies 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).
hasMembersWithLicenseErrorsBooleanIndicates 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).
hideFromAddressListsBooleanTrue 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}).
hideFromOutlookClientsBooleanTrue 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}).
idStringThe unique identifier for the group.

Returned by default. Inherited from directoryObject. Key. Not nullable. Read-only.

Supports $filter (eq, ne, not, in).
isArchivedBooleanWhen a group is associated with a team, this property determines whether the team is in read-only mode.
To read this property, use the /group/{groupId}/team endpoint or the Get team API. To update this property, use the archiveTeam and unarchiveTeam APIs.
isAssignableToRoleBooleanIndicates whether this group can be assigned to a Microsoft Entra role. Optional.

This property can only be set while creating the group and is immutable. If set to true, the securityEnabled property must also be set to true, visibility must be Hidden, and the group can't be a dynamic group (that is, groupTypes can't contain DynamicMembership).

Only callers with at least the Privileged Role Administrator role can set this property. The caller must also be assigned the RoleManagement.ReadWrite.Directory permission to set this property or update the membership of such groups. For more, see Using a group to manage Microsoft Entra role assignments

Using this feature requires a Microsoft Entra ID P1 license. Returned by default. Supports $filter (eq, ne, not).
isSubscribedByMailBooleanIndicates whether the signed-in user is subscribed to receive email conversations. The default value is true.

Returned only on $select. Supported only on the Get group API (GET /groups/{ID}).
licenseProcessingStateStringIndicates the status of the group license assignment to all group members. The default value is false. Read-only. Possible values: QueuedForProcessing, ProcessingInProgress, and ProcessingComplete.

Returned only on $select. Read-only.
mailStringThe SMTP address for the group, for example, "serviceadmins@contoso.com".

Returned by default. Read-only. Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq on null values).
mailEnabledBooleanSpecifies whether the group is mail-enabled. Required.

Returned by default. Supports $filter (eq, ne, not).
mailNicknameStringThe mail alias for the group, unique for Microsoft 365 groups in the organization. Maximum length is 64 characters. This property can contain only characters in the ASCII character set 0 - 127 except the following characters: @ () \ [] " ; : <> , SPACE.

Required. Returned by default. Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq on null values).
membershipRuleStringThe rule that determines members for this group if the group is a dynamic group (groupTypes contains DynamicMembership). For more information about the syntax of the membership rule, see Membership Rules syntax.

Returned by default. Supports $filter (eq, ne, not, ge, le, startsWith).
membershipRuleProcessingStateStringIndicates whether the dynamic membership processing is on or paused. Possible values are On or Paused.

Returned by default. Supports $filter (eq, ne, not, in).
onPremisesDomainNameStringContains the on-premises domain FQDN, also called dnsDomainName synchronized from the on-premises directory. The property is only populated for customers synchronizing their on-premises directory to Microsoft Entra ID via Microsoft Entra Connect.

Returned by default. Read-only.
onPremisesLastSyncDateTimeDateTimeOffsetIndicates the last time at which the group was synced with the on-premises directory. 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. Supports $filter (eq, ne, not, ge, le, in).
onPremisesNetBiosNameStringContains the on-premises netBios name synchronized from the on-premises directory. The property is only populated for customers synchronizing their on-premises directory to Microsoft Entra ID via Microsoft Entra Connect.

Returned by default. Read-only.
onPremisesProvisioningErrorsonPremisesProvisioningError collectionErrors when using Microsoft synchronization product during provisioning.

Returned by default. Supports $filter (eq, not).
onPremisesSamAccountNameStringContains the on-premises SAM account name synchronized from the on-premises directory. The property is only populated for customers synchronizing their on-premises directory to Microsoft Entra ID via Microsoft Entra Connect.

Returned by default. Supports $filter (eq, ne, not, ge, le, in, startsWith). Read-only.
onPremisesSecurityIdentifierStringContains the on-premises security identifier (SID) for the group synchronized from on-premises to the cloud. Read-only.

Returned by default. Supports $filter (eq including on null values).
onPremisesSyncEnabledBooleantrue if this group is synced from an on-premises directory; false if this group was originally synced from an on-premises directory but is no longer synced; null if this object has never synced from an on-premises directory (default).

Returned by default. Read-only. Supports $filter (eq, ne, not, in, and eq on null values).
preferredDataLocationStringThe preferred data location for the Microsoft 365 group. By default, the group inherits the group creator's preferred data location. To set this property, the calling app must be granted the Directory.ReadWrite.All permission and the user be assigned at least one of the following Microsoft Entra roles:
    User Account Administrator
  • Directory Writer
  • Exchange Administrator
  • SharePoint Administrator

For more information about this property, see OneDrive Online Multi-Geo.

Nullable. Returned by default.
preferredLanguageStringThe preferred language for a Microsoft 365 group. Should follow ISO 639-1 Code; for example, en-US.

Returned by default. Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq on null values).
proxyAddressesString collectionEmail addresses for the group that direct to the same group mailbox. For example: ["SMTP: bob@contoso.com", "smtp: bob@sales.contoso.com"]. 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).
renewedDateTimeDateTimeOffsetTimestamp of when the group was last renewed. This value can't be modified directly and is only updated via the renew service action. 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.
securityEnabledBooleanSpecifies whether the group is a security group. Required.

Returned by default. Supports $filter (eq, ne, not, in).
securityIdentifierStringSecurity identifier of the group, used in Windows scenarios. Read-only.

Returned by default.
serviceProvisioningErrorsserviceProvisioningError collectionErrors published by a federated service describing a nontransient, service-specific error regarding the properties or link from a group object.

Supports $filter (eq, not, for isResolved and serviceInstance).
themestringSpecifies a Microsoft 365 group's color theme. Possible values are Teal, Purple, Green, Blue, Pink, Orange, or Red.

Returned by default.
uniqueNameStringThe unique identifier that can be assigned to a group and used as an alternate key. Immutable. Read-only.
unseenCountInt32Count of conversations that received new posts since the signed-in user last visited the group.

Returned only on $select. Supported only on the Get group API (GET /groups/{ID}).
visibilityStringSpecifies the group join policy and group content visibility for groups. Possible values are: Private, Public, or HiddenMembership. HiddenMembership can be set only for Microsoft 365 groups when the groups are created. It can't be updated later. Other values of visibility can be updated after group creation.
If visibility value isn't specified during group creation on Microsoft Graph, a security group is created as Private by default, and the Microsoft 365 group is Public. Groups assignable to roles are always Private. To learn more, see group visibility options.

Returned by default. Nullable.

Group visibility options

ValueDescription
PublicAnyone can join the group without needing owner permission.
Anyone can view the attributes of the group.
Anyone can see the members of the group.
PrivateOwner permission is needed to join the group.
Anyone can view the attributes of the group.
Anyone can see the members of the group.
HiddenMembershipOwner permission is needed to join the group.
Guests can't view the attributes of the group.
Nonmembers can't see the members of the group. This setting doesn't affect visibility of group owners.
Administrators (global, company, user, and helpdesk) can view the membership of the group.
The group appears in the global address book (GAL).

Relationships

RelationshipTypeDescription
acceptedSendersdirectoryObject collectionThe 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.
appRoleAssignmentsappRoleAssignment collectionRepresents the app roles granted to a group for an application. Supports $expand.
calendarcalendarThe group's calendar. Read-only.
calendarViewevent collectionThe calendar view for the calendar. Read-only.
conversationsconversation collectionThe group's conversations.
createdOnBehalfOfdirectoryObjectThe user (or application) that created the group. NOTE: This property isn't set if the user is an administrator. Read-only.
drivedriveThe group's default drive. Read-only.
drivesdrive collectionThe group's drives. Read-only.
eventsevent collectionThe group's calendar events.
extensionsextension collectionThe collection of open extensions defined for the group. Read-only. Nullable.
groupLifecyclePoliciesgroupLifecyclePolicy collectionThe collection of lifecycle policies for this group. Read-only. Nullable.
memberOfdirectoryObject collectionGroups that this group is a member of. HTTP Methods: GET (supported for all groups). Read-only. Nullable. Supports $expand.
membersdirectoryObject collectionThe 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).
membersWithLicenseErrorsUser collectionA list of group members with license errors from this group-based license assignment. Read-only.
onenoteOnenoteRead-only.
ownersdirectoryObject collectionThe owners of the group who can be users or service principals. Limited to 100 owners. Nullable.
  • If 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.
  • A 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.
  • For 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).
  • photoprofilePhotoThe group's profile photo
    photosprofilePhoto collectionThe profile photos owned by the group. Read-only. Nullable.
    plannerplannerGroupEntry-point to Planner resource that might exist for a Unified Group.
    rejectedSendersdirectoryObject collectionThe list of users or groups not allowed to create posts or calendar events in this group. Nullable
    settingsgroupSetting collectionSettings that can govern this group's behavior, like whether members can invite guests to the group. Nullable.
    sitessite collectionThe list of SharePoint sites in this group. Access the default site with /sites/root.
    teamchannel collectionThe team associated with this group.
    threadsconversationThread collectionThe group's conversation threads. Nullable.
    transitiveMemberOfdirectoryObject collectionThe groups that a group is a member of, either directly or through nested membership. Nullable.
    transitiveMembersdirectoryObject collectionThe direct and transitive members of a group. Nullable.

    JSON representation

    The following JSON representation shows the resource type.

    { "allowExternalSenders": false, "acceptedSenders": [{ "@odata.type": "microsoft.graph.directoryObject" }], "assignedLicenses": [{ "@odata.type": "microsoft.graph.assignedLicense" }], "autoSubscribeNewMembers": true, "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": false, "hideFromOutlookClients": false, "id": "String (identifier)", "isAssignableToRole": false, "isSubscribedByMail": true, "licenseProcessingState": "String", "mail": "String", "mailEnabled": true, "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": true, "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)", "securityEnabled": true, "securityIdentifier": "String", "serviceProvisioningErrors": [ { "@odata.type": "microsoft.graph.serviceProvisioningXmlError" } ], "sites": [{ "@odata.type": "microsoft.graph.site" }], "threads": [{ "@odata.type": "microsoft.graph.conversationThread" }], "uniqueName": "String", "unseenCount": 1024, "visibility": "String" }