Create group

Important: APIs under the /beta version in Microsoft Graph are in preview and are subject to change. Use of these APIs in production applications is not supported.

Use this API to create a new group as specified in the request body. You can create one of three types of groups:

  • Office 365 Group (unified group)
  • Dynamic group
  • Security group

Note: To create a team, first create a group then add a team to it, see create team.

Permissions

One of the following permissions is required to call this API. To learn more, including how to choose permissions, see Permissions.

Permission type Permissions (from least to most privileged)
Delegated (work or school account) Group.ReadWrite.All
Delegated (personal Microsoft account) Not supported.
Application Group.ReadWrite.All

HTTP request

POST /groups

Request headers

Name Type Description
Authorization string Bearer {token}. Required.

Request body

The following table shows the properties of the group resource to specify when you create a group.

Property Type Description
displayName string The name to display in the address book for the group. Required.
mailEnabled boolean Set to true for mail-enabled groups. Set this to true if creating an Office 365 Group. Set this to false if creating dynamic or security group. Required.
mailNickname string The mail alias for the group. Required.
securityEnabled boolean Set to true for security-enabled groups. Set this to true if creating a dynamic or security group. Set this to false if creating an Office 365 Group. Required.
owners string collection This property represents the owners for the group at creation time. Optional.
members string collection This property represents the members for the group at creation time. Optional.

Specify the groupTypes property if you're creating an Office 365 or dynamic group, as stated below.

Type of group groupTypes property
Office 365 (aka unified group) "Unified"
Dynamic "DynamicMembership"
Security Do not set.

Since the group resource supports extensions, you can use the POST operation and add custom properties with your own data to the group while creating it.

Note: Creating an Office 365 Group programmatically without a user context and without specifying owners will create the group anonymously. Doing so can result in the associated SharePoint Online site not being created automatically until further manual action is taken.

Specify other writable properties as necessary for your group. For more information, see the properties of the group resource.

Response

If successful, this method returns 201 Created response code and group object in the response body.

Example

Request 1

The first example request creates an Office 365 Group.

POST https://graph.microsoft.com/beta/groups
Content-type: application/json
Content-length: 244

{
  "description": "Self help community for library",
  "displayName": "Library Assist",
  "groupTypes": [
    "Unified"
  ],
  "mailEnabled": true,
  "mailNickname": "library",
  "securityEnabled": false
}

Response

The following is an example of the response.

Note: The response object shown here might be shortened for readability. All the properties will be returned from an actual call.

HTTP/1.1 201 Created
Content-type: application/json
Content-length: 244

{
  "description": "Self help community for library",
  "displayName": "Library Assist",
  "groupTypes": [
    "Unified"
  ],
  "mail": "library@contoso.onmicrosoft.com",
  "mailEnabled": true,
  "mailNickname": "library",
  "securityEnabled": false
}

Request 2

The second example request creates an Office 365 Group with owners specified.

POST https://graph.microsoft.com/v1.0/groups
Content-Type: application/json
 {
  "description": "Group with owners",
  "displayName": "Group1",
  "groupTypes": [
    "Unified"
  ],
  "mailEnabled": true,
  "mailNickname": "group1",
  "securityEnabled": false,
  "owners@odata.bind": [
    "https://graph.microsoft.com/v1.0/users/26be1845-4119-4801-a799-aea79d09f1a2"
  ]
}

Response 2

The following is an example of the successful response.

Note: The response object shown here might be shortened for readability. All the properties will be returned from an actual call.

HTTP/1.1 201 Created
Content-type: application/json
 {
    "description": "Group with owners",
    "displayName": "Group1",
    "groupTypes": [
        "Unified"
    ],
    "mail": "group1@contoso.onmicrosoft.com",
    "mailEnabled": true,
    "mailNickname": "group1",
    "securityEnabled": false
}

See also