Updates from: 07/07/2022 01:19:50
Service Microsoft Docs article Related commit history on GitHub Change details
v1.0 Application Post Calls https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/application-post-calls.md
One of the following permissions is required to call this API. To learn more, in
| Permission type | Permissions (from least to most privileged) | |:|:-|
-| Delegated (work or school account) | Not Supported |
-| Delegated (personal Microsoft account) | Not Supported |
-| Application | Calls.JoinGroupCalls.Chat*, Calls.JoinGroupCallsasGuest.All, Calls.JoinGroupCalls.All, Calls.Initiate.All, Calls.InitiateGroupCalls.All |
+| Delegated (work or school account) | Not supported. |
+| Delegated (personal Microsoft account) | Not supported. |
+| Application | Calls.JoinGroupCalls.Chat*, Calls.JoinGroupCallAsGuest.All, Calls.JoinGroupCall.All, Calls.Initiate.All, Calls.InitiateGroupCall.All |
> **Notes:** For a call with app-hosted media, you need the Calls.AccessMedia.All or the Calls.AccessMedia.Chat* permission in addition to one of the permissions listed. >
Content-Type: application/json
<!-- { "blockType": "response", "truncated": true,
+ "name": "create-call-service-hosted-media-1",
"@odata.type": "microsoft.graph.call" } -->
Content-Type: application/json
-`<Media Session Configuration>` is the serialized media session configuration which contains the session information of the media stack. Specific information about audio, video, VBSS ssession information should be passed here.
+`<Media Session Configuration>` is the serialized media session configuration which contains the session information of the media stack. Specific information about audio, video, VBSS session information should be passed here.
The following is an example of an audio media session blob.
The following is an example of an audio media session blob.
<!-- { "blockType": "response", "truncated": true,
+ "name": "create-call-app-hosted-media",
"@odata.type": "microsoft.graph.call" } -->
This supports up to 5 VoIP users. The example shows how to create a group call w
#### Request
-```http
-POST https://graph.microsoft.com/beta/communications/calls
-Content-Type: application/json
-```
- <!-- {
- "blockType": "example",
+ "blockType": "request",
"@odata.type": "microsoft.graph.call",
- "truncated": true
+ "name": "create-group-call-service-hosted-media"
}-->
-```json
+```http
+POST https://graph.microsoft.com/beta/communications/calls
+Content-Type: application/json
+ { "@odata.type": "#microsoft.graph.call", "direction": "outgoing",
Content-Type: application/json
} ```
-### Example 4: Create a group call with application hosted media
+#### Response
-This supports up to 5 VoIP users. The example shows how to create a group call with two VoIP users.
-> **Note:** This example call needs the `Calls.InitiateGroupCalls.All` permission. The group call created doesn't support chat or recording.
+> **Note:** The response object shown here might be shortened for readability.
-#### Request
+<!-- {
+ "blockType": "response",
+ "truncated": true,
+ "name": "create-group-call-service-hosted-media",
+ "@odata.type": "microsoft.graph.call"
+} -->
```http
-POST https://graph.microsoft.com/beta/communications/calls
+HTTP/1.1 201 Created
+Location: https://graph.microsoft.com/beta/communications/calls/2f1a1100-b174-40a0-aba7-0b405e01ed92
Content-Type: application/json+
+{
+ "@odata.type": "#microsoft.graph.call",
+ "state": "establishing",
+ "direction": "outgoing",
+ "subject": "Create a group call with service hosted media",
+ "callbackUri": "https://bot.contoso.com/callback",
+ "callChainId": "d17646-3110-40b1-bae6-e9ac6c3f74",
+ "callRoutes": [],
+ "source": {
+ "@odata.type": "#microsoft.graph.participantInfo",
+ "identity": {
+ "@odata.type": "#microsoft.graph.identitySet",
+ "application": {
+ "@odata.type": "#microsoft.graph.identity",
+ "displayName": "TestBot",
+ "id": "dd3885da-f9ab-486b-bfae-85de3d445555"
+ }
+ },
+ "region": null,
+ "languageId": null
+ },
+ "targets": [
+ {
+ "@odata.type": "#microsoft.graph.invitationParticipantInfo",
+ "identity": {
+ "@odata.type": "#microsoft.graph.identitySet",
+ "user": {
+ "@odata.type": "#microsoft.graph.identity",
+ "displayName": "user1",
+ "id": "98da8a1a-1b87-452c-a713-65d3f10b5555"
+ }
+ }
+ },
+ {
+ "@odata.type": "#microsoft.graph.invitationParticipantInfo",
+ "identity": {
+ "@odata.type": "#microsoft.graph.identitySet",
+ "user": {
+ "@odata.type": "#microsoft.graph.identity",
+ "displayName": "user2",
+ "id": "bf5aae9a-d11d-47a8-93b1-782504c95555"
+ }
+ }
+ }
+ ],
+ "requestedModalities": [
+ "audio"
+ ],
+ "activeModalities": [],
+ "mediaConfig": {
+ "@odata.type": "#microsoft.graph.serviceHostedMediaConfig",
+ },
+ "routingPolicies": [],
+ "tenantId": "aa67bd4c-8475-432d-bd41-39f255720e0a",
+ "id": "2f1a1100-b174-40a0-aba7-0b405e01ed92",
+ "myParticipantId": "c9a65b85-a223-44ae-8cdb-29395458323f",
+ "@odata.context": "https://graph.microsoft.com/beta/$metadata#app/calls/$entity",
+}
```
+### Example 4: Create a group call with application hosted media
+
+This supports up to 5 VoIP users. The example shows how to create a group call with two VoIP users.
+> **Note:** This example call needs the `Calls.InitiateGroupCalls.All` permission. The group call created doesn't support chat or recording.
+
+#### Request
+ <!-- {
- "blockType": "example",
+ "blockType": "request",
"@odata.type": "microsoft.graph.call",
- "truncated": true
+ "name": "create-group-call-app-hosted-media"
}-->
-```json
+```http
+POST https://graph.microsoft.com/beta/communications/calls
+Content-Type: application/json
+ { "@odata.type": "#microsoft.graph.call", "direction": "outgoing",
- "subject": "Create a group call with service hosted media",
+ "subject": "Create a group call with app hosted media",
"callbackUri": "https://bot.contoso.com/callback", "source": { "@odata.type": "#microsoft.graph.participantInfo",
Content-Type: application/json
} ```
+#### Response
+
+> **Note:** The response object shown here might be shortened for readability.
+
+<!-- {
+ "blockType": "response",
+ "truncated": true,
+ "name": "create-group-call-app-hosted-media",
+ "@odata.type": "microsoft.graph.call"
+} -->
+
+```http
+HTTP/1.1 201 Created
+Location: https://graph.microsoft.com/beta/communications/calls/2f1a1100-b174-40a0-aba7-0b405e01ed92
+Content-Type: application/json
+
+{
+ "@odata.type": "#microsoft.graph.call",
+ "state": "establishing",
+ "direction": "outgoing",
+ "subject": "Create a group call with app hosted media",
+ "callbackUri": "https://bot.contoso.com/callback",
+ "callChainId": "d8217646-3110-40b1-bae6-e9ac6c3a9f74",
+ "callRoutes": [],
+ "source": {
+ "@odata.type": "#microsoft.graph.participantInfo",
+ "identity": {
+ "@odata.type": "#microsoft.graph.identitySet",
+ "application": {
+ "@odata.type": "#microsoft.graph.identity",
+ "displayName": "TestBot",
+ "id": "dd3885da-f9ab-486b-bfae-85de3d445555"
+ }
+ },
+ "region": null,
+ "languageId": null
+ },
+ "targets": [
+ {
+ "@odata.type": "#microsoft.graph.invitationParticipantInfo",
+ "identity": {
+ "@odata.type": "#microsoft.graph.identitySet",
+ "user": {
+ "@odata.type": "#microsoft.graph.identity",
+ "displayName": "user1",
+ "id": "98da8a1a-1b87-452c-a713-65d3f10b5555"
+ }
+ }
+ },
+ {
+ "@odata.type": "#microsoft.graph.invitationParticipantInfo",
+ "identity": {
+ "@odata.type": "#microsoft.graph.identitySet",
+ "user": {
+ "@odata.type": "#microsoft.graph.identity",
+ "displayName": "user2",
+ "id": "bf5aae9a-d11d-47a8-93b1-782504c95555"
+ }
+ }
+ }
+ ],
+ "requestedModalities": [
+ "audio"
+ ],
+ "activeModalities": [],
+ "mediaConfig": {
+ "@odata.type": "#microsoft.graph.appHostedMediaConfig",
+ "blob": "<Media Session Configuration>",
+ "removeFromDefaultAudioGroup": false
+ },
+ "routingPolicies": [],
+ "tenantId": "aa67bd4c-8475-432d-bd41-39f255720e0a",
+ "id": "2f1a1100-b174-40a0-aba7-0b405e01ed92",
+ "myParticipantId": "c9a65b85-a223-44ae-8cdb-29395458323f",
+ "@odata.context": "https://graph.microsoft.com/beta/$metadata#app/calls/$entity",
+}
+```
+ ### Example 5: Join scheduled meeting with service hosted media
-To join the scheduled meeting we will need to get the thread id, message id, organizer id and the tenant id in which the meeting is scheduled.
-This information can be obtained from [Get Online Meetings API](../api/onlinemeeting-get.md).
+To join the scheduled meeting we will need to get the thread ID, message ID, organizer ID and the tenant ID in which the meeting is scheduled.
+This information can be obtained from the [Get onlineMeeting](../api/onlinemeeting-get.md) API.
-The values of authorization token, callback url, application id, application name, user id, user name and tenant id must be replaced along with the details obtained from [Get Online Meetings API](../api/onlinemeeting-get.md) with actual values to make the example work.
+The values of authorization token, callback url, application ID, application name, user ID, user name and tenant ID must be replaced along with the details obtained from the [Get onlineMeeting](../api/onlinemeeting-get.md) API with actual values to make the example work.
> **Note:** This example needs the `Calls.JoinGroupCalls.All` permission or the `Calls.JoinGroupCalls.Chat` [resource-specific permission](/microsoftteams/platform/graph-api/rsc/resource-specific-consent). #### Request # [HTTP](#tab/http)- <!-- { "blockType": "request", "name": "join-meeting-service-hosted-media",
Content-Type: application/json
<!-- { "blockType": "response", "truncated": "true",
+ "name": "join-meeting-service-hosted-media",
"@odata.type": "microsoft.graph.call" }-->
Content-Type: application/json
>**Note:** For join meeting scenarios apart from call state notifications, we receive roster notifications.
-### Example 6: Join scheduled meeting with app hosted media
-To join the meeting with application hosted media, update the media config with the [appHostedMediaConfig](../resources/apphostedmediaconfig.md) as shown in the following example.
-
->**Note:** This example needs the `Calls.AccessMedia.All` permission or the `Calls.AccessMedia.Chat` [resource-specific permission](/microsoftteams/platform/graph-api/rsc/resource-specific-consent).
+### Example 6: Join a scheduled meeting with joinMeetingId and passcode
+The following shows an example that requires a **joinMeetingId** and a **passcode** to join an existing meeting. You can retrieve these properties from the [Get onlineMeeting](../api/onlinemeeting-get.md) API.
+#### Request
<!-- {
- "blockType": "example",
- "name": "join-meeting-app-hosted-media",
+ "blockType": "request",
+ "name": "join-meeting-with-join-meeting-id-and-passcode",
"@odata.type": "microsoft.graph.call" }-->
Content-Type: application/json
{ "@odata.type": "#microsoft.graph.call",
- "direction": "outgoing",
"callbackUri": "https://bot.contoso.com/callback", "requestedModalities": [ "audio" ], "mediaConfig": {
- "@odata.type": "#microsoft.graph.appHostedMediaConfig",
- "blob": "<Media Session Configuration>",
- },
- "chatInfo": {
- "@odata.type": "#microsoft.graph.chatInfo",
- "threadId": "19:meeting_Win6Ydo4wsMijFjZS00ZGVjLTk5MGUtOTRjNWY2NmNkYTFm@thread.v2",
- "messageId": "0"
+ "@odata.type": "#microsoft.graph.serviceHostedMediaConfig",
+ "preFetchMedia": [
+ {
+ "uri": "https://cdn.contoso.com/beep.wav",
+ "resourceId": "f8971b04-b53e-418c-9222-c82ce681a582"
+ },
+ {
+ "uri": "https://cdn.contoso.com/cool.wav",
+ "resourceId": "86dc814b-c172-4428-9112-60f8ecae1edb"
+ }
+ ]
}, "meetingInfo": {
- "@odata.type": "#microsoft.graph.organizerMeetingInfo",
- "organizer": {
- "@odata.type": "#microsoft.graph.identitySet",
- "user": {
- "@odata.type": "#microsoft.graph.identity",
- "id": "5810cede-f3cc-42eb-b2c1-e9bd5d53ec96",
- "tenantId": "aa67bd4c-8475-432d-bd41-39f255720e0a",
- "displayName": "Bob"
- }
- },
- "allowConversationWithoutHost": true
+ "@odata.type": "#microsoft.graph.joinMeetingIdMeetingInfo",
+ "joinMeetingId": "1234567",
+ "passcode": "psw123"
},
- "tenantId": "aa67bd4c-8475-432d-bd41-39f255720e0a"
+ "tenantId": "86dc81db-c112-4228-9222-63f3esaa1edb"
} ```
-### Example 7: Join channel meeting with service hosted media
-Meeting inside a channel requires specific details like thread id, messageid, and organizer details that can be obtained using the [Get Online Meetings API](../api/onlinemeeting-get.md).
-
-The values of authorization token, callback url, application id, application name, user id, user name and tenant id must be replaced along with the details obtained from [Get Online Meetings API](../api/onlinemeeting-get.md) with actual values to make the example work.
-
-> **Note:** This example needs the `Calls.JoinGroupCalls.All` permission.
-
-#### Request
-
+#### Response
<!-- {
- "blockType": "example",
- "name": "join-channel-meeting-service-hosted-media",
+ "blockType": "response",
+ "name": "join-meeting-with-join-meeting-id-and-passcode",
"@odata.type": "microsoft.graph.call" }--> ```http
-POST https://graph.microsoft.com/beta/communications/calls
+HTTP/1.1 201 Created
+Location: https://graph.microsoft.com/beta/communications/calls/2f1a1100-b174-40a0-aba7-0b405e01ed92
Content-Type: application/json { "@odata.type": "#microsoft.graph.call",
+ "state": "establishing",
+ "direction": "outgoing",
"callbackUri": "https://bot.contoso.com/callback",
+ "callChainId": "d8217646-3110-40b1-bae6-e9ac6c3a9f74",
+ "callRoutes": [],
+ "source": {
+ "@odata.type": "#microsoft.graph.participantInfo",
+ "identity": {
+ "@odata.type": "#microsoft.graph.identitySet",
+ "application": {
+ "@odata.type": "#microsoft.graph.identity",
+ "displayName": "Calling Bot",
+ "id": "2891555a-92ff-42e6-80fa-6e1300c6b5c6"
+ }
+ },
+ "region": null,
+ "languageId": null
+ },
+ "targets": [],
"requestedModalities": [ "audio" ],
+ "activeModalities": [],
"mediaConfig": { "@odata.type": "#microsoft.graph.serviceHostedMediaConfig", "preFetchMedia": [
Content-Type: application/json
}, "chatInfo": { "@odata.type": "#microsoft.graph.chatInfo",
- "threadId": "19:cbee7c1c860e465f8258e3cebf7bee0d@thread.skype",
- "messageId": "1533758867081"
+ "threadId": "19:meeting_Win6Ydo4wsMijFjZS00ZGVjLTk5MGUtOTRjNNkYTFm@thread.v2",
+ "messageId": "0",
+ "replyChainMessageId": null
}, "meetingInfo": {
- "@odata.type": "#microsoft.graph.organizerMeetingInfo",
- "organizer": {
- "@odata.type": "#microsoft.graph.identitySet",
+ "@odata.type": "#microsoft.graph.joinMeetingIdMeetingInfo",
+ "joinMeetingId": "1234567",
+ "passcode": "psw123"
+ },
+ "transcription": null,
+ "routingPolicies": [],
+ "tenantId": "86dc81db-c112-4228-9222-63f3esaa1edb",
+ "myParticipantId": "05491616-385f-44a8-9974-18cc5f9933c1",
+ "id": "2f1a1100-b174-40a0-aba7-0b405e01ed92",
+ "@odata.context": "https://graph.microsoft.com/beta/$metadata#app/calls/$entity",
+ "terminationReason": null,
+ "ringingTimeoutInSeconds": null,
+ "mediaState": null,
+ "subject": null,
+ "resultInfo": null,
+ "answeredBy": null,
+ "meetingCapability": null,
+ "toneInfo": null
+}
+```
+
+### Example 7: Join a scheduled meeting with joinMeetingId
+The following shows an example that requires a **joinMeetingId** but doesn't require a **passcode** to join an existing meeting. You can retrieve the **joinMeetingId** property from the [Get onlineMeeting](../api/onlinemeeting-get.md) API.
+
+#### Request
+<!-- {
+ "blockType": "request",
+ "name": "join-meeting-with-join-meeting-id-and-without-passcode",
+ "@odata.type": "microsoft.graph.call"
+}-->
+
+```http
+POST https://graph.microsoft.com/beta/communications/calls
+Content-Type: application/json
+
+{
+ "@odata.type": "#microsoft.graph.call",
+ "callbackUri": "https://bot.contoso.com/callback",
+ "requestedModalities": [
+ "audio"
+ ],
+ "mediaConfig": {
+ "@odata.type": "#microsoft.graph.serviceHostedMediaConfig",
+ "preFetchMedia": [
+ {
+ "uri": "https://cdn.contoso.com/beep.wav",
+ "resourceId": "f8971b04-b53e-418c-9222-c82ce681a582"
+ },
+ {
+ "uri": "https://cdn.contoso.com/cool.wav",
+ "resourceId": "86dc814b-c172-4428-9112-60f8ecae1edb"
+ }
+ ]
+ },
+ "meetingInfo": {
+ "@odata.type": "#microsoft.graph.joinMeetingIdMeetingInfo",
+ "joinMeetingId": "1234567",
+ "passcode": null
+ },
+ "tenantId": "86dc81db-c112-4228-9222-63f3esaa1edb"
+}
+```
+
+#### Response
+
+<!-- {
+ "blockType": "response",
+ "name": "join-meeting-with-join-meeting-id-and-without-passcode",
+ "@odata.type": "microsoft.graph.call"
+}-->
+
+```http
+HTTP/1.1 201 Created
+Location: https://graph.microsoft.com/beta/communications/calls/2f1a1100-b174-40a0-aba7-0b405e01ed92
+Content-Type: application/json
+
+{
+ "@odata.type": "#microsoft.graph.call",
+ "state": "establishing",
+ "direction": "outgoing",
+ "callbackUri": "https://bot.contoso.com/callback",
+ "callChainId": "d8217646-3110-40b1-bae6-e9ac6c3a9f74",
+ "callRoutes": [],
+ "source": {
+ "@odata.type": "#microsoft.graph.participantInfo",
+ "identity": {
+ "@odata.type": "#microsoft.graph.identitySet",
+ "application": {
+ "@odata.type": "#microsoft.graph.identity",
+ "displayName": "Calling Bot",
+ "id": "2891555a-92ff-42e6-80fa-6e1300c6b5c6"
+ }
+ },
+ "region": null,
+ "languageId": null
+ },
+ "targets": [],
+ "requestedModalities": [
+ "audio"
+ ],
+ "activeModalities": [],
+ "mediaConfig": {
+ "@odata.type": "#microsoft.graph.serviceHostedMediaConfig",
+ "preFetchMedia": [
+ {
+ "uri": "https://cdn.contoso.com/beep.wav",
+ "resourceId": "f8971b04-b53e-418c-9222-c82ce681a582"
+ },
+ {
+ "uri": "https://cdn.contoso.com/cool.wav",
+ "resourceId": "86dc814b-c172-4428-9112-60f8ecae1edb"
+ }
+ ],
+ },
+ "chatInfo": {
+ "@odata.type": "#microsoft.graph.chatInfo",
+ "threadId": "19:meeting_Win6Ydo4wsMijFjZS00ZGVjLTk5MGUtOTRjNNkYTFm@thread.v2",
+ "messageId": "0",
+ "replyChainMessageId": null
+ },
+ "meetingInfo": {
+ "@odata.type": "#microsoft.graph.joinMeetingIdMeetingInfo",
+ "joinMeetingId": "1234567",
+ "passcode": null
+ },
+ "transcription": null,
+ "routingPolicies": [],
+ "tenantId": "86dc81db-c112-4228-9222-63f3esaa1edb",
+ "myParticipantId": "05491616-385f-44a8-9974-18cc5f9933c1",
+ "id": "2f1a1100-b174-40a0-aba7-0b405e01ed92",
+ "@odata.context": "https://graph.microsoft.com/beta/$metadata#app/calls/$entity",
+ "terminationReason": null,
+ "ringingTimeoutInSeconds": null,
+ "mediaState": null,
+ "subject": null,
+ "resultInfo": null,
+ "answeredBy": null,
+ "meetingCapability": null,
+ "toneInfo": null
+}
+```
+
+### Example 8: Join scheduled meeting with app hosted media
+To join the meeting with application hosted media, update the media config with the [appHostedMediaConfig](../resources/apphostedmediaconfig.md) as shown in the following example.
+
+#### Request
+
+<!-- {
+ "blockType": "request",
+ "name": "join-meeting-app-hosted-media",
+ "@odata.type": "microsoft.graph.call"
+}-->
+
+```http
+POST https://graph.microsoft.com/beta/communications/calls
+Content-Type: application/json
+
+{
+ "@odata.type": "#microsoft.graph.call",
+ "direction": "outgoing",
+ "callbackUri": "https://bot.contoso.com/callback",
+ "requestedModalities": [
+ "audio"
+ ],
+ "mediaConfig": {
+ "@odata.type": "#microsoft.graph.appHostedMediaConfig",
+ "blob": "<Media Session Configuration>",
+ },
+ "chatInfo": {
+ "@odata.type": "#microsoft.graph.chatInfo",
+ "threadId": "19:meeting_Win6Ydo4wsMijFjZS00ZGVjLTk5MGUtOTRjNWY2NmNkYTFm@thread.v2",
+ "messageId": "0"
+ },
+ "meetingInfo": {
+ "@odata.type": "#microsoft.graph.organizerMeetingInfo",
+ "organizer": {
+ "@odata.type": "#microsoft.graph.identitySet",
+ "user": {
+ "@odata.type": "#microsoft.graph.identity",
+ "id": "5810cede-f3cc-42eb-b2c1-e9bd5d53ec96",
+ "tenantId": "aa67bd4c-8475-432d-bd41-39f255720e0a",
+ "displayName": "Bob"
+ }
+ },
+ "allowConversationWithoutHost": true
+ },
+ "tenantId": "aa67bd4c-8475-432d-bd41-39f255720e0a"
+}
+```
+
+#### Response
+
+<!-- {
+ "blockType": "response",
+ "name": "join-meeting-app-hosted-media",
+ "@odata.type": "microsoft.graph.call"
+}-->
+
+```http
+HTTP/1.1 201 Created
+Location: https://graph.microsoft.com/beta/communications/calls/2f1a1100-b174-40a0-aba7-0b405e01ed92
+Content-Type: application/json
+
+{
+ "@odata.type": "#microsoft.graph.call",
+ "state": "establishing",
+ "direction": "outgoing",
+ "callbackUri": "https://bot.contoso.com/callback",
+ "callChainId": "d8217646-3110-40b1-bae6-e9ac6c3a9f74",
+ "callRoutes": [],
+ "source": {
+ "@odata.type": "#microsoft.graph.participantInfo",
+ "identity": {
+ "@odata.type": "#microsoft.graph.identitySet",
+ "application": {
+ "@odata.type": "#microsoft.graph.identity",
+ "displayName": "Calling Bot",
+ "id": "2891555a-92ff-42e6-80fa-6e1300c6b5c6"
+ }
+ },
+ "region": null,
+ "languageId": null
+ },
+ "targets": [],
+ "requestedModalities": [
+ "audio"
+ ],
+ "activeModalities": [],
+ "mediaConfig": {
+ "@odata.type": "#microsoft.graph.appHostedMediaConfig",
+ "blob": "<Media Session Configuration>",
+ },
+ "chatInfo": {
+ "@odata.type": "#microsoft.graph.chatInfo",
+ "threadId": "19:meeting_Win6Ydo4wsMijFjZS00ZGVjLTk5MGUtOTRjNWY2NmNkYTFm@thread.v2",
+ "messageId": "0",
+ "replyChainMessageId": null
+ },
+ "meetingInfo": {
+ "@odata.type": "#microsoft.graph.organizerMeetingInfo",
+ "organizer": {
+ "@odata.type": "#microsoft.graph.identitySet",
+ "user": {
+ "@odata.type": "#microsoft.graph.identity",
+ "id": "5810cede-f3cc-42eb-b2c1-e9bd5d53ec96",
+ "tenantId": "aa67bd4c-8475-432d-bd41-39f255720e0a",
+ "displayName": "Bob"
+ }
+ },
+ "allowConversationWithoutHost": true
+ },
+ "transcription": null,
+ "routingPolicies": [],
+ "tenantId": "aa67bd4c-8475-432d-bd41-39f255720e0a",
+ "myParticipantId": "05491616-385f-44a8-9974-18cc5f9933c1",
+ "id": "2f1a1100-b174-40a0-aba7-0b405e01ed92",
+ "@odata.context": "https://graph.microsoft.com/beta/$metadata#app/calls/$entity",
+ "terminationReason": null,
+ "ringingTimeoutInSeconds": null,
+ "mediaState": null,
+ "subject": null,
+ "resultInfo": null,
+ "answeredBy": null,
+ "meetingCapability": null,
+ "toneInfo": null
+}
+```
+
+### Example 9: Join channel meeting with service hosted media
+Meeting inside a channel requires specific details like thread ID, message ID, and organizer details that can be obtained using the [Get onlineMeeting](../api/onlinemeeting-get.md) API.
+
+The values of authorization token, callback url, application ID, application name, user ID, user name and tenant ID must be replaced along with the details obtained from the [Get onlineMeeting](../api/onlinemeeting-get.md) API with actual values to make the example work.
+
+> **Note:** This example needs the `Calls.JoinGroupCalls.All` permission.
+
+#### Request
+
+<!-- {
+ "blockType": "request",
+ "name": "join-channel-meeting-service-hosted-media",
+ "@odata.type": "microsoft.graph.call"
+}-->
+
+```http
+POST https://graph.microsoft.com/beta/communications/calls
+Content-Type: application/json
+
+{
+ "@odata.type": "#microsoft.graph.call",
+ "callbackUri": "https://bot.contoso.com/callback",
+ "requestedModalities": [
+ "audio"
+ ],
+ "mediaConfig": {
+ "@odata.type": "#microsoft.graph.serviceHostedMediaConfig",
+ "preFetchMedia": [
+ {
+ "uri": "https://cdn.contoso.com/beep.wav",
+ "resourceId": "f8971b04-b53e-418c-9222-c82ce681a582"
+ },
+ {
+ "uri": "https://cdn.contoso.com/cool.wav",
+ "resourceId": "86dc814b-c172-4428-9112-60f8ecae1edb"
+ }
+ ],
+ },
+ "chatInfo": {
+ "@odata.type": "#microsoft.graph.chatInfo",
+ "threadId": "19:cbee7c1c860e465f8258e3cebf7bee0d@thread.skype",
+ "messageId": "1533758867081"
+ },
+ "meetingInfo": {
+ "@odata.type": "#microsoft.graph.organizerMeetingInfo",
+ "organizer": {
+ "@odata.type": "#microsoft.graph.identitySet",
"user": { "@odata.type": "#microsoft.graph.identity", "id": "5810cede-f3cc-42eb-b2c1-e9bd5d53ec96",
Content-Type: application/json
} ```
-### Example 8: Join channel meeting as a guest with service hosted media
+#### Response
+
+<!-- {
+ "blockType": "response",
+ "name": "join-channel-meeting-service-hosted-media",
+ "@odata.type": "microsoft.graph.call"
+}-->
+
+```http
+HTTP/1.1 201 Created
+Location: https://graph.microsoft.com/beta/communications/calls/2f1a1100-b174-40a0-aba7-0b405e01ed92
+Content-Type: application/json
+
+{
+ "@odata.type": "#microsoft.graph.call",
+ "state": "establishing",
+ "direction": "outgoing",
+ "callbackUri": "https://bot.contoso.com/callback",
+ "callChainId": "d8217646-3110-40b1-bae6-e9ac6c3a9f74",
+ "callRoutes": [],
+ "source": {
+ "@odata.type": "#microsoft.graph.participantInfo",
+ "identity": {
+ "@odata.type": "#microsoft.graph.identitySet",
+ "application": {
+ "@odata.type": "#microsoft.graph.identity",
+ "displayName": "Calling Bot",
+ "id": "2891555a-92ff-42e6-80fa-6e1300c6b5c6"
+ }
+ },
+ "region": null,
+ "languageId": null
+ },
+ "targets": [],
+ "requestedModalities": [
+ "audio"
+ ],
+ "activeModalities": [],
+ "mediaConfig": {
+ "@odata.type": "#microsoft.graph.serviceHostedMediaConfig",
+ "preFetchMedia": [
+ {
+ "uri": "https://cdn.contoso.com/beep.wav",
+ "resourceId": "f8971b04-b53e-418c-9222-c82ce681a582"
+ },
+ {
+ "uri": "https://cdn.contoso.com/cool.wav",
+ "resourceId": "86dc814b-c172-4428-9112-60f8ecae1edb"
+ }
+ ],
+ },
+ "chatInfo": {
+ "@odata.type": "#microsoft.graph.chatInfo",
+ "threadId": "19:meeting_Win6Ydo4wsMijFjZS00ZGVjLTk5MGUtOTRjNWY2NmNkYTFm@thread.v2",
+ "messageId": "1533758867081",
+ "replyChainMessageId": null
+ },
+ "meetingInfo": {
+ "@odata.type": "#microsoft.graph.organizerMeetingInfo",
+ "organizer": {
+ "@odata.type": "#microsoft.graph.identitySet",
+ "user": {
+ "@odata.type": "#microsoft.graph.identity",
+ "id": "5810cede-f3cc-42eb-b2c1-e9bd5d53ec96",
+ "tenantId": "aa67bd4c-8475-432d-bd41-39f255720e0a",
+ "displayName": "Bob"
+ }
+ },
+ "allowConversationWithoutHost": true
+ },
+ "transcription": null,
+ "routingPolicies": [],
+ "tenantId": "aa67bd4c-8475-432d-bd41-39f255720e0a",
+ "myParticipantId": "05491616-385f-44a8-9974-18cc5f9933c1",
+ "id": "2f1a1100-b174-40a0-aba7-0b405e01ed92",
+ "@odata.context": "https://graph.microsoft.com/beta/$metadata#app/calls/$entity",
+ "terminationReason": null,
+ "ringingTimeoutInSeconds": null,
+ "mediaState": null,
+ "subject": null,
+ "resultInfo": null,
+ "answeredBy": null,
+ "meetingCapability": null,
+ "toneInfo": null
+}
+```
+
+### Example 10: Join channel meeting as a guest with service hosted media
For joining a channel meeting as a guest you will need to create a guest [identity](../resources/identityset.md) and add it as the call source in the join meeting request. The display name is the name you want to be displayed in the meeting for your guest identity. The id may be a unique id identifying the guest identity.
The display name is the name you want to be displayed in the meeting for your gu
#### Request <!-- {
- "blockType": "example",
+ "blockType": "request",
"name": "join-channel-meeting-as-guest-service-hosted-media", "@odata.type": "microsoft.graph.call" }-->
Content-Type: application/json
> **Note:** The guest join depends on the tenant settings for meeting. The application might be put in lobby waiting to be admitted by a user. This is defined by the `isInLobby` property
+#### Response
+
+<!-- {
+ "blockType": "response",
+ "name": "join-channel-meeting-as-guest-service-hosted-media",
+ "@odata.type": "microsoft.graph.call"
+}-->
+
+```http
+HTTP/1.1 201 Created
+Location: https://graph.microsoft.com/beta/communications/calls/2f1a1100-b174-40a0-aba7-0b405e01ed92
+Content-Type: application/json
+
+{
+ "@odata.type": "#microsoft.graph.call",
+ "state": "establishing",
+ "direction": "outgoing",
+ "callbackUri": "https://bot.contoso.com/callback",
+ "callChainId": "d8217646-3110-40b1-bae6-e9ac6c3a9f74",
+ "callRoutes": [],
+ "source": {
+ "@odata.type": "#microsoft.graph.participantInfo",
+ "identity": {
+ "@odata.type": "#microsoft.graph.identitySet",
+ "guest": {
+ "@odata.type": "#microsoft.graph.identity",
+ "displayName": "Guest User",
+ "id": "d7a3b999-17ac-4bca-9e77-e6a730d2ec2e"
+ }
+ },
+ "region": null,
+ "languageId": null
+ },
+ "targets": [],
+ "requestedModalities": [
+ "audio"
+ ],
+ "activeModalities": [],
+ "mediaConfig": {
+ "@odata.type": "#microsoft.graph.serviceHostedMediaConfig",
+ "preFetchMedia": [
+ {
+ "uri": "https://cdn.contoso.com/beep.wav",
+ "resourceId": "f8971b04-b53e-418c-9222-c82ce681a582"
+ },
+ {
+ "uri": "https://cdn.contoso.com/cool.wav",
+ "resourceId": "86dc814b-c172-4428-9112-60f8ecae1edb"
+ }
+ ],
+ },
+ "chatInfo": {
+ "@odata.type": "#microsoft.graph.chatInfo",
+ "threadId": "19:meeting_Win6Ydo4wsMijFjZS00ZGVjLTk5MGUtOTRjNWY2NmNkYTFm@thread.v2",
+ "messageId": "1533758867081",
+ "replyChainMessageId": null
+ },
+ "meetingInfo": {
+ "@odata.type": "#microsoft.graph.organizerMeetingInfo",
+ "organizer": {
+ "@odata.type": "#microsoft.graph.identitySet",
+ "user": {
+ "@odata.type": "#microsoft.graph.identity",
+ "id": "5810cede-f3cc-42eb-b2c1-e9bd5d53ec96",
+ "tenantId": "aa67bd4c-8475-432d-bd41-39f255720e0a",
+ "displayName": "Bob"
+ }
+ },
+ "allowConversationWithoutHost": true
+ },
+ "transcription": null,
+ "routingPolicies": [],
+ "tenantId": "aa67bd4c-8475-432d-bd41-39f255720e0a",
+ "myParticipantId": "05491616-385f-44a8-9974-18cc5f9933c1",
+ "id": "2f1a1100-b174-40a0-aba7-0b405e01ed92",
+ "@odata.context": "https://graph.microsoft.com/beta/$metadata#app/calls/$entity",
+ "terminationReason": null,
+ "ringingTimeoutInSeconds": null,
+ "mediaState": null,
+ "subject": null,
+ "resultInfo": null,
+ "answeredBy": null,
+ "meetingCapability": null,
+ "toneInfo": null
+}
+```
+ #### Notification - roster ```http
Content-Type: application/json
> **Note:** The application will not receive the roster for participants in the meeting until its admitted from lobby
-### Example 9: Create peer-to-peer PSTN call with service hosted media
+### Example 11: Create peer-to-peer PSTN call with service hosted media
> **Note:** This call requires the Calls.Initiate.All permission.
Content-Type: application/json
<!-- { "blockType": "response",
+ "name": "create-call-service-hosted-media-2",
"truncated": true, "@odata.type": "microsoft.graph.call" } -->
Content-Type: application/json
} ```
-### Example 10: Create peer-to-peer PSTN call with application hosted media
+### Example 12: Create peer-to-peer PSTN call with application hosted media
> **Note**: This example requires Calls.Initiate.All and Calls.AccessMedia.All permissions.
Content-Type: application/json
<!-- { "blockType": "response",
+ "name": "create-call-service-hosted-media-3",
"truncated": true, "@odata.type": "microsoft.graph.call" } -->
v1.0 Application Post Onlinemeetings https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/application-post-onlinemeetings.md
POST /users/{userId}/onlineMeetings
``` > [!NOTE]
-> `userId` is the object ID of a user in [Azure user management portal](https://portal.azure.com/#blade/Microsoft_AAD_IAM/UsersManagementMenuBlade). See more details in [application access policy](/graph/cloud-communication-online-meeting-application-access-policy).
+>- `userId` is the object ID of a user in [Azure user management portal](https://portal.azure.com/#blade/Microsoft_AAD_IAM/UsersManagementMenuBlade). For more details, see [Allow applications to access online meetings on behalf of a user](/graph/cloud-communication-online-meeting-application-access-policy).
## Request headers
If successful, this method returns a `201 Created` response code and an [onlineM
#### Request
+The following is an example of a request.
+ # [HTTP](#tab/http) <!-- { "blockType": "request",
Content-Type: application/json
#### Response+
+The following is an example of the response.
+ >**Note:** The response object shown here might be shortened for readability. <!-- {
Content-Type: application/json
{ "@odata.type": "#microsoft.graph.onlineMeeting",
- "@odata.context": "https://graph.microsoft.com/beta/$metadata#users('f4053f86-17cc-42e7-85f4-f0389ac980d6')/onlineMeetings/$entity",
+ "@odata.context": "https://graph.microsoft.com/beta/$metadata#users('f46-17cc-42e7-854-f03d6')/onlineMeetings/$entity",
"audioConferencing": {
- "tollNumber": "+12525634478",
- "tollFreeNumber": "+18666390588",
- "ConferenceId": "2425999",
- "dialinUrl": "https://dialin.teams.microsoft.com/22f12fa0-499f-435b-bc69-b8de580ba330?id=2425999"
+ "tollNumber": "+125254478",
+ "tollFreeNumber": "+1663588",
+ "ConferenceId": "24299",
+ "dialinUrl": "https://dialin.teams.microsoft.com/22f12fa0-499f-b8da330?id=24299"
}, "chatInfo": {
- "threadId": "19:meeting_M2IzYzczNTItYmY3OC00MDlmLWJjMzUtYmFiMjNlOTY4MGEz@thread.skype",
+ "threadId": "19:meeting_M2IzYzczNTItYmY3OC00MDMjNlOTY4MGEz@thread.skype",
"messageId": "0", "replyChainMessageId": "0" }, "creationDateTime": "2019-07-11T02:17:17.6491364Z", "startDateTime": "2019-07-11T02:17:17.6491364Z", "endDateTime": "2019-07-11T02:47:17.651138Z",
- "id": "MSpkYzE3Njc0Yy04MWQ5LTRhZGItYmZiMi04ZdFpHRTNaR1F6WGhyZWFkLnYy",
- "joinWebUrl": "https://teams.microsoft.com/l/meetup-join/19%3ameeting_M2IzYzczNTItYmY3OC00MDlmLWJjMzUtYmFiMjNlOTY4MGEz%40thread.skype/0?context=%7b%22Tid%22%3a%2272f988bf-86f1-41af-91ab-2d7cd011db47%22%2c%22Oid%22%3a%22550fae72-d251-43ec-868c-373732c2704f%22%7d",
+ "id": "MSpkYzE3Njc0Yy04MWQ5LTRhZGItYmZiMdFpHRTNaR1F6WGhyZWFkLnYy",
+ "joinWebUrl": "https://teams.microsoft.com/l/meetup-join/19%3ameeting_M2IzYzczNTItYmY3OC00MDl4MGEz%40thread.skype/0?context=%7b%22Tid%22%3a%22bf-8f1-4af-9b-2d7cd011db47%22%2c%22Oid%22%3a%22550fae72-d51-3ec-8c-374f%22%7d",
"participants": { "organizer": { "identity": { "user": {
- "id": "550fae72-d251-43ec-868c-373732c2704f",
- "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47",
- "displayName": "Heidi Steen"
+ "id": "550fae72-d251-43ec-868c-373734f",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d1db47",
+ "displayName": "Mario Rogers"
} }, "role": "presenter", "upn": "upn-value" } },
- "subject": "User Token Meeting"
+ "subject": "User Token Meeting",
+ "joinMeetingIdSettings": {
+ "isPasscodeRequired": false,
+ "joinMeetingId": "1234567890",
+ "passcode": null
+ }
} ``` >**Note:** If 'Accept-Language: ja' is specified to indicate Japanese, for example, the response will include the following.
Content-Type: application/json
### Example 2: Create an online meeting in a Microsoft Teams channel with a user token #### Request+
+The following is an example of a request.
+ >**Note:** The Object ID of the user token passed should be a member of the channel represented by **threadId** in the payload. ```http
Content-Type: application/json
"endDateTime":"2019-07-12T15:00:34.2464912-07:00", "subject":"User meeting in Microsoft Teams channel.", "chatInfo": {
- "threadId":"19%3A3b52398f3c524556894b776357c1dd79%40thread.skype"
+ "threadId":"19%3A3b5239894b776357c1dd79%40thread.skype"
} } ``` #### Response
+The following is an example of the response.
+ >**Note:** The response object shown here might be shortened for readability. <!-- {
HTTP/1.1 201 Created
Content-Type: application/json {
- "@odata.context": "https://graph.microsoft.com/beta/$metadata#users('f4053f86-17cc-42e7-85f4-f0389ac980d6')/onlineMeetings/$entity",
+ "@odata.context": "https://graph.microsoft.com/beta/$metadata#users('f40f86-17cc-42e7-85f4-f03880d6')/onlineMeetings/$entity",
"audioConferencing": {
- "tollNumber": "+12525634478",
- "tollFreeNumber": "+18666390588",
- "ConferenceId": "2425999",
- "dialinUrl": "https://dialin.teams.microsoft.com/22f12fa0-499f-435b-bc69-b8de580ba330?id=2425999"
+ "tollNumber": "+12534478",
+ "tollFreeNumber": "+18660588",
+ "ConferenceId": "24229",
+ "dialinUrl": "https://dialin.teams.microsoft.com/22f12fa0-49f-45b-bc69-b8a330?id=24229"
}, "chatInfo": {
- "threadId": "19%3A3b52398f3c524556894b776357c1dd79%40thread.skype",
+ "threadId": "19%3A3b52398f3c5244b776357c1dd79%40thread.skype",
"messageId": "1563302249053", "replyChainMessageId": null }, "creationDateTime": "2019-07-11T02:17:17.6491364Z", "startDateTime": "2019-07-11T02:17:17.6491364Z", "endDateTime": "2019-07-11T02:47:17.651138Z",
- "id": "MSpkYzE3Njc0Yy04MWQ5LTRhZGItYmZiMi04ZdFpHRTNaR1F6WGhyZWFkLnYy",
- "joinWebUrl": "https://teams.microsoft.com/l/meetup-join/19%3ameeting_M2IzYzczNTItYmY3OC00MDlmLWJjMzUtYmFiMjNlOTY4MGEz%40thread.skype/0?context=%7b%22Tid%22%3a%2272f988bf-86f1-41af-91ab-2d7cd011db47%22%2c%22Oid%22%3a%22550fae72-d251-43ec-868c-373732c2704f%22%7d",
+ "id": "MSpkYzE3Njc0Yy04MWQ5LTRhZGItHRTNaR1F6WGhyZWFkLnYy",
+ "joinWebUrl": "https://teams.microsoft.com/l/meetup-join/19%3ameeting_M2IzYzczNNlOTY4MGEz%40thread.skype/0?context=%7b%22Tid%22%3a%2288bf-86f1-41af-91ab-2011db47%22%2c%22Oid%22%3a%22fae72-d51-43ec-68c-3704f%22%7d",
"participants": { "organizer": { "identity": { "user": {
- "id": "550fae72-d251-43ec-868c-373732c2704f",
- "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47",
- "displayName": "Heidi Steen"
+ "id": "55ae72-d251-43ec-868c-373704f",
+ "tenantId": "72f98f-86f1-41af-91ab-2d7db47",
+ "displayName": "Mario Rogers"
} }, "role": "presenter", "upn": "upn-value" } },
- "subject": "User meeting in Microsoft Teams channel."
+ "subject": "User meeting in Microsoft Teams channel.",
+ "joinMeetingIdSettings": {
+ "isPasscodeRequired": false,
+ "joinMeetingId": "1234567890",
+ "passcode": null
+ }
} ```
Content-Type: application/json
#### Request
+The following is an example of a request.
+ ```http POST https://graph.microsoft.com/beta/me/onlineMeetings Content-Type: application/json
Content-Type: application/json
#### Response
+The following is an example of the response.
+ > **Note:** The response object shown here has been shortened for readability. All the properties will be returned from an actual call. ```json {
- "id": "dc17674c-81d9-4adb-bfb2-8f6a442e4622_19:meeting_MGQ4MDQyNTEtNTQ2NS00YjQxLTlkM2EtZWVkODYxODYzMmY2@thread.v2",
+ "id": "dc17674c-81d9-4adb-bfb2-8fa442e4622_19:meeting_MGQ4MDDYxODYzMmY2@thread.v2",
"creationDateTime": "2020-12-02T14:30:34.2444915Z", "startDateTime": "2020-09-29T22:35:31.389759Z", "endDateTime": "2020-12-02T15:00:34.2464912Z",
Content-Type: application/json
"role": "producer", "identity": { "user": {
- "id": "dc17674c-81d9-4adb-bfb2-8f6a442e4622",
+ "id": "dc174c-81d9-4adb-bfb2-8f6a4622",
"displayName": null,
- "tenantId": "909c6581-5130-43e9-88f3-fcb3582cde38",
+ "tenantId": "909581-5130-43e9-88f3-fccde38",
"identityProvider": "AAD" } }
Content-Type: application/json
"role": "producer", "identity": { "user": {
- "id": "dc17674c-81d9-4adb-bfb2-8f6a442e4622",
+ "id": "dc174c-81d9-4adb-bfb2-8442e4622",
"displayName": null,
- "tenantId": "909c6581-5130-43e9-88f3-fcb3582cde38",
+ "tenantId": "909581-5130-43e9-88f3-fcb3cde38",
"identityProvider": "AAD" } }
Content-Type: application/json
"role": "producer", "identity": { "user": {
- "id": "dc17674c-81d9-4adb-bfb2-8f6a442e4622",
+ "id": "d7674c-81d9-4adb-bfb2-8f6a4622",
"displayName": null,
- "tenantId": "909c6581-5130-43e9-88f3-fcb3582cde38",
+ "tenantId": "909c81-5130-43e9-88f3-fcbcde38",
"identityProvider": "AAD" } }
Content-Type: application/json
"allowedAudience": "organization", "isRecordingEnabled": true, "isAttendeeReportEnabled": true
+ },
+ "joinMeetingIdSettings": {
+ "isPasscodeRequired": false,
+ "joinMeetingId": "1234567890",
+ "passcode": null
} } ```
Content-Type: application/json
} -->
+### Example 4: Create an online meeting that requires a passcode
+
+The following example shows how to add a passcode to a meeting. The passcode is used when you join a meeting with a **joinMeetingId**. For more details, see [joinMeetingIdSettings](../resources/joinmeetingidsettings.md).
+#### Request
+
+The following is an example of a request.
+
+>**Note:** The passcode is automatically generated and a custom passcode is not supported.
+
+```http
+POST https://graph.microsoft.com/beta/me/onlineMeetings
+Content-Type: application/json
+
+{
+ "startDateTime":"2019-07-12T14:30:34.2444915-07:00",
+ "endDateTime":"2019-07-12T15:00:34.2464912-07:00",
+ "subject":"User meeting",
+ "joinMeetingIdSettings": {
+ "isPasscodeRequired": true
+ }
+}
+```
+
+#### Response
+
+The following is an example of the response.
+
+>**Note:** The response object shown here might be shortened for readability.
+
+<!-- {
+ "blockType": "example",
+ "truncated": true,
+ "@odata.type": "microsoft.graph.onlineMeeting"
+} -->
+
+```http
+HTTP/1.1 201 Created
+Content-Type: application/json
+{
+ "@odata.context": "https://graph.microsoft.com/beta/$metadata#users('f4086-17cc-42e7-85f4-f03880d6')/onlineMeetings/$entity",
+ "audioConferencing": {
+ "tollNumber": "+12525478",
+ "tollFreeNumber": "+18690588",
+ "ConferenceId": "2999",
+ "dialinUrl": "https://dialin.teams.microsoft.com/22fa0-499f-435b-bc69-b8dea330?id=2999"
+ },
+ "chatInfo": {
+ "threadId": "19%3A3b523985568b776357c1dd79%40thread.skype",
+ "messageId": "15629053",
+ "replyChainMessageId": null
+ },
+ "creationDateTime": "2019-07-11T02:17:17.6491364Z",
+ "startDateTime": "2019-07-11T02:17:17.6491364Z",
+ "endDateTime": "2019-07-11T02:47:17.651138Z",
+ "id": "MSpkYzE3Njc0Yy04MWQ5LTRhFpHRTNaR1F6WGhyZWFkLnYy",
+ "joinWebUrl": "https://teams.microsoft.com/l/meetup-join/19%3ameeting_M2IzYzczNTItYmY3iMjNlOTY4MGEz%40thread.skype/0?context=%7b%22Tid%22%3a%22f8bf-86f1-41af-91ab-2011db47%22%2c%22Oid%22%3a%20fae72-d251-43ec-86c-377304f%22%7d",
+ "participants": {
+ "organizer": {
+ "identity": {
+ "user": {
+ "id": "5e72-d251-43ec-868c-3732704f",
+ "tenantId": "72fbf-86f1-41af-91ab-2d71db47",
+ "displayName": "Mario Rogers"
+ }
+ },
+ "role": "presenter",
+ "upn": "upn-value"
+ }
+ },
+ "subject": "User meeting",
+ "joinMeetingIdSettings": {
+ "isPasscodeRequired": true,
+ "joinMeetingId": "1234567890",
+ "passcode": "123abc"
+ }
+}
+```
++
+### Example 5: Create an online meeting that does not require a passcode
+
+When **isPasscodeRequired** is set to `false` or when **joinMeetingIdSettings** is not specified in the request, the generated online meeting will not have a passcode.
+#### Request
+
+The following is an example of a request.
+
+```http
+POST https://graph.microsoft.com/beta/me/onlineMeetings
+Content-Type: application/json
+
+{
+ "startDateTime":"2019-07-12T14:30:34.2444915-07:00",
+ "endDateTime":"2019-07-12T15:00:34.2464912-07:00",
+ "subject":"User meeting in Microsoft Teams channel.",
+ "joinMeetingIdSettings": {
+ "isPasscodeRequired": false
+ }
+}
+```
+
+or
+
+```http
+POST https://graph.microsoft.com/beta/me/onlineMeetings
+Content-Type: application/json
+
+{
+ "startDateTime":"2019-07-12T14:30:34.2444915-07:00",
+ "endDateTime":"2019-07-12T15:00:34.2464912-07:00",
+ "subject":"User meeting in Microsoft Teams channel."
+}
+```
+
+#### Response
+
+The following is an example of the response.
+
+>**Note:** The response object shown here might be shortened for readability.
+
+<!-- {
+ "blockType": "example",
+ "truncated": true,
+ "@odata.type": "microsoft.graph.onlineMeeting"
+} -->
+
+```http
+HTTP/1.1 201 Created
+Content-Type: application/json
+
+{
+ "@odata.context": "https://graph.microsoft.com/beta/$metadata#users('f4053f86-17cc-42e7-85f4-f0389ac980d6')/onlineMeetings/$entity",
+ "audioConferencing": {
+ "tollNumber": "+12525634478",
+ "tollFreeNumber": "+18666390588",
+ "ConferenceId": "2425999",
+ "dialinUrl": "https://dialin.teams.microsoft.com/22f12fa0-499f-435b-bc69-b8de580ba330?id=2425999"
+ },
+ "chatInfo": {
+ "threadId": "19%3A3b52398f3c524556894b776357c1dd79%40thread.skype",
+ "messageId": "1563302249053",
+ "replyChainMessageId": null
+ },
+ "creationDateTime": "2019-07-11T02:17:17.6491364Z",
+ "startDateTime": "2019-07-11T02:17:17.6491364Z",
+ "endDateTime": "2019-07-11T02:47:17.651138Z",
+ "id": "MSpkYzE3Njc0Yy04MWQ5LTRhZGItYmZiMi04ZdFpHRTNaR1F6WGhyZWFkLnYy",
+ "joinWebUrl": "https://teams.microsoft.com/l/meetup-join/19%3ameeting_M2IzYzczNTItYmY3OC00MDlmLWJjMzUtYmFiMjNlOTY4MGEz%40thread.skype/0?context=%7b%22Tid%22%3a%2272f988bf-86f1-41af-91ab-2d7cd011db47%22%2c%22Oid%22%3a%22550fae72-d251-43ec-868c-373732c2704f%22%7d",
+ "participants": {
+ "organizer": {
+ "identity": {
+ "user": {
+ "id": "550fae72-d251-43ec-868c-373732c2704f",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47",
+ "displayName": "Tyler Stein"
+ }
+ },
+ "role": "presenter",
+ "upn": "upn-value"
+ }
+ },
+ "subject": "User meeting in Microsoft Teams channel.",
+ "joinMeetingIdSettings": {
+ "isPasscodeRequired": false,
+ "joinMeetingId": "1234567890",
+ "passcode": null
+ }
+}
+```
v1.0 Callrecords Callrecord Get https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/callrecords-callrecord-get.md
Retrieve the properties and relationships of a [callRecord](../resources/callrec
There are two ways to get the **id** of a **callRecord**:
-* Subscribe to [change notifications](/graph/api/resources/webhooks?view=graph-rest-beta) to the `/communications/callRecords` endpoint.
+* Subscribe to [change notifications](/graph/api/resources/webhooks) to the `/communications/callRecords` endpoint.
* Use the **callChainId** property of a [call](../resources/call.md). The call record is available only after the associated call is completed. ## Permissions
v1.0 Chart Image https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/chart-image.md
You can display the base-64 string inside an HTML image tag: `<img src="data:ima
For default behavior, use `Image(width=0,height=0,fittingMode='fit')`. Here is an example of a chart image returned with the default parameters.
-![Excel chart image with default height and width.](https://cdn.graph.office.net/prod/GraphDocuments/concepts/images/GetChart-default.png)
+![Screenshot of an Excel chart image displayed with the default height and width.](https://cdn.graph.office.net/prod/GraphDocuments/concepts/images/GetChart-default.png)
If you want to customize the display of the image, specify a height, width, and a fitting mode. Here is what the same chart image looks like if you retrieve it with these parameters: `Image(width=500,height=500,fittingMode='Fill')`.
-![Excel chart image with default height and width.](https://cdn.graph.office.net/prod/GraphDocuments/concepts/images/GetChart-fill.png)
+![Screenshot of an Excel chart image displayed with the specified height and width.](https://cdn.graph.office.net/prod/GraphDocuments/concepts/images/GetChart-fill.png)
<!-- uuid: 8fcb5dbc-d5aa-4681-8e31-b001d5168d79 2015-10-25 14:57:30 UTC -->
v1.0 Group Post Members https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/group-post-members.md
Add a member to a security or Microsoft 365 group through the **members** naviga
The following table shows the types of members that can be added to either security groups or Microsoft 365 groups. -
-| Object type | Member of security groups | Member of Microsoft 365 group |
+| Object type | Member of security group | Member of Microsoft 365 group |
|-|-|-|
-| Users | ![Can be group member][Yes] | ![Can be group member][Yes] |
-| Security groups | ![Can be group member][Yes] | ![Cannot be group member][No] |
-| Microsoft 365 groups | ![Cannot be group member][No] | ![Cannot be group member][No] |
-| Devices | ![Can be group member][Yes] | ![Cannot be group member][No] |
-| Service principals | ![Can be group member][Yes] | ![Cannot be group member][No] |
-| Organizational contacts | ![Can be group member][Yes] | ![Cannot be group member][No] |
+| User | ![Can be group member][Yes] | ![Can be group member][Yes] |
+| Security group | ![Can be group member][Yes] | ![Cannot be group member][No] |
+| Microsoft 365 group | ![Cannot be group member][No] | ![Cannot be group member][No] |
+| Device | ![Can be group member][Yes] | ![Cannot be group member][No] |
+| Service principal | ![Can be group member][Yes] | ![Cannot be group member][No] |
+| Organizational contact | ![Can be group member][Yes] | ![Cannot be group member][No] |
## Permissions
v1.0 Group Update https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/group-update.md
The following table specifies the properties that can be updated.
| preferredDataLocation | String | The preferred data location for the Microsoft 365 group. To update this property, the calling user must be assigned one of the following Azure AD roles: <br><ul><li> Global Administrator <li> User Account Administrator <li> Partner Tier1 or Tier2 Support <li>Directory Writer <li> Exchange Administrator <li> SharePoint Administrator </ul> <br/>For more information about this property, see [OneDrive Online Multi-Geo](/sharepoint/dev/solution-guidance/multigeo-introduction). | | securityEnabled | Boolean | Specifies whether the group is a security group, including Microsoft 365 groups. | | visibility | String | Specifies the visibility of a Microsoft 365 group. Possible values are: **Private**, **Public**, or empty (which is interpreted as **Public**). |
+| writebackConfiguration | [groupWritebackConfiguration](../resources/groupwritebackconfiguration.md) | Specifies whether or not a group is configured to write back group object properties to on-premise Active Directory. These properties are used when group writeback is configured in the [Azure AD Connect](/azure/active-directory/hybrid/how-to-connect-group-writeback-v2) sync client.|
> [!IMPORTANT] >
v1.0 Managedtenants Managedtenant List Myroles https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/managedtenants-managedtenant-list-myroles.md
Namespace: microsoft.graph.managedTenants
Get the roles that a signed-in user has through a delegated relationship across managed tenants.
+For information on the types of delegated relationships between a Managed Service Provider (MSP) who uses Microsoft 365 Lighthouse, and their business customers with Microsoft 365 Business Premium tenants, see the following articles on the [Partner Center](/partner-center/overview):
+- [Delegated administration privileges](/partner-center/dap-faq) (DAP)
+- [Granular delegated admin privileges](/partner-center/gdap-introduction) (GDAP)
+ ## Permissions One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Permissions](/graph/permissions-reference).
v1.0 Onlinemeeting Get https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/onlinemeeting-get.md
Retrieve the properties and relationships of an [onlineMeeting](../resources/onl
For example, you can: -- Get details of an onlineMeeting using [videoTeleconferenceId](#example-1-retrieve-an-online-meeting-by-videoteleconferenceid), [meeting ID](#example-2-retrieve-an-online-meeting-by-meeting-id), or [joinWebURL](#example-3-retrieve-an-online-meeting-by-joinweburl).-- Use the `/attendeeReport` path to get the attendee report of a [Microsoft Teams live event](/microsoftteams/teams-live-events/what-are-teams-live-events) in the form of a download link, as shown in [example 4](#example-4-fetch-attendee-report-of-a-teams-live-event).-- Use the `/recording` and `/alternativeRecording` paths to get the recordings of a [Teams live event](/microsoftteams/teams-live-events/what-are-teams-live-events) in the form of a download link, as shown in [example 5](#example-5-fetch-recording-of-a-teams-live-event).
+- Get details of an onlineMeeting using [videoTeleconferenceId](#example-1-retrieve-an-online-meeting-by-videoteleconferenceid), [meeting ID](#example-2-retrieve-an-online-meeting-by-meeting-id), [joinWebURL](#example-3-retrieve-an-online-meeting-by-joinweburl), or [joinMeetingId](#example-4-retrieve-an-online-meeting-by-joinmeetingid).
+- Use the `/attendeeReport` path to get the attendee report of a [Microsoft Teams live event](/microsoftteams/teams-live-events/what-are-teams-live-events) in the form of a download link, as shown in [example 5](#example-5-fetch-the-attendee-report-of-a-teams-live-event).
+- Use the `/recording` and `/alternativeRecording` paths to get the recordings of a [Teams live event](/microsoftteams/teams-live-events/what-are-teams-live-events) in the form of a download link, as shown in [example 6](#example-6-fetch-the-recording-of-a-teams-live-event).
-Teams live event attendee report, and Teams live event recordings are online meeting artifacts. For details, see [Online meeting artifacts and permissions](/graph/cloud-communications-online-meeting-artifacts).
+Teams live event attendee report and Teams live event recordings are online meeting artifacts. For details, see [Online meeting artifacts and permissions](/graph/cloud-communications-online-meeting-artifacts).
## Permissions
GET /me/onlineMeetings?$filter=JoinWebUrl%20eq%20'{joinWebUrl}'
GET /users/{userId}/onlineMeetings?$filter=JoinWebUrl%20eq%20'{joinWebUrl}' ```
+To get an **onlineMeeting** using **joinMeetingId** with delegated (`/me`) and app (`/users/{userId}`) permission:
+<!-- { "blockType": "ignored" } -->
+```http
+GET /me/onlineMeetings?$filter=joinMeetingIdSettings/joinMeetingId%20eq%20'{joinMeetingId}'
+GET /users/{userId}/onlineMeetings?$filter=joinMeetingIdSettings/joinMeetingId%20eq%20'{joinMeetingId}'
+```
+ To get the attendee report of a [Teams live event](/microsoftteams/teams-live-events/what-are-teams-live-events) with delegated (`/me`) and app (`/users/{userId}`) permission: <!-- { "blockType": "ignored" }-->
GET /users/{userId}/onlineMeetings/{meetingId}/alternativeRecording
> [!NOTE] >- The `/app` path is deprecated. Going forward, use the `/communications` path.
->- `userId` is the object ID of a user in [Azure user management portal](https://portal.azure.com/#blade/Microsoft_AAD_IAM/UsersManagementMenuBlade). For more details, see [application access policy](/graph/cloud-communication-online-meeting-application-access-policy).
+>- `userId` is the object ID of a user in [Azure user management portal](https://portal.azure.com/#blade/Microsoft_AAD_IAM/UsersManagementMenuBlade). For more details, see [Allow applications to access online meetings on behalf of a user](/graph/cloud-communication-online-meeting-application-access-policy).
>- `meetingId` is the **id** of an [onlineMeeting](../resources/onlinemeeting.md) object. > - **videoTeleconferenceId** is generated for Cloud-Video-Interop licensed users and can be found in an [onlineMeeting](../resources/onlinemeeting.md) object. For details, see [VTC conference id](/microsoftteams/cloud-video-interop-for-teams-set-up). >- `joinWebUrl` must be URL encoded.
+>- `joinMeetingId` is the meeting ID to be used to join a meeting.
## Optional query parameters This method supports the [OData query parameters](/graph/query-parameters) to help customize the response.
If successful, this method returns a `200 OK` response code. The response also i
- If you fetch the attendance report of an online meeting, this method returns a [meetingAttendanceReport](../resources/meetingAttendanceReport.md) object in the response body. - If you fetch the attendee report or recording of a **Microsoft Teams Live Event**, this method returns a `Location` header that indicates the URI to the attendee report or recording, respectively.
+> [!NOTE]
+>- **joinMeetingIdSettings** might not be generated for some prescheduled meetings if the meeting was created before this feature was supported.
+ ## Examples ### Example 1: Retrieve an online meeting by videoTeleconferenceId #### Request
+The following is an example of a request.
+ # [HTTP](#tab/http) <!-- { "blockType": "request",
GET https://graph.microsoft.com/beta/communications/onlineMeetings/?$filter=Vide
#### Response
+The following is an example of the response.
+ > **Note:** The response object shown here might be shortened for readability. <!-- {
Content-Length: 1574
"@odata.type": "#microsoft.graph.onlineMeeting", "autoAdmittedUsers": "everyone", "audioConferencing": {
- "tollNumber": "55525634478",
- "tollFreeNumber": "55566390588",
+ "tollNumber": "55534478",
+ "tollFreeNumber": "55390588",
"ConferenceId": "9999999", "dialinUrl": "https://dialin.teams.microsoft.com/6787A136-B9B8-4D39-846C-C0F1FF937F10?id=xxxxxxx" }, "chatInfo": { "@odata.type": "#microsoft.graph.chatInfo",
- "threadId": "19:cbee7c1c860e465f8258e3cebf7bee0d@thread.skype",
- "messageId": "1533758867081"
+ "threadId": "19:cbee7c1c868258e3cebf7bee0d@thread.skype",
+ "messageId": "153867081"
}, "creationDateTime": "2018-05-30T00:12:19.0726086Z", "endDateTime": "2018-05-30T01:00:00Z", "id": "112f7296-5fa4-42ca-bae8-6a692b15d4b8_19:cbee7c1c860e465f8258e3cebf7bee0d@thread.skype",
- "joinWebUrl": "https://teams.microsoft.com/l/meetup-join/19%3a:meeting_NTg0NmQ3NTctZDVkZC00YzRhLThmNmEtOGQ3M2E0ODdmZDZk@thread.v2/0?context=%7b%22Tid%22%3a%aa67bd4c-8475-432d-bd41-39f255720e0a%22%2c%22Oid%22%3a%22112f7296-5fa4-42ca-bae8-6a692b15d4b8%22%7d",
+ "joinWebUrl": "https://teams.microsoft.com/l/meetup-join/19%3a:meeting_NTg0NmQ3NTctZDVkZDZk@thread.v2/0?context=%7b%22Tid%22%3a%aa674c-875-432d-bd41-3720e0a%22%2c%22Oid%22%3a%2f7296-5fa4-42ca-bae8-6a4b8%22%7d",
"participants": { "attendees": [ {
Content-Length: 1574
"identity": { "user": { "@odata.type": "#microsoft.graph.identity",
- "id": "112f7296-5fa4-42ca-bae8-6a692b15d4b8",
- "tenantId": "aa67bd4c-8475-432d-bd41-39f255720e0a",
+ "id": "11296-5fa4-42ca-bae8-6a2b4b8",
+ "tenantId": "aa674c-8475-432d-bd41-39f2e0a",
"displayName": "Tyler Stein" } },
Content-Length: 1574
"identity": { "user": { "@odata.type": "#microsoft.graph.identity",
- "id": "5810cede-f3cc-42eb-b2c1-e9bd5d53ec96",
- "tenantId": "aa67bd4c-8475-432d-bd41-39f255720e0a",
+ "id": "58ede-f3cc-42eb-b2c1-e53ec96",
+ "tenantId": "a7bdc-8475-432d-bd41-39f2e0a",
"displayName": "Jasmine Miller" } },
Content-Length: 1574
"scope": "everyone", "isDialInBypassEnabled": true },
+ "joinMeetingIdSettings": {
+ "isPasscodeRequired": false,
+ "joinMeetingId": "1234567890",
+ "passcode": null
+ },
"isEntryExitAnnounced": true, "allowedPresenters": "everyone", "allowMeetingChat": "enabled",
You can retrieve meeting information via meeting ID with either a user or applic
#### Request
+The following is an example of a request.
+ > **Note:** The meeting ID has been truncated for readability. The following request uses a user token.
GET https://graph.microsoft.com/beta/users/dc17674c-81d9-4adb-bfb2-8f6a442e4622/
#### Response
+The following is an example of the response.
+ > **Note:** The response object shown here might be shortened for readability. ```json {
- "id": "MSpkYzE3Njc0Yy04MWQ5LTRhZGItYmZiMi04ZdFpHRTNaR1F6WGhyZWFkLnYy",
+ "id": "MSpkYzE3Njc0Yy04MWQ5L1F6WGhyZWFkLnYy",
"creationDateTime": "2020-09-29T22:35:33.1594516Z", "startDateTime": "2020-09-29T22:35:31.389759Z", "endDateTime": "2020-09-29T23:35:31.389759Z",
- "joinWebUrl": "https://teams.microsoft.com/l/meetup-join/19%3ameeting_MGQ4MDQyNTEtNTQ2NS00YjQxLTlkM2EtZWVkODYxODYzMmY2%40thread.v2/0?context=%7b%22Tid%22%3a%22909c6581-5130-43e9-88f3-fcb3582cde37%22%2c%22Oid%22%3a%22dc17674c-81d9-4adb-bfb2-8f6a442e4622%22%7d",
+ "joinWebUrl": "https://teams.microsoft.com/l/meetup-join/19%3ameeting_MGQ4YxODYzMmY2%40thread.v2/0?context=%7b%22Tid%22%3a%22c581-5130-43e9-88f3-fc82cde37%22%2c%22Oid%22%3a%22674c-81d9-4adb-bb2-8f62e4622%22%7d",
"subject": null, "autoAdmittedUsers": "EveryoneInCompany", "isEntryExitAnnounced": true,
GET https://graph.microsoft.com/beta/users/dc17674c-81d9-4adb-bfb2-8f6a442e4622/
"role": "presenter", "identity": { "user": {
- "id": "dc17674c-81d9-4adb-bfb2-8f6a442e4622",
+ "id": "dc174c-81d9-4adb-bfb2-8f4622",
"displayName": null,
- "tenantId": "909c6581-5130-43e9-88f3-fcb3582cde38",
+ "tenantId": "9081-5130-43e9-88f3-fcde38",
"identityProvider": "AAD" } }
GET https://graph.microsoft.com/beta/users/dc17674c-81d9-4adb-bfb2-8f6a442e4622/
"lobbyBypassSettings": { "scope": "organization", "isDialInBypassEnabled": false
+ },
+ "joinMeetingIdSettings": {
+ "isPasscodeRequired": false,
+ "joinMeetingId": "1234567890",
+ "passcode": null
} } ```
You can retrieve meeting information via JoinWebUrl by using either a user or ap
#### Request
+The following is an example of a request.
+ The following request uses a user token. <!-- { "blockType": "ignored" } --> ```http
GET https://graph.microsoft.com/beta/users/dc17674c-81d9-4adb-bfb2-8f6a442e4622/
#### Response
+The following is an example of the response.
+ > **Note:** The response object shown here might be shortened for readability. ```json { "value": [ {
- "id": "dc17674c-81d9-4adb-bfb2-8f6a442e4622_19:meeting_MGQ4MDQyNTEtNTQ2NS00YjQxLTlkM2EtZWVkODYxODYzMmY2@thread.v2",
+ "id": "dc17674c-81d9-4adb-bfb2-8f6a442e4622_19:meeting_MGQ4MDQyEtZWVkODYxODYzMmY2@thread.v2",
"creationDateTime": "2020-09-29T22:35:33.1594516Z", "startDateTime": "2020-09-29T22:35:31.389759Z", "endDateTime": "2020-09-29T23:35:31.389759Z",
- "joinWebUrl": "https://teams.microsoft.com/l/meetup-join/19%3ameeting_MGQ4MDQyNTEtNTQ2NS00YjQxLTlkM2EtZWVkODYxODYzMmY2%40thread.v2/0?context=%7b%22Tid%22%3a%22909c6581-5130-43e9-88f3-fcb3582cde37%22%2c%22Oid%22%3a%22dc17674c-81d9-4adb-bfb2-8f6a442e4622%22%7d",
+ "joinWebUrl": "https://teams.microsoft.com/l/meetup-join/19%3ameeting_MGQ4MDQyNTEtNTQ2N2%40thread.v2/0?context=%7b%22Tid%22%3a%229581-5130-43e9-8f3-fcb35e37%22%2c%22Oid%22%3a%22dc17674c-81d9-4adb-bfb2-8f6a442e4622%22%7d",
"subject": null, "autoAdmittedUsers": "EveryoneInCompany", "isEntryExitAnnounced": true,
GET https://graph.microsoft.com/beta/users/dc17674c-81d9-4adb-bfb2-8f6a442e4622/
"role": "presenter", "identity": { "user": {
- "id": "dc17674c-81d9-4adb-bfb2-8f6a442e4622",
+ "id": "dc4c-81d9-4adb-bfb2-8f4622",
"displayName": null,
- "tenantId": "909c6581-5130-43e9-88f3-fcb3582cde38",
+ "tenantId": "9091-5130-43e9-88f3-fcbe38",
"identityProvider": "AAD" } }
GET https://graph.microsoft.com/beta/users/dc17674c-81d9-4adb-bfb2-8f6a442e4622/
"lobbyBypassSettings": { "scope": "organization", "isDialInBypassEnabled": false
+ },
+ "joinMeetingIdSettings": {
+ "isPasscodeRequired": false,
+ "joinMeetingId": "1234567890",
+ "passcode": null
} } ] } ```
-### Example 4: Fetch attendee report of a Teams live event
+### Example 4: Retrieve an online meeting by joinMeetingId
+You can retrieve meeting information via the **joinMeetingId** by using either a user or an application token.
+
+#### Request
+
+The following request uses a user token.
+<!-- { "blockType": "ignored" } -->
+```http
+GET https://graph.microsoft.com/beta/me/onlineMeetings?$filter=joinMeetingIdSettings/joinMeetingId%20eq%20'1234567890'
+```
+
+The following request uses an app token.
+<!-- { "blockType": "ignored" } -->
+```http
+GET https://graph.microsoft.com/beta/users/dc17674c-81d9-4adb-bfb2-8f6a442e4622/onlineMeetings?$filter=joinMeetingIdSettings/joinMeetingId%20eq%20'1234567890'
+```
+
+#### Response
+
+The following is an example of the response.
+
+> **Note:** The response object shown here might be shortened for readability.
+
+```json
+{
+ "value": [
+ {
+ "id": "dc17674c-81d9-4adb-bfb2-8f6a442e4622_19:meeting_MGQ4MDQyNTLTlkM2EtZWVkODYxODYzMmY2@thread.v2",
+ "creationDateTime": "2020-09-29T22:35:33.1594516Z",
+ "startDateTime": "2020-09-29T22:35:31.389759Z",
+ "endDateTime": "2020-09-29T23:35:31.389759Z",
+ "joinWebUrl": "https://teams.microsoft.com/l/meetup-join/19%3ameeting_MGQ4MDQyNTEtNTM2EtZWVkODYxODYzMmY2%40thread.v2/0?context=%7b%22Tid%22%3a%22909c6581-5130-43e9-88f3-fcb3582cde37%22%2c%22Oid%22%3a%22dc17674c-81d9-4adb-bfb2-8f6a442e4622%22%7d",
+ "subject": null,
+ "autoAdmittedUsers": "EveryoneInCompany",
+ "isEntryExitAnnounced": true,
+ "allowedPresenters": "everyone",
+ "allowMeetingChat": "enabled",
+ "allowTeamworkReactions": true,
+ "videoTeleconferenceId": "(redacted)",
+ "participants": {
+ "organizer": {
+ "upn": "(redacted)",
+ "role": "presenter",
+ "identity": {
+ "user": {
+ "id": "dc174c-81d9-4adb-bfb2-8f6622",
+ "displayName": null,
+ "tenantId": "9091-5130-43e9-88f3-fce38",
+ "identityProvider": "AAD"
+ }
+ }
+ },
+ "attendees": [],
+ "producers": [],
+ "contributors": []
+ },
+ "lobbyBypassSettings": {
+ "scope": "organization",
+ "isDialInBypassEnabled": false
+ },
+ "joinMeetingIdSettings": {
+ "isPasscodeRequired": false,
+ "joinMeetingId": "1234567890",
+ "passcode": null
+ }
+ }
+ ]
+}
+```
+
+### Example 5: Fetch the attendee report of a Teams live event
The following example shows a request to download an attendee report.
GET https://graph.microsoft.com/beta/users/dc74d9bb-6afe-433d-8eaa-e39d80d3a647/
#### Response
+The following is an example of the response.
+ <!-- { "blockType": "response", "truncated": true,
HTTP/1.1 302 Found
Location: https://01-a-noam.dog.attend.teams.microsoft.com/broadcast/909c6581-5130-43e9-88f3-fcb3582cde37/dc17674c-81d9-4adb-bfb2-8f6a442e4622/19%3Ameeting_ZWE0YzQwMzItYjEyNi00NjJjLWE4MjYtOTUxYjE1NmFjYWIw%40thread.v2/0/resource/attendeeReport ```
-### Example 5: Fetch recording of a Teams live event
+### Example 6: Fetch the recording of a Teams live event
The following example shows a request to download a recording.
GET https://graph.microsoft.com/beta/users/dc74d9bb-6afe-433d-8eaa-e39d80d3a647/
``` #### Response+
+The following is an example of the response.
+ <!-- { "blockType": "response", "truncated": true,
v1.0 Signin Confirmcompromised https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/signin-confirmcompromised.md
Namespace: microsoft.graph
[!INCLUDE [beta-disclaimer](../../includes/beta-disclaimer.md)]
-Allow admins to mark an event in the Azure AD sign in logs as risky. Events marked as risky by an admin are immediately flagged as high risk in Azure AD Identity Protection, overriding previous risk states. Admins can confirm that events flagged as risky by Azure AD Identity Protection are in fact risky and move them to high risk. For details about investigating Identity Protection risks, see [How to investigate risk](/azure/active-directory/identity-protection/howto-identity-protection-investigate-risk).
+Allow admins to mark an event in the Azure AD sign in logs as risky. Events marked as risky by an admin are immediately flagged as high risk in Azure AD Identity Protection, overriding previous risk states. Admins can confirm that events flagged as risky by Azure AD Identity Protection are in fact risky.
+
+For details about investigating Identity Protection risks, see [How to investigate risk](/azure/active-directory/identity-protection/howto-identity-protection-investigate-risk).
## Permissions One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Permissions](/graph/permissions-reference).
v1.0 Table Update https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/table-update.md
In the request body, supply the values for relevant fields that should be update
## Response
-If successful, this method returns a `200 OK` response code and updated [Table](../resources/workbooktable.md) object in the response body.
+If successful, this method returns a `200 OK` response code and an updated [table](../resources/workbooktable.md) object in the response body.
## Example
-##### Request
-Here is an example of the request.
+### Request
+The following is an example of a request.
# [HTTP](#tab/http) <!-- {
Content-type: application/json
-##### Response
-Here is an example of the response. Note: The response object shown here might be shortened for readability.
+### Response
+The following is an example of the response.
+>**Note**: The response object shown here might be shortened for readability.
<!-- { "blockType": "response", "truncated": true,
v1.0 Taskfileattachment Createuploadsession https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/taskfileattachment-createuploadsession.md
+
+ Title: "taskFileAttachment: createUploadSession"
+description: "Create an upload session to iteratively upload ranges of a file as an attachment to a Microsoft To Do task."
+
+ms.localizationpriority: medium
++
+# taskFileAttachment: createUploadSession
+Namespace: microsoft.graph
++
+Create an upload session to iteratively upload ranges of a file as an attachment to a [todoTask](../resources/todotask.md).
+
+As part of the response, this action returns an upload URL that you can use in subsequent sequential `PUT` queries. The request headers for each `PUT` operation let you specify the exact range of bytes to be uploaded. This allows the transfer to be resumed, in case the network connection is dropped during the upload.
+
+The following are the steps to attach a file to a Microsoft To Do task using an upload session:
+
+1. Create an upload session.
+2. Within that upload session, iteratively upload ranges of bytes (up to 4 MB each time) until all the bytes of the file have been uploaded, and the file is attached to the **todoTask**.
+3. Optional: Delete the upload session.
+
+>**Note:** Use this approach to attach a file of any supported size between 0 MB to 25 MB.
+
+For an example that describes the end-to-end attachment process, see [attach files to a To Do task](/graph/todo-attachments).
+
+## Permissions
+One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Permissions](/graph/permissions-reference).
+
+|Permission type|Permissions (from least to most privileged)|
+|:|:|
+|Delegated (work or school account)|Tasks.ReadWrite|
+|Delegated (personal Microsoft account)|Tasks.ReadWrite|
+|Application|Not supported.|
++
+## HTTP request
+
+<!-- {
+ "blockType": "ignored"
+}
+-->
+``` http
+POST /me/todo/lists/{id}/tasks/{id}/attachments/createUploadSession
+POST /users/{id}/todo/lists/{id}/tasks/{id}/attachments/createUploadSession
+```
+
+## Request headers
+|Name|Description|
+|:|:|
+|Authorization|Bearer {token}. Required.|
+|Content-Type|application/json. Required.|
+
+## Request body
+In the request body, supply a JSON representation of the parameters.
+
+The following table shows the parameter that can be used with this action.
+
+|Parameter|Type|Description|
+|:|:|:|
+|attachmentInfo|[attachmentInfo](../resources/attachmentinfo.md)|Represents attributes of the item to be uploaded and attached. At minimum, specify the attachment type (`file`), a name, and the size of the file.|
++
+## Response
+
+If successful, this action returns a `200 OK` response code and a new [uploadSession](../resources/uploadsession.md) in the response body.
+
+## Examples
+
+### Request
+The following is an example of a request to create an upload session.
+<!-- {
+ "blockType": "request",
+ "name": "attachmentbasethis.createuploadsession"
+}
+-->
+``` http
+POST https://graph.microsoft.com/betiFkfh=/tasks/AAMkADliMm=/attachments/createUploadSession
+Content-Type: application/json
+
+{
+ "attachmentInfo": {
+ "@odata.type": "microsoft.graph.attachmentInfo",
+ "attachmentType": "file",
+ "name": "flower",
+ "size": 3483322
+ }
+}
+```
+
+### Response
+The following is an example of the response.
+>**Note:** The response object shown here might be shortened for readability.
+<!-- {
+ "blockType": "response",
+ "truncated": true,
+ "@odata.type": "microsoft.graph.uploadSession"
+}
+-->
+``` http
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{
+ "@odata.context": "https://graph.microsoft.com/beta/$metadata#microsoft.graph.uploadSession",
+ "uploadUrl": "https://graph.microsoft.com/betiFkfh=/tasks/AAMkADliMm=/attachmentSessions/AAMkADliMm=",
+ "expirationDateTime": "2022-06-09T10:45:27.4324526Z",
+ "nextExpectedRanges": [
+ "0-"
+ ]
+}
+```
v1.0 Taskfileattachment Delete https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/taskfileattachment-delete.md
+
+ Title: "Delete taskFileAttachment"
+description: "Delete a taskFileAttachment object from a todoTask resource."
+
+ms.localizationpriority: medium
++
+# Delete taskFileAttachment
+Namespace: microsoft.graph
++
+Delete a [taskFileAttachment](../resources/taskfileattachment.md) object from a [todoTask](../resources/todotask.md) resource.
+
+## Permissions
+One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Permissions](/graph/permissions-reference).
+
+|Permission type|Permissions (from least to most privileged)|
+|:|:|
+|Delegated (work or school account)|Tasks.ReadWrite|
+|Delegated (personal Microsoft account)|Tasks.ReadWrite|
+|Application|Not supported.|
+
+## HTTP request
+
+<!-- {
+ "blockType": "ignored"
+}
+-->
+``` http
+DELETE /me/todo/lists/{id}/tasks/{id}/attachments/{id}
+DELETE /users/{id}/todo/lists/{id}/tasks/{id}/attachments/{id}
+```
+
+## Request headers
+|Name|Description|
+|:|:|
+|Authorization|Bearer {token}. Required.|
+
+## Request body
+Do not supply a request body for this method.
+
+## Response
+
+If successful, this method returns a `204 No Content` response code.
+
+## Examples
+
+### Request
+The following is an example of a request.
+<!-- {
+ "blockType": "request",
+ "name": "delete_taskfileattachment"
+}
+-->
+``` http
+DELETE https://graph.microsoft.com/beta/me/todo/lists/AAMehdkfuhgAAA=/tasks/AAMkAGUzY5QKjAAA=/attachments/AAMkAGUzY5QKjAAABEgAQAMkpJI_X-LBFgvrv1PlZYd8=
+```
++
+### Response
+The following is an example of the response.
+<!-- {
+ "blockType": "response",
+ "truncated": true
+}
+-->
+``` http
+HTTP/1.1 204 No Content
+```
+
v1.0 Taskfileattachment Get https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/taskfileattachment-get.md
+
+ Title: "Get taskFileAttachment"
+description: "Read the properties and relationships of a taskFileAttachment object."
+
+ms.localizationpriority: medium
++
+# Get taskFileAttachment
+Namespace: microsoft.graph
++
+Read the properties and relationships of a [taskFileAttachment](../resources/taskfileattachment.md) object.
+
+## Permissions
+One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Permissions](/graph/permissions-reference).
+
+|Permission type|Permissions (from least to most privileged)|
+|:|:|
+|Delegated (work or school account)|Tasks.Read, Tasks.ReadWrite|
+|Delegated (personal Microsoft account)|Tasks.Read, Tasks.ReadWrite|
+|Application|Not supported.|
+
+## HTTP request
+To get a file attached to a [todoTask](../resources/todotask.md):
+
+<!-- {
+ "blockType": "ignored"
+}
+-->
+```http
+GET /me/todo/lists/{id}/tasks/{id}/attachments/{id}
+GET /users/{id}/todo/lists/{id}/tasks/{id}/attachments/{id}
+```
+
+To get the raw contents of a file attachment (the content type is based on the original content type of the file):
+<!-- {
+ "blockType": "ignored"
+}
+-->
+``http
+GET /me/todo/lists/{id}/tasks/{id}/attachments/{id}/$value
+GET /users/{id}/todo/lists/{id}/tasks/{id}/attachments/{id}/$value
+``
+
+## Optional query parameters
+This method supports some of the OData query parameters to help customize the response. For general information, see [OData query parameters](/graph/query-parameters).
+
+## Request headers
+|Name|Description|
+|:|:|
+|Authorization|Bearer {token}. Required.|
+
+## Request body
+Do not supply a request body for this method.
+
+## Response
+
+If successful, this method returns a `200 OK` response code and a [taskFileAttachment](../resources/taskfileattachment.md) object in the response body.
+
+## Examples
+
+### Request
+The following is an example of a request.
+<!-- {
+ "blockType": "request",
+ "name": "get_taskfileattachment"
+}
+-->
+``` http
+GET https://graph.microsoft.com/beta/me/todo/lists/AAMehdkfuhgAAA=/tasks/AAMkAGUzY5QKjAAA=/attachments/AAMkAGUzY5QKjAAABEgAQAMkpJI_X-LBFgvrv1PlZYd8=
+```
++
+### Response
+The following is an example of the response.
+>**Note:** The response object shown here might be shortened for readability.
+<!-- {
+ "blockType": "response",
+ "truncated": true,
+ "@odata.type": "microsoft.graph.taskFileAttachment"
+}
+-->
+``` http
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{
+ "value": {
+ "@odata.type": "#microsoft.graph.taskFileAttachment",
+ "id": "AAMkAGUzY5QKjAAABEgAQAMkpJI_X-LBFgvrv1PlZYd8=",
+ "lastModifiedDateTime": "2021-04-02T03:41:29Z",
+ "name": "Q1 Planning.docx",
+ "contentType": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
+ "size": 29068,
+ "contentBytes": "UEsDBBQABgAIAAAAIQ4AAAAA"
+ }
+}
+```
+
v1.0 Teamsappsettings Get https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/teamsappsettings-get.md
+
+ Title: "Get teamsAppSettings"
+description: "Read the properties and relationships of a teamsAppSettings object."
+
+ms.localizationpriority: medium
++
+# Get teamsAppSettings
+Namespace: microsoft.graph
++
+Read the properties and relationships of a [teamsAppSettings](../resources/teamsappsettings.md) object.
+
+## Permissions
+One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Permissions](/graph/permissions-reference).
+
+|Permission type|Permissions (from least to most privileged)|
+|:|:|
+|Delegated (work or school account)|TeamworkAppSettings.Read.All, TeamworkAppSettings.ReadWrite.All|
+|Delegated (personal Microsoft account)|Not supported|
+|Application|Not supported|
+
+> [!NOTE]
+> TeamworkAppSettings.* permissions might not be visible in the Azure portal. For details and workarounds, see [known issues](/graph/known-issues#teamworkappsettings-permissions-are-not-visible-in-the-azure-portal).
+
+## HTTP request
+
+<!-- {
+ "blockType": "ignored"
+}
+-->
+``` http
+GET /teamwork/teamsAppSettings
+```
+
+## Optional query parameters
+This method supports some of the OData query parameters to help customize the response. For general information, see [OData query parameters](/graph/query-parameters).
+
+## Request headers
+|Name|Description|
+|:|:|
+|Authorization|Bearer {token}. Required.|
+
+## Request body
+Do not supply a request body for this method.
+
+## Response
+
+If successful, this method returns a `200 OK` response code and a [teamsAppSettings](../resources/teamsappsettings.md) object in the response body.
+
+## Examples
+
+### Example 1: Get the tenant-wide settings for all Teams apps in the tenant.
+
+#### Request
+
+<!-- {
+ "blockType": "request",
+ "name": "get_teamsappsettings"
+}
+-->
+``` http
+GET https://graph.microsoft.com/beta/teamwork/teamsAppSettings
+```
++
+#### Response
+
+>**Note:** The response object shown here might be shortened for readability.
+<!-- {
+ "blockType": "response",
+ "truncated": true,
+ "@odata.type": "microsoft.graph.teamsAppSettings"
+}
+-->
+``` http
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{
+ "value": {
+ "@odata.type": "#microsoft.graph.teamsAppSettings",
+ "id": "65bdf003-0c4c-4bca-b102-0821ab0d1364",
+ "isChatResourceSpecificConsentEnabled": "true"
+ }
+}
+```
+
+## See also
+
+- [Resource-specific consent](/microsoftteams/platform/graph-api/rsc/resource-specific-consent)
v1.0 Teamsappsettings Update https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/teamsappsettings-update.md
+
+ Title: "Update teamsAppSettings"
+description: "Update the properties of a teamsAppSettings object."
+
+ms.localizationpriority: medium
++
+# Update teamsAppSettings
+Namespace: microsoft.graph
++
+Update the properties of a [teamsAppSettings](../resources/teamsappsettings.md) object.
+
+## Permissions
+One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Permissions](/graph/permissions-reference).
+
+>**Note:** Only global administrators and Teams administrators can call this API.
+
+|Permission type|Permissions (from least to most privileged)|
+|:|:|
+|Delegated (work or school account)|TeamworkAppSettings.ReadWrite.All|
+|Delegated (personal Microsoft account)|Not supported|
+|Application|Not supported|
+
+> [!NOTE]
+> TeamworkAppSettings.* permissions might not be visible in the Azure portal. For details and workarounds, see [known issues](/graph/known-issues#teamworkappsettings-permissions-are-not-visible-in-the-azure-portal).
+
+## HTTP request
+
+<!-- {
+ "blockType": "ignored"
+}
+-->
+``` http
+PATCH /teamwork/teamsAppSettings
+```
+
+## Request headers
+|Name|Description|
+|:|:|
+|Authorization|Bearer {token}. Required.|
+|Content-Type|application/json. Required.|
+
+## Request body
++
+|Property|Type|Description|
+|:|:|:|
+|isChatResourceSpecificConsentEnabled|Boolean|Indicates whether resource-specific consent for chats/meetings has been enabled for the tenant. If true, Teams apps that are allowed in the tenant and require resource-specific permissions can be installed inside chats and meetings. If false, the installation of any Teams app that requires resource-specific permissions in a chat or a meeting will be blocked.|
+++
+## Response
+
+If successful, this method returns a `204 No Content` response code.
+
+## Examples
+
+### Example 1: Enable installation of apps that require resource-specific consent in chats/meetings.
+
+#### Request
+
+<!-- {
+ "blockType": "request",
+ "name": "update_teamsappsettings"
+}
+-->
+``` http
+PATCH https://graph.microsoft.com/beta/teamwork/teamsAppSettings
+Content-Type: application/json
+
+{
+ "@odata.type": "#microsoft.graph.teamsAppSettings",
+ "isChatResourceSpecificConsentEnabled": "true"
+}
+```
+
+#### Response
+
+<!-- {
+ "blockType": "response"
+} -->
+
+```http
+HTTP/1.1 204 No Content
+```
+
+## See also
+
+- [Resource-specific consent](/microsoftteams/platform/graph-api/rsc/resource-specific-consent)
v1.0 Todotask List Attachments https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/todotask-list-attachments.md
+
+ Title: "List taskFileAttachments"
+description: "Get a list of the taskFileAttachment objects and their properties."
+
+ms.localizationpriority: medium
++
+# List taskFileAttachments
+Namespace: microsoft.graph
++
+Get a list of the [taskFileAttachment](../resources/taskfileattachment.md) objects and their properties. The **contentBytes** property will not be returned in the response. Use the [Get attachment](../api/attachment-get.md) API to view the **contentBytes**.
+
+## Permissions
+One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Permissions](/graph/permissions-reference).
+
+|Permission type|Permissions (from least to most privileged)|
+|:|:|
+|Delegated (work or school account)|Tasks.Read, Tasks.ReadWrite|
+|Delegated (personal Microsoft account)|Tasks.Read, Tasks.ReadWrite|
+|Application|Not supported.|
+
+## HTTP request
+
+<!-- {
+ "blockType": "ignored"
+}
+-->
+``` http
+GET /me/todo/lists/{todoTaskListId}/tasks/{todoTaskId}/attachments
+GET /users/{id}/todo/lists/{id}/tasks/{id}/attachments
+```
+
+## Optional query parameters
+This method supports some of the OData query parameters to help customize the response. For general information, see [OData query parameters](/graph/query-parameters).
+
+## Request headers
+|Name|Description|
+|:|:|
+|Authorization|Bearer {token}. Required.|
+
+## Request body
+Do not supply a request body for this method.
+
+## Response
+
+If successful, this method returns a `200 OK` response code and a collection of [taskFileAttachment](../resources/taskfileattachment.md) objects in the response body.
+
+## Examples
+
+### Request
+The following is an example of a request.
+<!-- {
+ "blockType": "request",
+ "name": "list_taskfileattachment"
+}
+-->
+``` http
+GET https://graph.microsoft.com/beta/me/todo/lists/AAMehdkfuhgAAA=/tasks/AAMkAGUzY5QKjAAA=/attachments
+```
++
+### Response
+The following is an example of the response.
+>**Note:** The response object shown here might be shortened for readability.
+<!-- {
+ "blockType": "response",
+ "truncated": true,
+ "@odata.type": "microsoft.graph.taskFileAttachment",
+ "isCollection": true
+}
+-->
+``` http
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{
+ "value": [
+ {
+ "@odata.type": "#microsoft.graph.taskFileAttachment",
+ "id": "AAMkADliMm=",
+ "name": "flower.md",
+ "size": 2814,
+ "lastModifiedDateTime": "2022-06-09T10:40:52Z",
+ "contentType": "application/octet-stream"
+ },
+ {
+ "@odata.type": "#microsoft.graph.taskFileAttachment",
+ "id": "AAMkADliMmU5YjJlLTVmMmQtNGQzNS1iYjA0LTdmZTA2NTI0MTE5YwBGAAAAAADdOMUbUmCfTKa7OC-fqjkdBwBnu3olF7NfToRyJ2f__TNcAAAAAAESAABnu3olF7NfToRyJ2f__TNcAAHmG2K0AAABEgAQAFWmGvX71MhOrjRDhWM95yY=",
+ "name": "tree.jpg",
+ "size": 8591,
+ "lastModifiedDateTime": "2022-06-09T10:40:59Z",
+ "contentType": "image/jpeg"
+ }
+ ]
+}
+```
v1.0 Todotask Post Attachments https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/todotask-post-attachments.md
+
+ Title: "Create taskFileAttachment"
+description: "Add a new taskFileAttachment object to a todoTask."
+
+ms.localizationpriority: medium
++
+# Create taskFileAttachment
+Namespace: microsoft.graph
++
+Add a new [taskFileAttachment](../resources/taskfileattachment.md) object to a [todoTask](../resources/todotask.md).
+
+This operation limits the size of the attachment you can add to under 3 MB. If the size of the file attachments is more than 3 MB, [create an upload session](../api/taskfileattachment-createuploadsession.md) to upload the attachments.
++
+## Permissions
+One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Permissions](/graph/permissions-reference).
+
+|Permission type|Permissions (from least to most privileged)|
+|:|:|
+|Delegated (work or school account)|Tasks.ReadWrite|
+|Delegated (personal Microsoft account)|Tasks.ReadWrite|
+|Application|Not supported.|
+
+## HTTP request
+
+<!-- {
+ "blockType": "ignored"
+}
+-->
+``` http
+POST /me/todo/lists/{id}/tasks/{id}/attachments
+POST /users/{id}/todo/lists/{id}/tasks/{id}/attachments
+```
+
+## Request headers
+|Name|Description|
+|:|:|
+|Authorization|Bearer {token}. Required.|
+|Content-Type|application/json. Required.|
+
+## Request body
+In the request body, supply a JSON representation of the [taskFileAttachment](../resources/taskfileattachment.md) object.
+
+When you create a file attachment, include `"@odata.type": "#microsoft.graph.taskFileAttachment"` and the required properties.
+
+|Property|Type|Description|
+|:|:|:|
+|contentBytes|Binary|The base64-encoded contents of the file. Required.|
+|contentType|String|The content type of the attachment. |
+|name|String|The name of the text displayed under the icon that represents the embedded attachment. This does not need to be the actual file name. Required. |
+|size|Int32|The size in bytes of the attachment. |
+
+## Response
+
+If successful, this method returns a `201 Created` response code and a [taskFileAttachment](../resources/taskfileattachment.md) object in the response body.
+
+## Examples
+
+### Request
+The following is an example of a request.
+<!-- {
+ "blockType": "request",
+ "name": "create_taskFileAttachment_from_"
+}
+-->
+``` http
+POST https://graph.microsoft.com/beta/me/todo/lists/AAMkpsDRVK=/tasks/AAKdfjhgsjhgJ=/attachments
+Content-Type: application/json
+
+{
+ "@odata.type": "#microsoft.graph.taskFileAttachment",
+ "name": "smile",
+ "contentBytes": "a0b1c76de9f7=",
+ "contentType": "image/gif"
+}
+```
++
+### Response
+The following is an example of the response.
+>**Note:** The response object shown here might be shortened for readability.
+<!-- {
+ "blockType": "response",
+ "truncated": true,
+ "@odata.type": "microsoft.graph.taskFileAttachment"
+}
+-->
+``` http
+HTTP/1.1 201 Created
+Content-Type: application/json
+
+{
+ "@odata.type": "#microsoft.graph.taskFileAttachment",
+ "id": "AAMkADNkN2R",
+ "lastModifiedDateTime": "2017-01-26T08:48:28Z",
+ "name": "smile",
+ "contentType": "image/gif",
+ "size": 1008
+}
+```
+
v1.0 User List Memberof https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/user-list-memberof.md
Title: "List user memberOf"
-description: "Get groups, directory roles and administrative units that the user is a direct member of. This operation is not transitive."
+ Title: "List a user's direct memberships"
+description: "Get groups, directory roles, and administrative units that the user is a direct member of. This operation is not transitive."
ms.localizationpriority: medium ms.prod: "users" doc_type: apiPageType
-# List user memberOf
+# List a user's direct memberships
Namespace: microsoft.graph [!INCLUDE [beta-disclaimer](../../includes/beta-disclaimer.md)]
-Get [groups](../resources/group.md), [directory roles](../resources/directoryrole.md), and [administrative units](../resources/administrativeunit.md) that the user is a direct member of. This operation is not transitive.
+Get [groups](../resources/group.md), [directory roles](../resources/directoryrole.md), and [administrative units](../resources/administrativeunit.md) that the user is a direct member of. This operation is not transitive. To retrieve groups, directory roles, and administrative units that the user is a member through transitive membership, use the [List user transitive memberOf](user-list-transitivememberof.md) API.
## Permissions
v1.0 User List Transitivememberof https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/user-list-transitivememberof.md
Title: "List user transitive memberOf"
-description: "Get groups, directory roles and administrative units that the user is a member of. This API request is transitive, and will also return all groups the user is a nested member of."
+ Title: "List a user's memberships (direct and transitive)"
+description: "Get groups, directory roles, and administrative units that the user is a member of through either direct or transitive membership."
ms.localizationpriority: medium ms.prod: "users" doc_type: apiPageType
-# List user transitive memberOf
+# List a user's memberships (direct and transitive)
Namespace: microsoft.graph [!INCLUDE [beta-disclaimer](../../includes/beta-disclaimer.md)]
-Get groups, directory roles and administrative units that the user is a member of. This API request is transitive, and will also return all groups the user is a nested member of.
+Get [groups](../resources/group.md), [directory roles](../resources/directoryrole.md), and [administrative units](../resources/administrativeunit.md) that the user is a member of through either direct or transitive membership.
## Permissions
v1.0 Accessreviewrecommendationinsightsetting https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/accessreviewrecommendationinsightsetting.md
Namespace: microsoft.graph
[!INCLUDE [accessreviews-disclaimer-v2](../../includes/accessreviews-disclaimer-v2.md)]
-The **accessReviewRecommendationInsightSetting** allows you to configure insights for an [accessReviewScheduleDefinition](accessreviewscheduledefinition.md). This is an abstract type for the [accessReviewRecommendationInsightSetting](accessReviewRecommendationInsightSetting.md) derived type.
+The **accessReviewRecommendationInsightSetting** allows you to configure insights for an [accessReviewScheduleDefinition](accessreviewscheduledefinition.md). This complex type is the abstract type for the following derived types:
++ [userLastSignInRecommendationInsightSetting](userlastsignInrecommendationinsightsetting.md) ## Relationships
v1.0 Attachmentbase https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/attachmentbase.md
+
+ Title: "attachmentBase resource type"
+description: "Represents an abstract base type for an attachment."
+
+ms.localizationpriority: medium
++
+# attachmentBase resource type
+
+Namespace: microsoft.graph
++
+Represents an abstract base type for an attachment. You can add related content to a [todoTask](../resources/todotask.md) in the form of an attachment.
+
+Base type of [taskFileAttachment](../resources/taskfileattachment.md).
+
+Inherits from [entity](../resources/entity.md).
++
+## Properties
+|Property|Type|Description|
+|:|:|:|
+|contentType|String|The MIME type.|
+|id|String|Unique identifier for the attachment. Read-only. Inherited from [entity](../resources/entity.md).|
+|lastModifiedDateTime|DateTimeOffset|The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is `2014-01-01T00:00:00Z`.|
+|name|String|The display name of the attachment. This does not need to be the actual file name.|
+|size|Int32|The length of the attachment in bytes.|
+
+## Relationships
+None.
+
+## JSON representation
+The following is a JSON representation of the resource.
+<!-- {
+ "blockType": "resource",
+ "keyProperty": "id",
+ "@odata.type": "microsoft.graph.attachmentBase",
+ "baseType": "microsoft.graph.entity",
+ "openType": false
+}
+-->
+``` json
+{
+ "@odata.type": "#microsoft.graph.attachmentBase",
+ "contentType": "String",
+ "id": "String (identifier)",
+ "lastModifiedDateTime": "String (timestamp)",
+ "name": "String",
+ "size": "Int32"
+}
+```
+
v1.0 Attachmentinfo https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/attachmentinfo.md
+
+ Title: "attachmentInfo resource type"
+description: "Represents the attributes of an attachment."
+
+ms.localizationpriority: medium
++
+# attachmentInfo resource type
+
+Namespace: microsoft.graph
++
+Represents the attributes of an attachment.
+
+## Properties
+|Property|Type|Description|
+|:|:|:|
+|attachmentType|attachmentType|The type of the attachment. The possible values are: `file`, `item`, `reference`. Required.|
+|contentType|String|The nature of the data in the attachment. Optional.|
+|name|String|The display name of the attachment. This can be a descriptive string and does not have to be the actual file name. Required.|
+|size|Int64|The length of the attachment in bytes. Required.|
+
+## Relationships
+None.
+
+## JSON representation
+The following is a JSON representation of the resource.
+<!-- {
+ "blockType": "resource",
+ "@odata.type": "microsoft.graph.attachmentInfo"
+}
+-->
+``` json
+{
+ "@odata.type": "#microsoft.graph.attachmentInfo",
+ "attachmentType": "String",
+ "contentType": "String",
+ "name": "String",
+ "size": "Int64"
+}
+```
+
v1.0 Attachmentsession https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/attachmentsession.md
+
+ Title: "attachmentSession resource type"
+description: "Represents a resource that uploads large attachments to a todoTask."
+
+ms.localizationpriority: medium
++
+# attachmentSession resource type
+
+Namespace: microsoft.graph
++
+Represents a resource that uploads large attachments to a [todoTask](../resources/todotask.md).
+
+Inherits from [entity](../resources/entity.md).
+
+## Properties
+|Property|Type|Description|
+|:|:|:|
+|content|Stream|The content streams that are uploaded.|
+|expirationDateTime|DateTimeOffset| The date and time in UTC when the upload session will expire. The complete file must be uploaded before this expiration time is reached.|
+|id|String|Unique identifier for the attachment session. Read-only. Inherited from [entity](../resources/entity.md).|
+|nextExpectedRanges|String collection|Indicates a single value `{start}` that represents the location in the file where the next upload should begin.|
+
+## Relationships
+None.
+
+## JSON representation
+The following is a JSON representation of the resource.
+<!-- {
+ "blockType": "resource",
+ "keyProperty": "id",
+ "@odata.type": "microsoft.graph.attachmentSession",
+ "baseType": "microsoft.graph.entity",
+ "openType": false
+}
+-->
+``` json
+{
+ "@odata.type": "#microsoft.graph.attachmentSession",
+ "content": "Stream",
+ "expirationDateTime": "String (timestamp)",
+ "id": "String (identifier)",
+ "nextExpectedRanges": [
+ "String"
+ ]
+}
+```
+
v1.0 Call https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/call.md
https://teams.microsoft.com/l/meetup-join/19:meeting_NTg0NmQ3NTctZDVkZC00YzRhLTh
| mediaConfig | [appHostedMediaConfig](apphostedmediaconfig.md) or [serviceHostedMediaConfig](servicehostedmediaconfig.md) | The media configuration. Required information for creating peer to peer calls or joining meetings. | | mediaState | [callMediaState](callmediastate.md) | Read-only. The call media state. | | meetingCapability | [meetingCapability](meetingcapability.md) | Contains the capabilities of a meeting. Read-only. |
-| meetingInfo | [organizerMeetingInfo](organizermeetinginfo.md) or [tokenMeetingInfo](tokenmeetinginfo.md) | The meeting information. Required information for meeting scenarios. |
+| meetingInfo | [organizerMeetingInfo](organizermeetinginfo.md), [tokenMeetingInfo](tokenmeetinginfo.md), or [joinMeetingIdMeetingInfo](joinmeetingidmeetinginfo.md) | The meeting information. Required information for meeting scenarios. |
|transcription | [callTranscriptionInfo](calltranscriptioninfo.md) | The transcription information for the call. Read-only. | myParticipantId | String | Read-only. | | requestedModalities | modality collection | The list of requested modalities. Possible values are: `unknown`, `audio`, `video`, `videoBasedScreenSharing`, `data`. |
v1.0 Conditionalaccessrulesatisfied https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/conditionalaccessrulesatisfied.md
Indicates the attributes related to applied conditional access policy or policie
| Property | Type |Description| |:|:--|:-| |conditionalAccessCondition|conditionalAccessConditions|Refers to the conditional access policy conditions that are satisfied. The possible values are: `none`, `application`, `users`, `devicePlatform`, `location`, `clientType`, `signInRisk`, `userRisk`, `time`, `deviceState`, `client`, `ipAddressSeenByAzureAD`, `ipAddressSeenByResourceProvider`, `unknownFutureValue`, `servicePrincipals`, `servicePrincipalRisk`. Note that you must use the `Prefer: include-unknown-enum-members` request header to get the following values in this [evolvable enum](/graph/best-practices-concept#handling-future-members-in-evolvable-enumerations): `servicePrincipals`, `servicePrincipalRisk`.|
-|ruleSatisfied|conditionalAccessRule|Refers to the conditional access policy conditions that were satisfied. The possible values are: `allApps`, `firstPartyApps`, `office365`, `appId`, `acr`, `appFilter`, `allUsers`, `guest`, `groupId`, `roleId`, `userId`, `allDevicePlatforms`, `devicePlatform`, `allLocations`, `insideCorpnet`, `allTrustedLocations`, `locationId`, `allDevices`, `deviceFilter`, `deviceState`, `unknownFutureValue`, `deviceFilterIncludeRuleNotMatched`, `allDeviceStates`. Note that you must use the `Prefer: include-unknown-enum-members` request header to get the following values in this [evolvable enum](/graph/best-practices-concept#handling-future-members-in-evolvable-enumerations): `deviceFilterIncludeRuleNotMatched`, `allDeviceStates`.|
+|ruleSatisfied|conditionalAccessRule|Refers to the conditional access policy conditions that were satisfied. The possible values are: `allApps`, `firstPartyApps`, `office365`, `appId`, `acr`, `appFilter`, `allUsers`, `guest`, `groupId`, `roleId`, `userId`, `allDevicePlatforms`, `devicePlatform`, `allLocations`, `insideCorpnet`, `allTrustedLocations`, `locationId`, `allDevices`, `deviceFilter`, `deviceState`, `unknownFutureValue`, `deviceFilterIncludeRuleNotMatched`, `allDeviceStates`, `anonymizedIPAddress`, `unfamiliarFeatures`, `nationStateIPAddress`, `realTimeThreatIntelligence`, `internalGuest`, `b2bCollaborationGuest`, `b2bCollaborationMember`, `b2bDirectConnectUser`, `otherExternalUser`, `serviceProvider`. Note that you must use the `Prefer: include-unknown-enum-members` request header to get the following values in this [evolvable enum](/graph/best-practices-concept#handling-future-members-in-evolvable-enumerations): `deviceFilterIncludeRuleNotMatched`, `allDeviceStates`.|
## JSON representation
v1.0 Enums https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/enums.md
Possible values for user account types (group membership), per Windows definitio
|unknownFutureValue| |deviceFilterIncludeRuleNotMatched| |allDeviceStates|
+|anonymizedIPAddress|
+|unfamiliarFeatures|
+|nationStateIPAddress|
+|realTimeThreatIntelligence|
+|internalGuest|
+|b2bCollaborationGuest|
+|b2bCollaborationMember|
+|b2bDirectConnectUser|
+|otherExternalUser|
+|serviceProvider|
### signInAccessType values
v1.0 Group https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/group.md
This resource supports:
| createdDateTime | DateTimeOffset | Timestamp of when the group was created. The value cannot 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 Jan 1, 2014 is `2014-01-01T00:00:00Z`. <br><br>Returned by default. Supports `$filter` (`eq`, `ne`, `not`, `ge`, `le`, `in`). Read-only. | | deletedDateTime | DateTimeOffset | For some Azure Active Directory objects (user, group, application), if the object is deleted, it is 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. | | description | String | An optional description for the group. <br><br>Returned by default. Supports `$filter` (`eq`, `ne`, `not`, `ge`, `le`, `startsWith`) and `$search`. |
-| displayName | String | The display name for the group. Required. <br><br>Returned by default. Supports `$filter` (`eq`, `ne`, `not`, `ge`, `le`, `in`, `startsWith`, and `eq` on `null` values), `$search`, and `$orderBy`. |
+| displayName | String | The display name for the group. Required. Maximum length is 256 characters. <br><br>Returned by default. Supports `$filter` (`eq`, `ne`, `not`, `ge`, `le`, `in`, `startsWith`, and `eq` on `null` values), `$search`, and `$orderBy`. |
| expirationDateTime | DateTimeOffset | Timestamp of when the group is set to expire. The value cannot 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 Jan 1, 2014 is `2014-01-01T00:00:00Z`. <br><br>Returned by default. Supports `$filter` (`eq`, `ne`, `not`, `ge`, `le`, `in`). Read-only. | | groupTypes | String collection | Specifies the group type and its membership. <br><br>If the collection contains `Unified`, the group is a Microsoft 365 group; otherwise, it's either a security group or distribution group. For details, see [groups overview](groups-overview.md).<br><br>If the collection includes `DynamicMembership`, the group has dynamic membership; otherwise, membership is static. <br><br>Returned by default. Supports `$filter` (`eq`, `not`). | | hasMembersWithLicenseErrors | Boolean | Indicates whether there are members in this group that have license errors from its group-based license assignment. <br><br>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`). <br><br>Supports `$filter` (`eq`). |
This resource supports:
| unseenConversationsCount | Int32 | Count of conversations that have been delivered one or more new posts since the signed-in user's last visit to the group. This property is the same as **unseenCount**. <br><br>Returned only on `$select`. | | unseenCount | Int32 | Count of conversations that have received new posts since the signed-in user last visited the group. This property is the same as **unseenConversationsCount**.<br><br>Returned only on `$select`. Supported only on the Get group API (`GET /groups/{ID}`). | | unseenMessagesCount | Int32 | Count of new posts that have been delivered to the group's conversations since the signed-in user's last visit to the group. <br><br>Returned only on `$select`. |
-| visibility | String | Specifies 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.<br> If visibility value is not specified during group creation on Microsoft Graph, a security group is created as `Private` by default and Microsoft 365 group is `Public`. Groups assignable to roles are always `Private`. See [group visibility options](#group-visibility-options) to learn more. <br><br>Returned by default. Nullable. |
+| visibility | String | Specifies 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.<br> If visibility value is not specified during group creation on Microsoft Graph, a security group is created as `Private` by default and Microsoft 365 group is `Public`. Groups assignable to roles are always `Private`. See [group visibility options](#group-visibility-options) to learn more. <br><br>Returned by default. Nullable. |
| writebackConfiguration | [groupWritebackConfiguration](groupwritebackconfiguration.md) | Specifies whether or not a group is configured to write back group object properties to on-premise Active Directory. These properties are used when group writeback is configured in the [Azure AD Connect](/azure/active-directory/hybrid/how-to-connect-group-writeback-v2) sync client.| | ### Group visibility options
This resource supports:
| : | | | Public | Anyone can join the group without needing owner permission.<br>Anyone can view the contents of the group. | | Private | Owner permission is needed to join the group.<br>Non-members cannot view the contents of the group. |
-| Hiddenmembership | Owner permission is needed to join the group.<br>Non-members cannot view the contents of the group.<br>Non-members cannot see the members of the group.<br>Administrators (global, company, user, and helpdesk) can view the membership of the group.<br>The group appears in the global address book (GAL). |
+| HiddenMembership | Owner permission is needed to join the group.<br>Non-members cannot view the contents of the group.<br>Non-members cannot see the members of the group.<br>Administrators (global, company, user, and helpdesk) can view the membership of the group.<br>The group appears in the global address book (GAL). |
## Relationships
-| Relationship | Type | Description |
-| :-- | :-- | :-- |
-| acceptedSenders | [directoryObject](directoryobject.md) collection | The list of users or groups that are allowed to create post's or calendar events in this group. If this list is non-empty then only users or groups listed here are allowed to post. |
-| appRoleAssignments | [appRoleAssignment](approleassignment.md) collection | Represents the app roles a group has been granted for an application. Supports `$expand`. |
-| calendar | [calendar](calendar.md) | The group's calendar. Read-only. |
-| calendarView | [event](event.md) collection | The calendar view for the calendar. Read-only. |
-| conversations | [conversation](conversation.md) collection | The group's conversations. |
-| createdOnBehalfOf | [directoryObject](directoryobject.md) | The user (or application) that created the group. **Note:** This is not set if the user is an administrator. Read-only. |
-| drive | [drive](drive.md) | The group's default drive. Read-only. |
-| drives | [drive](drive.md) collection | The group's drives. Read-only. |
-| endpoints | [Endpoint](endpoint.md) collection | Endpoints for the group. Read-only. Nullable. |
-| events | [event](event.md) collection | The group's events. |
-| extensions | [extension](extension.md) collection | The collection of open extensions defined for the group. Read-only. Nullable. |
-| groupLifecyclePolicies | [groupLifecyclePolicy](grouplifecyclepolicy.md) collection | The collection of lifecycle policies for this group. Read-only. Nullable. |
-| memberOf | [directoryObject](directoryobject.md) collection | Groups and administrative units that this group is a member of. HTTP Methods: GET (supported for all groups). Read-only. Nullable. Supports `$expand`. |
-| members | [directoryObject](directoryobject.md) collection | Members of this group, who can be users, devices, other groups, or service principals. Supports the [List members](../api/group-list-members.md), [Add member](../api/group-post-members.md), and [Remove member](../api/group-delete-members.md) operations. Nullable. <br/>Supports `$expand` including nested `$select`. For example, `/groups?$filter=startsWith(displayName,'Role')&$select=id,displayName&$expand=members($select=id,userPrincipalName,displayName)`. |
-| membersWithLicenseErrors | [user](user.md) collection | A list of group members with license errors from this group-based license assignment. Read-only. |
-| onenote | [onenote](onenote.md) | Read-only. |
-| owners | [directoryObject](directoryobject.md) collection | The owners of the group who can be users or service principals. Nullable. If this property is not specified when creating a Microsoft 365 group, the calling user is automatically assigned as the group owner. <br/>Supports `$expand` including nested `$select`. For example, `/groups?$filter=startsWith(displayName,'Role')&$select=id,displayName&$expand=owners($select=id,userPrincipalName,displayName)`. |
-| permissionGrants | [resourceSpecificPermissionGrant](resourcespecificpermissiongrant.md) | The permissions that have been granted for a group to a specific application. Supports `$expand`. |
-| photo | [profilePhoto](profilephoto.md) | The group's profile photo. |
-| photos | [profilePhoto](profilephoto.md) collection | The profile photos owned by the group. Read-only. Nullable. |
-| planner | [plannerGroup](plannergroup.md) | Selective Planner services available to the group. Read-only. Nullable. |
-| rejectedSenders | [directoryObject](directoryobject.md) collection | The list of users or groups that are not allowed to create posts or calendar events in this group. Nullable |
-| settings | [directorySetting](directorysetting.md) collection | Settings that can govern this group's behavior, like whether members can invite guest users to the group. Nullable. |
-| sites | [site](site.md) collection | The list of SharePoint sites in this group. Access the default site with /sites/root. |
-| team | [channel](channel.md) collection | The team associated with this group. |
-| threads | [conversationThread](conversationthread.md) collection | The group's conversation threads. Nullable. |
+| Relationship | Type | Description |
+|:-|:-|:-|
+| acceptedSenders | [directoryObject](directoryobject.md) collection | The list of users or groups that are allowed to create post's or calendar events in this group. If this list is non-empty then only users or groups listed here are allowed to post. |
+| appRoleAssignments | [appRoleAssignment](approleassignment.md) collection | Represents the app roles a group has been granted for an application. Supports `$expand`. |
+| calendar | [calendar](calendar.md) | The group's calendar. Read-only. |
+| calendarView | [event](event.md) collection | The calendar view for the calendar. Read-only. |
+| conversations | [conversation](conversation.md) collection | The group's conversations. |
+| createdOnBehalfOf | [directoryObject](directoryobject.md) | The user (or application) that created the group. **Note:** This is not set if the user is an administrator. Read-only. |
+| drive | [drive](drive.md) | The group's default drive. Read-only. |
+| drives | [drive](drive.md) collection | The group's drives. Read-only. |
+| endpoints | [Endpoint](endpoint.md) collection | Endpoints for the group. Read-only. Nullable. |
+| events | [event](event.md) collection | The group's events. |
+| extensions | [extension](extension.md) collection | The collection of open extensions defined for the group. Read-only. Nullable. |
+| groupLifecyclePolicies | [groupLifecyclePolicy](grouplifecyclepolicy.md) collection | The collection of lifecycle policies for this group. Read-only. Nullable. |
+| memberOf | [directoryObject](directoryobject.md) collection | Groups and administrative units that this group is a member of. HTTP Methods: GET (supported for all groups). Read-only. Nullable. Supports `$expand`. |
+| members | [directoryObject](directoryobject.md) collection | Direct members of this group, who can be users, devices, other groups, or service principals. Supports the [List members](../api/group-list-members.md), [Add member](../api/group-post-members.md), and [Remove member](../api/group-delete-members.md) operations. Nullable. <br/>Supports `$expand` including nested `$select`. For example, `/groups?$filter=startsWith(displayName,'Role')&$select=id,displayName&$expand=members($select=id,userPrincipalName,displayName)`. |
+| membersWithLicenseErrors | [user](user.md) collection | A list of group members with license errors from this group-based license assignment. Read-only. |
+| onenote | [onenote](onenote.md) | Read-only. |
+| owners | [directoryObject](directoryobject.md) collection | The owners of the group who can be users or service principals. Nullable. If this property is not specified when creating a Microsoft 365 group, the calling user is automatically assigned as the group owner. <br/>Supports `$expand` including nested `$select`. For example, `/groups?$filter=startsWith(displayName,'Role')&$select=id,displayName&$expand=owners($select=id,userPrincipalName,displayName)`. |
+| permissionGrants | [resourceSpecificPermissionGrant](resourcespecificpermissiongrant.md) | The permissions that have been granted for a group to a specific application. Supports `$expand`. |
+| photo | [profilePhoto](profilephoto.md) | The group's profile photo. |
+| photos | [profilePhoto](profilephoto.md) collection | The profile photos owned by the group. Read-only. Nullable. |
+| planner | [plannerGroup](plannergroup.md) | Selective Planner services available to the group. Read-only. Nullable. |
+| rejectedSenders | [directoryObject](directoryobject.md) collection | The list of users or groups that are not allowed to create posts or calendar events in this group. Nullable |
+| settings | [directorySetting](directorysetting.md) collection | Settings that can govern this group's behavior, like whether members can invite guest users to the group. Nullable. |
+| sites | [site](site.md) collection | The list of SharePoint sites in this group. Access the default site with /sites/root. |
+| team | [channel](channel.md) collection | The team associated with this group. |
+| threads | [conversationThread](conversationthread.md) collection | The group's conversation threads. Nullable. |
+| transitiveMemberOf | [directoryObject](directoryobject.md) collection | The groups that a group is a member of, either directly and through nested membership. Nullable. |
+| transitiveMembers | [directoryObject](directoryobject.md) collection | The direct and transitive members of a group. Nullable. |
## JSON representation
v1.0 Groupwritebackconfiguration https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/groupwritebackconfiguration.md
Inherits from [writebackConfiguration](../resources/writebackconfiguration.md).
|Property|Type|Description| |:|:|:| |isEnabled|Boolean|Indicates whether writeback of cloud groups to on-premise Active Directory is enabled. Nullable. Default value is `true` for Microsoft 365 groups and `false` for security groups. Inherited from [writebackConfiguration](../resources/writebackconfiguration.md).|
-|onPremisesGroupType|String|Indicates the target on-premise group type the cloud object will be written back as. Nullable. The possible values are: `universalDistributionGroup`, `universalSecurityGroup`, `universalMailEnabledSecurityGroup`. <br>+ If the cloud group is a unified (Microsoft 365) group, this property can be one of the following: `universalDistributionGroup`, `universalSecurityGroup`, `universalMailEnabledSecurityGroup`. <br> + Azure AD security groups can be written back as `universalSecurityGroup`. <br> + If **isEnabled** or the `NewUnifiedGroupWritebackDefault` [group setting](directorysetting.md) is `true` but this property is not explicitly configured: <br> &nbsp; &nbsp; + Microsoft 365 groups will be written back as `universalDistributionGroup` by default <br> &nbsp; &nbsp; + Security groups will be written back as `universalSecurityGroup` by default|
+|onPremisesGroupType|String|Indicates the target on-premise group type the cloud object will be written back as. Nullable. The possible values are: `universalDistributionGroup`, `universalSecurityGroup`, `universalMailEnabledSecurityGroup`.<ol><li>If the cloud group is a unified (Microsoft 365) group, this property can be one of the following: `universalDistributionGroup`, `universalSecurityGroup`, `universalMailEnabledSecurityGroup`. </li><li>Azure AD security groups can be written back as `universalSecurityGroup`. </li><li>If **isEnabled** or the `NewUnifiedGroupWritebackDefault` [group setting](directorysetting.md) is `true` but this property is not explicitly configured: <ul><li>Microsoft 365 groups will be written back as `universalDistributionGroup` by default</li></ul><ul><li>Security groups will be written back as `universalSecurityGroup` by default</li></ul>|
## Relationships None.
v1.0 Joinmeetingidmeetinginfo https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/joinmeetingidmeetinginfo.md
+
+ Title: "joinMeetingIdMeetingInfo resource type"
+description: "Contains information that allows you to join an existing meeting with a joinMeetingId and a passcode."
+
+ms.localizationpriority: medium
++
+# joinMeetingIdMeetingInfo resource type
+
+Namespace: microsoft.graph
++
+Contains information that allows you to join an existing meeting with a **joinMeetingId** and a **passcode** (if required). You can retrieve these properties from the [Get onlineMeeting](../api/onlinemeeting-get.md) API.
+
+Inherits from [meetingInfo](../resources/meetinginfo.md).
+
+## Properties
+
+| Property | Type | Description |
+| :- | : | : |
+| joinMeetingId | String | The ID used to join the meeting. |
+| passcode | String | The passcode used to join the meeting. Optional. |
+
+## JSON representation
+
+The following is a JSON representation of the resource.
+
+<!-- {
+ "blockType": "resource",
+ "optionalProperties": [
+
+ ],
+ "@odata.type": "microsoft.graph.joinMeetingIdMeetingInfo"
+}-->
+```json
+{
+ "joinMeetingId": "String",
+ "passcode": "String"
+}
+```
v1.0 Joinmeetingidsettings https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/joinmeetingidsettings.md
+
+ Title: "joinMeetingIdSettings resource type"
+description: "Specifies the joinMeetingId, the meeting passcode, and the requirement for the passcode."
+
+ms.localizationpriority: medium
++
+# joinMeetingIdSettings resource type
+
+Namespace: microsoft.graph
++
+Specifies the **joinMeetingId**, the meeting passcode, and the requirement for the passcode for an online meeting.
+
+## Properties
+
+| Property | Type | Description |
+|:--|:-|:-|
+| isPasscodeRequired | Boolean | Indicates whether a passcode is required to join a meeting when using **joinMeetingId**. Optional. |
+| joinMeetingId | String | The meeting ID to be used to join a meeting. Optional. Read-only. |
+| passcode | String | The passcode to join a meeting. Optional. Read-only. |
+## JSON representation
+
+The following is a JSON representation of the resource.
+<!-- {
+ "blockType": "resource",
+ "@odata.type": "microsoft.graph.joinMeetingIdSettings"
+}
+-->
+
+``` json
+{
+ "@odata.type": "#microsoft.graph.joinMeetingIdSettings",
+ "isPasscodeRequired": "Boolean",
+ "joinMeetingId": "String",
+ "passcode": "String"
+}
+```
v1.0 Meetinginfo https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/meetinginfo.md
Namespace: microsoft.graph
This is an abstract class that contains meeting specific information.
-To join an existing meeting, you must either specify the [organizerMeetingInfo](organizermeetinginfo.md)
-in combination with the [chatInfo](./chatinfo.md), or just the
-the [tokenMeetingInfo](tokenmeetinginfo.md).
+To join an existing meeting, you must either specify the [organizerMeetingInfo](organizermeetinginfo.md) in combination with the [chatInfo](./chatinfo.md), the [tokenMeetingInfo](tokenmeetinginfo.md), or the [joinMeetingIdMeetingInfo](joinmeetingidmeetinginfo.md).
## Derived types
-| Type | Description |
-|:--|:--|
-| [organizerMeetingInfo](./organizermeetinginfo.md) | Details about the organizer of the meeting |
-| [tokenMeetingInfo](tokenmeetinginfo.md) | An encrypted token that contains the information about the meeting |
+| Type | Description |
+|:--|:--|
+| [joinMeetingIdMeetingInfo](joinmeetingidmeetingInfo.md) | Contains the **joinMeetingId** and **passcode** of the meeting. |
+| [organizerMeetingInfo](./organizermeetinginfo.md) | Details about the organizer of the meeting. |
+| [tokenMeetingInfo](tokenmeetinginfo.md) | An encrypted token that contains the information about the meeting. |
## JSON representation
v1.0 Onlinemeeting https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/onlinemeeting.md
This resource supports subscribing to [change notifications](/graph/webhooks). S
| isEntryExitAnnounced | Boolean | Indicates whether to announce when callers join or leave. | | joinWebUrl | String | The join URL of the online meeting. Read-only. | | joinInformation | [itemBody](itembody.md) | The join information in the language and locale variant specified in 'Accept-Language' request HTTP header. Read-only. |
+| joinMeetingIdSettings | [joinMeetingIdSettings](joinmeetingidsettings.md) | Specifies the **joinMeetingId**, the meeting passcode, and the requirement for the passcode. |
| lobbyBypassSettings | [lobbyBypassSettings](lobbyBypassSettings.md) | Specifies which participants can bypass the meeting lobby. | | participants | [meetingParticipants](meetingparticipants.md) | The participants associated with the online meeting. This includes the organizer and the attendees. | | recordAutomatically | Boolean | Indicates whether to record the meeting automatically. |
This resource supports subscribing to [change notifications](/graph/webhooks). S
}--> ```json {
+ "allowAttendeeToEnableCamera": "Boolean",
+ "allowAttendeeToEnableMic": "Boolean",
+ "allowedPresenters": "String",
+ "allowMeetingChat": {"@odata.type": "microsoft.graph.meetingChatMode"},
+ "allowTeamworkReactions": "Boolean",
"audioConferencing": {"@odata.type": "microsoft.graph.audioConferencing"},
+ "broadcastSettings": {"@odata.type": "microsoft.graph.broadcastSettings"},
"chatInfo": {"@odata.type": "microsoft.graph.chatInfo"}, "creationDateTime": "String (timestamp)", "endDateTime": "String (timestamp)",
- "id": "String (identifier)",
+ "id": "String (identifier)",
+ "isBroadcast": "Boolean",
+ "isEntryExitAnnounced": "Boolean",
+ "joinMeetingIdSettings": {"@odata.type": "microsoft.graph.joinMeetingIdSettings"},
"joinWebUrl": "String",
+ "lobbyBypassSettings": {"@odata.type": "microsoft.graph.lobbyBypassSettings"},
"participants": {"@odata.type": "microsoft.graph.meetingParticipants"},
- "startDateTime": "String (timestamp)",
+ "startDateTime": "String (timestamp)",
"subject": "String",
- "videoTeleconferenceId": "String",
- "isEntryExitAnnounced": "Boolean",
- "lobbyBypassSettings": {"@odata.type": "microsoft.graph.lobbyBypassSettings"},
- "allowedPresenters": "String",
- "isBroadcast": "Boolean",
- "broadcastSettings": {"@odata.type": "microsoft.graph.broadcastSettings"},
- "allowMeetingChat": {"@odata.type": "microsoft.graph.meetingChatMode"},
- "allowTeamworkReactions": "Boolean",
- "allowAttendeeToEnableMic": "Boolean",
- "allowAttendeeToEnableCamera": "Boolean"
+ "videoTeleconferenceId": "String"
} ```
v1.0 Synchronization Synchronizationjobsubject https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/synchronization-synchronizationjobsubject.md
Represents the objects that will be provisioned during on-demand provisioning.
## Properties |Property|Type|Description| |:|:|:|
-|links|[synchronizationLinkedObjects](../resources/synchronizationlinkedobjects.md)|Principals that you would like to provision.|
+|links|[synchronizationLinkedObjects](../resources/synchronization-synchronizationlinkedobjects.md)|Principals that you would like to provision.|
|objectId|String|The identifier of an object to which a **synchronizationJob** is to be applied. Can be one of the following: <li>An **onPremisesDistinguishedName** for synchronization from Active Directory to Azure AD.</li><li>The user ID for synchronization from Azure AD to a third-party.</li><li>The Worker ID of the Workday worker for synchronization from Workday to either Active Directory or Azure AD.</li>| |objectTypeName|String|The type of the object to which a **synchronizationJob** is to be applied. Can be one of the following: <li>`user` for synchronizing between Active Directory and Azure AD.</li><li>`User` for synchronizing a user between Azure AD and a third-party application. </li><li>`Worker` for synchronization a user between Workday and either Active Directory or Azure AD.</li><li>`Group` for synchronizing a group between Azure AD and a third-party application. </li>|
v1.0 Synchronization Synchronizationlinkedobjects https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/synchronization-synchronizationlinkedobjects.md
+
+ Title: "synchronizationLinkedObjects resource type"
+description: "Represents any references to be provisioned during on-demand provisioning."
+
+ms.localizationpriority: medium
++
+# synchronizationLinkedObjects resource type
+
+Namespace: microsoft.graph
++
+Represents any references to be provisioned during on-demand provisioning.
+
+## Properties
+|Property|Type|Description|
+|:|:|:|
+|members|[synchronizationJobSubject](../resources/synchronization-synchronizationjobsubject.md) collection|All group members that you would like to provision.|
+
+## Relationships
+None.
+
+## JSON representation
+The following is a JSON representation of the resource.
+<!-- {
+ "blockType": "resource",
+ "@odata.type": "microsoft.graph.synchronizationLinkedObjects"
+}
+-->
+``` json
+{
+ "@odata.type": "#microsoft.graph.synchronizationLinkedObjects",
+ "members": [
+ {
+ "@odata.type": "microsoft.graph.synchronizationJobSubject"
+ }
+ ]
+}
+```
v1.0 Taskfileattachment https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/taskfileattachment.md
+
+ Title: "taskFileAttachment resource type"
+description: "Represents a file, such as a text file or Word document, attached to a todoTask."
+
+ms.localizationpriority: medium
++
+# taskFileAttachment resource type
+
+Namespace: microsoft.graph
++
+Represents a file, such as a text file or Word document, attached to a [todoTask](../resources/todotask.md).
+When you create a file attachment on a task, include `"@odata.type": "#microsoft.graph.taskFileAttachment"` and the properties **name** and **contentBytes**.
+
+Inherits from [attachmentBase](../resources/attachmentbase.md).
+
+## Methods
+|Method|Return type|Description|
+|:|:|:|
+|[List attachments](../api/todotask-list-attachments.md)|[taskFileAttachment](../resources/taskfileattachment.md) collection|Get a list of the [taskFileAttachment](../resources/taskfileattachment.md) objects and their properties.|
+|[Create attachment](../api/todotask-post-attachments.md)|[taskFileAttachment](../resources/taskfileattachment.md) collection|Add a new [taskFileAttachment](../resources/taskfileattachment.md) object to a [todoTask](../resources/todotask.md).|
+|[Create upload session](../api/taskfileattachment-createuploadsession.md)|[taskFileAttachment](../resources/taskfileattachment.md) collection|Create an upload session to iteratively upload ranges of a file as an attachment to a [todoTask](../resources/todotask.md).|
+|[Get attachment](../api/taskfileattachment-get.md)|[taskFileAttachment](../resources/taskfileattachment.md)|Read the properties and relationships of a [taskFileAttachment](../resources/taskfileattachment.md) object.|
+|[Delete attachment](../api/taskfileattachment-delete.md)|None|Delete a [taskFileAttachment](../resources/taskfileattachment.md) object.|
+
+## Properties
+|Property|Type|Description|
+|:|:|:|
+|contentBytes|Binary|The base64-encoded contents of the file.|
+|contentType|String|The content type of the attachment. Inherited from [attachmentBase](../resources/attachmentbase.md).|
+|id|String|The ID of the attachment. Inherited from [entity](../resources/entity.md).|
+|lastModifiedDateTime|DateTimeOffset|The date and time when the attachment was last modified. Inherited from [attachmentBase](../resources/attachmentbase.md).|
+|name|String|The name of the text displayed under the icon that represents the embedded attachment. This does not need to be the actual file name. Inherited from [attachmentBase](../resources/attachmentbase.md).|
+|size|Int32|The size in bytes of the attachment. Inherited from [attachmentBase](../resources/attachmentbase.md).|
++
+## Relationships
+None.
+
+## JSON representation
+The following is a JSON representation of the resource.
+<!-- {
+ "blockType": "resource",
+ "keyProperty": "id",
+ "@odata.type": "microsoft.graph.taskFileAttachment",
+ "baseType": "microsoft.graph.attachmentBase",
+ "openType": false
+}
+-->
+``` json
+{
+ "@odata.type": "#microsoft.graph.taskFileAttachment",
+ "contentBytes": "Binary",
+ "contentType": "String",
+ "id": "String (identifier)",
+ "lastModifiedDateTime": "String (timestamp)",
+ "name": "String",
+ "size": "Int32"
+}
+```
+
v1.0 Teamsappsettings https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/teamsappsettings.md
+
+ Title: "teamsAppSettings resource type"
+description: "Represents Teams App Settings"
+
+ms.localizationpriority: medium
++
+# teamsAppSettings resource type
+
+Namespace: microsoft.graph
++
+Represents tenant-wide settings for all [Teams apps](teamsapp.md) in the tenant.
+
+Inherits from [entity](../resources/entity.md).
+
+## Methods
+|Method|Return type|Description|
+|:|:|:|
+|[Get teamsAppSettings](../api/teamsappsettings-get.md)|[teamsAppSettings](../resources/teamsappsettings.md)|Get the tenant-wide settings for all Teams apps in the tenant.|
+|[Update teamsAppSettings](../api/teamsappsettings-update.md)|[teamsAppSettings](../resources/teamsappsettings.md)|Update the tenant-wide settings for all Teams apps in the tenant.|
+
+## Properties
+|Property|Type|Description|
+|:|:|:|
+|isChatResourceSpecificConsentEnabled|Boolean|Indicates whether resource-specific consent for chats/meetings has been enabled for the tenant. If true, Teams apps that are allowed in the tenant and require resource-specific permissions can be installed inside chats and meetings. If false, the installation of any Teams app that requires resource-specific permissions in a chat or a meeting will be blocked.|
+
+## Relationships
+None.
+
+## JSON representation
+The following is a JSON representation of the resource.
+<!-- {
+ "blockType": "resource",
+ "keyProperty": "id",
+ "@odata.type": "microsoft.graph.teamsAppSettings",
+ "baseType": "microsoft.graph.entity",
+ "openType": false
+}
+-->
+``` json
+{
+ "@odata.type": "#microsoft.graph.teamsAppSettings",
+ "id": "String (identifier)",
+ "isChatResourceSpecificConsentEnabled": "Boolean"
+}
+```
+
+## See also
+
+- [Resource-specific consent](/microsoftteams/platform/graph-api/rsc/resource-specific-consent)
v1.0 Teamwork https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/teamwork.md
A container for the range of Microsoft Teams functionalities that are available
|:|:--|:-| |deletedTeams|[deletedTeam](../resources/deletedteam.md) collection| A collection of deleted teams.| |devices|[teamworkDevice](../resources/teamworkdevice.md) collection|The Teams devices provisioned for the tenant.|
+|teamsAppSettings|[teamsAppSettings](../resources/teamsappsettings.md)|Represents tenant-wide settings for all [Teams apps](teamsapp.md) in the tenant.|
|workforceIntegrations|[workforceIntegration](../resources/workforceintegration.md) collection| A workforce integration with shifts.| ## JSON representation
v1.0 Todotask https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/todotask.md
This resource supports the following:
|completedDateTime|[dateTimeTimeZone](../resources/datetimetimezone.md)|The date in the specified time zone that the task was finished.| |createdDateTime|DateTimeOffset|The date and time when the task was created. By default, it is in UTC. You can provide a custom time zone in the request header. The property value uses ISO 8601 format. For example, midnight UTC on Jan 1, 2020 would look like this: '2020-01-01T00:00:00Z'.| |dueDateTime|[dateTimeTimeZone](../resources/datetimetimezone.md)|The date in the specified time zone that the task is to be finished.|
+|hasAttachments|Boolean|Indicates whether the task has attachments.|
|id|String|Unique identifier for the task. By default, this value changes when the item is moved from one list to another.| |importance|importance|The importance of the task. Possible values are: `low`, `normal`, `high`.| |isReminderOn|Boolean|Set to true if an alert is set to remind the user of the task.|
This resource supports the following:
## Relationships |Relationship|Type|Description| |:|:|:|
+|attachments|[taskFileAttachment](../resources/taskfileattachment.md) collection| A collection of file attachments for the task.|
|checklistItems|[checklistItem](../resources/checklistitem.md) collection|A collection of smaller subtasks linked to the more complex parent task. | |extensions|[extension](extension.md) collection| The collection of open extensions defined for the task. Nullable.| |linkedResources|[linkedResource](../resources/linkedresource.md) collection|A collection of resources linked to the task.|
v1.0 User https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/user.md
This resource supports:
| [List children](../api/driveitem-list-children.md) | [DriveItems](driveitem.md) | Return a collection of DriveItems in the children relationship of a DriveItem. | | **Groups** ||| | [List joinedTeams](../api/user-list-joinedteams.md) | [team](team.md) collection | Get the Microsoft Teams teams that the user is a direct member of from the joinedTeams navigation property. |
-| [List memberOf](../api/user-list-memberof.md) | [directoryObject](directoryobject.md) collection | Get the groups, directory roles, and administrative units that the user is a direct member of from the memberOf navigation property. |
-| [List transitive memberOf](../api/user-list-transitivememberof.md) | [directoryObject](directoryobject.md) collection | List the groups, directory roles, and administrative units that the user is a member of. This operation is transitive and includes the groups that the user is a nested member of. |
+| [List memberOf](../api/user-list-memberof.md) | [directoryObject](directoryobject.md) collection | Get the groups, directory roles, and administrative units that the user is a direct member of. This operation is not transitive. |
+| [List transitiveMemberOf](../api/user-list-transitivememberof.md) | [directoryObject](directoryobject.md) collection | Get the groups, directory roles, and administrative units that the user is a member of through either direct or transitive membership. |
| **Insights** ||| | [List shared](../api/insights-list-shared.md) | [sharedInsight](insights-shared.md) collection | Calculated insight that returns the list of files shared with a user. | | [List trending](../api/insights-list-trending.md) | [trending](insights-trending.md) collection | Calculated insight that returns the list of items trending around the user. |
This resource supports:
| refreshTokensValidFromDateTime | DateTimeOffset | Any refresh tokens or sessions tokens (session cookies) issued before this time are invalid, and applications will get an error when using an invalid refresh or sessions token to acquire a delegated access token (to access APIs such as Microsoft Graph). If this happens, the application will need to acquire a new refresh token by making a request to the authorize endpoint. Read-only. Use [invalidateAllRefreshTokens](../api/user-invalidateallrefreshtokens.md) to reset.| | responsibilities | String collection | A list for the user to enumerate their responsibilities. <br><br>Returned only on `$select`. | | schools | String collection | A list for the user to enumerate the schools they have attended. <br><br>Returned only on `$select`. |
+|securityIdentifier| String | Security identifier (SID) of the user, used in Windows scenarios. <br><br>Read-only. Returned by default. <br>Supports `$select` and `$filter` (`eq`, `not`, `ge`, `le`, `startsWith`). |
| showInAddressList | Boolean | **Do not use in Microsoft Graph. Manage this property through the Microsoft 365 admin center instead.** Represents whether the user should be included in the Outlook global address list. See [Known issue](/graph/known-issues#showinaddresslist-property-is-out-of-sync-with-microsoft-exchange).| | signInSessionsValidFromDateTime | DateTimeOffset | Any refresh tokens or sessions tokens (session cookies) issued before this time are invalid, and applications will get an error when using an invalid refresh or sessions token to acquire a delegated access token (to access APIs such as Microsoft Graph). If this happens, the application will need to acquire a new refresh token by making a request to the authorize endpoint. Read-only. Use [revokeSignInSessions](../api/user-revokesigninsessions.md) to reset.| | skills | String collection | A list for the user to enumerate their skills. <br><br>Returned only on `$select`. |
For example: Cameron is administrator of a directory for an elementary school in
|settings|[userSettings](usersettings.md) | Read-only. Nullable.| |teamwork|[userTeamwork](userteamwork.md)| A container for Microsoft Teams features available for the user. Read-only. Nullable.| |todo|[todo](todo.md)|Represents the To Do services available to a user. |
+|transitiveMemberOf| [directoryObject](directoryobject.md) collection | The groups, including nested groups, and directory roles that a user is a member of. Nullable.|
|transitiveReports|[directoryObject](directoryobject.md) collection | The transitive reports for a user. Read-only.| |usageRights|[usageRight](usageright.md) collection|Represents the usage rights a user has been granted. |
Here is a JSON representation of the resource
"refreshTokensValidFromDateTime": "2019-02-07T21:53:13.084Z", "responsibilities": ["String"], "schools": ["String"],
+ "securityIdentifier": "String",
"showInAddressList": true, "signInSessionsValidFromDateTime": "2019-02-07T21:53:13.084Z", "skills": ["String"],
v1.0 Group Post Members https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/v1.0/api/group-post-members.md
Add a member to a security or Microsoft 365 group through the **members** naviga
The following table shows the types of members that can be added to either security groups or Microsoft 365 groups.
-| Object type | Member of security groups | Member of Microsoft 365 group |
+| Object type | Member of security group | Member of Microsoft 365 group |
|-|-|-|
-| Users | ![Can be group member][Yes] | ![Can be group member][Yes] |
-| Security groups | ![Can be group member][Yes] | ![Cannot be group member][No] |
-| Microsoft 365 groups | ![Cannot be group member][No] | ![Cannot be group member][No] |
-| Devices | ![Can be group member][Yes] | ![Cannot be group member][No] |
-| Service principals | ![Can be group member][Yes] | ![Cannot be group member][No] |
-| Organizational contacts | ![Can be group member][Yes] | ![Cannot be group member][No] |
+| User | ![Can be group member][Yes] | ![Can be group member][Yes] |
+| Security group | ![Can be group member][Yes] | ![Cannot be group member][No] |
+| Microsoft 365 group | ![Cannot be group member][No] | ![Cannot be group member][No] |
+| Device | ![Can be group member][Yes] | ![Cannot be group member][No] |
+| Service principal | ![Can be group member][Yes] | ![Cannot be group member][No] |
+| Organizational contact | ![Can be group member][Yes] | ![Cannot be group member][No] |
## Permissions
v1.0 Profilephoto Update https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/v1.0/api/profilephoto-update.md
doc_type: apiPageType
Namespace: microsoft.graph
-Update the photo for the signed-in **user**, or the specified **group** or **contact**. Since there
-is currently a limit of 4MB on the total size of each REST request, this limits the size of the photo
-you can add to under 4MB.
+Update the photo for the signed-in **user**, or the specified **group** or **contact**.
+
+Due to the current limit of 4 MB on the total size of each REST request, the size of the photo you can add is also limited to 4 MB. The following are the supported dimensions for HD photos on Exchange Online: `48x48`, `64x64`, `96x96`, `120x120`, `240x240`, `360x360`, `432x432`, `504x504`, and `648x648`.
You can use either PATCH or PUT for this operation in version 1.0.
-> **Note** This operation in version 1.0 supports only a user's work or school mailboxes and not personal mailboxes.
+> **Note:** This operation supports only a user's work or school mailboxes and not personal mailboxes.
## Permissions One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Permissions](/graph/permissions-reference).
In the request body, include the binary data of the photo in the request body.
If successful, this method returns a `200 OK` response code. ## Example ### Request
-Here is an example of the request.
+The following is an example of a request.
# [HTTP](#tab/http) <!-- {
v1.0 Table Update https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/v1.0/api/table-update.md
In the request body, supply the values for relevant fields that should be update
## Response
-If successful, this method returns a `200 OK` response code and updated [WorkbookTable](../resources/table.md) object in the response body.
+If successful, this method returns a `200 OK` response code and an updated [workbookTable](../resources/table.md) object in the response body.
+ ## Example
-##### Request
-Here is an example of the request.
+### Request
+The following is an example of a request.
# [HTTP](#tab/http) <!-- {
Content-type: application/json
-##### Response
-Here is an example of the response. Note: The response object shown here might be shortened for readability.
+### Response
+The following is an example of the response.
+>**Note:** The response object shown here might be shortened for readability.
<!-- { "blockType": "response", "truncated": true,
v1.0 User List Memberof https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/v1.0/api/user-list-memberof.md
Title: "List memberOf"
-description: "Get groups and directory roles that the user is a direct member of. "
+ Title: "List a user's direct memberships"
+description: "Get groups, directory roles, and administrative units that the user is a direct member of. This operation is not transitive."
ms.localizationpriority: high ms.prod: "users" doc_type: apiPageType
-# List memberOf
+# List a user's direct memberships
Namespace: microsoft.graph
-Get [groups](../resources/group.md), [directory roles](../resources/directoryrole.md), and [administrative units](../resources/administrativeunit.md) that the user is a direct member of.
+Get [groups](../resources/group.md), [directory roles](../resources/directoryrole.md), and [administrative units](../resources/administrativeunit.md) that the user is a direct member of. This operation is not transitive. To retrieve groups, directory roles, and administrative units that the user is a member through transitive membership, use the [List user transitive memberOf](user-list-transitivememberof.md) API.
## Permissions
v1.0 User List Transitivememberof https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/v1.0/api/user-list-transitivememberof.md
Title: "List user transitive memberOf"
-description: "Get groups, directory roles that the user is a member of. This API request is transitive, and will also return all groups the user is a nested member of."
+ Title: "List a user's memberships (direct and transitive)"
+description: "Get groups, directory roles, and administrative units that the user is a member of through either direct or transitive membership."
ms.localizationpriority: medium ms.prod: "users" doc_type: apiPageType
-# List user transitive memberOf
+# List a user's memberships (direct and transitive)
Namespace: microsoft.graph
-Get groups, directory roles that the user is a member of. This API request is transitive, and will also return all groups the user is a nested member of.
+Get [groups](../resources/group.md), [directory roles](../resources/directoryrole.md), and [administrative units](../resources/administrativeunit.md) that the user is a member of through either direct or transitive membership.
## Permissions
v1.0 Group https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/v1.0/resources/group.md
This resource supports:
| createdDateTime | DateTimeOffset | Timestamp of when the group was created. The value cannot 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 Jan 1, 2014 is `2014-01-01T00:00:00Z`. <br><br>Returned by default. Supports `$filter` (`eq`, `ne`, `not`, `ge`, `le`, `in`). Read-only. | | deletedDateTime | DateTimeOffset | For some Azure Active Directory objects (user, group, application), if the object is deleted, it is 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`. | | description | String | An optional description for the group. <br><br>Returned by default. Supports `$filter` (`eq`, `ne`, `not`, `ge`, `le`, `startsWith`) and `$search`. |
-| displayName | String | The display name for the group. This property is required when a group is created and cannot be cleared during updates. <br><br>Returned by default. Supports `$filter` (`eq`, `ne`, `not`, `ge`, `le`, `in`, `startsWith`, and `eq` on `null` values), `$search`, and `$orderBy`. |
+| displayName | String | The display name for the group. This property is required when a group is created and cannot be cleared during updates. Maximum length is 256 characters. <br><br>Returned by default. Supports `$filter` (`eq`, `ne`, `not`, `ge`, `le`, `in`, `startsWith`, and `eq` on `null` values), `$search`, and `$orderBy`. |
| expirationDateTime | DateTimeOffset | Timestamp of when the group is set to expire. The value cannot 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 Jan 1, 2014 is `2014-01-01T00:00:00Z`. <br><br>Returned by default. Supports `$filter` (`eq`, `ne`, `not`, `ge`, `le`, `in`). Read-only. | | groupTypes | String collection | Specifies the group type and its membership. <br><br>If the collection contains `Unified`, the group is a Microsoft 365 group; otherwise, it's either a security group or distribution group. For details, see [groups overview](groups-overview.md).<br><br>If the collection includes `DynamicMembership`, the group has dynamic membership; otherwise, membership is static. <br><br>Returned by default. Supports `$filter` (`eq`, `not`). | | hasMembersWithLicenseErrors | Boolean | Indicates whether there are members in this group that have license errors from its group-based license assignment. <br><br>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](../api/group-list.md). <br><br>Supports `$filter` (`eq`). |
This resource supports:
| securityIdentifier | String | Security identifier of the group, used in Windows scenarios. <br><br>Returned by default. | | theme | string | Specifies a Microsoft 365 group's color theme. Possible values are `Teal`, `Purple`, `Green`, `Blue`, `Pink`, `Orange` or `Red`. <br><br>Returned by default. | | unseenCount | Int32 | Count of conversations that have received new posts since the signed-in user last visited the group. <br><br>Returned only on `$select`. Supported only on the Get group API (`GET /groups/{ID}`). |
-| visibility | String | Specifies 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.<br> If visibility value is not specified during group creation on Microsoft Graph, a security group is created as `Private` by default and Microsoft 365 group is `Public`. Groups assignable to roles are always `Private`. See [group visibility options](#group-visibility-options) to learn more. <br><br>Returned by default. Nullable. |
+| visibility | String | Specifies 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.<br> If visibility value is not specified during group creation on Microsoft Graph, a security group is created as `Private` by default and Microsoft 365 group is `Public`. Groups assignable to roles are always `Private`. See [group visibility options](#group-visibility-options) to learn more. <br><br>Returned by default. Nullable. |
### Group visibility options
This resource supports:
| : | -- | | Public | Anyone can join the group without needing owner permission.<br>Anyone can view the attributes of the group.<br>Anyone can see the members of the group. | | Private | Owner permission is needed to join the group.<br>Non-members cannot view the attributes of the group.<br>Anyone can see the members of the group. |
-| Hiddenmembership | Owner permission is needed to join the group.<br>Non-members cannot view the attributes of the group.<br>Non-members cannot see the members of the group.<br>Administrators (global, company, user, and helpdesk) can view the membership of the group.<br>The group appears in the global address book (GAL). |
+| HiddenMembership | Owner permission is needed to join the group.<br>Non-members cannot view the attributes of the group.<br>Non-members cannot see the members of the group.<br>Administrators (global, company, user, and helpdesk) can view the membership of the group.<br>The group appears in the global address book (GAL). |
## Relationships
-| Relationship | Type | Description |
-| :-- | :-- | : |
-| acceptedSenders | [directoryObject](directoryobject.md) collection | The list of users or groups that are allowed to create post's or calendar events in this group. If this list is non-empty then only users or groups listed here are allowed to post. |
-| appRoleAssignments | [appRoleAssignment](approleassignment.md) collection | Represents the app roles a group has been granted for an application. Supports `$expand`. |
-| calendar | [calendar](calendar.md) | The group's calendar. Read-only. |
-| calendarView | [event](event.md) collection | The calendar view for the calendar. Read-only. |
-| conversations | [conversation](conversation.md) collection | The group's conversations. |
-| createdOnBehalfOf | [directoryObject](directoryobject.md) | The user (or application) that created the group. NOTE: This is not set if the user is an administrator. Read-only. |
-| drive | [drive](drive.md) | The group's default drive. Read-only. |
-| drives | [drive](drive.md) collection | The group's drives. Read-only. |
-| events | [event](event.md) collection | The group's calendar events. |
-| extensions | [extension](extension.md) collection | The collection of open extensions defined for the group. Read-only. Nullable. |
-| groupLifecyclePolicies | [groupLifecyclePolicy](grouplifecyclepolicy.md) collection | The collection of lifecycle policies for this group. Read-only. Nullable. |
-| memberOf | [directoryObject](directoryobject.md) collection | Groups that this group is a member of. HTTP Methods: GET (supported for all groups). Read-only. Nullable. Supports `$expand`. |
-| members | [directoryObject](directoryobject.md) collection | The members of this group, who can be users, devices, other groups, or service principals. Supports the [List members](../api/group-list-members.md), [Add member](../api/group-post-members.md), and [Remove member](../api/group-delete-members.md) operations. Nullable. <br/>Supports `$expand` including nested `$select`. For example, `/groups?$filter=startsWith(displayName,'Role')&$select=id,displayName&$expand=members($select=id,userPrincipalName,displayName)`. |
-| membersWithLicenseErrors | [User](user.md) collection | A list of group members with license errors from this group-based license assignment. Read-only. |
-| onenote | [Onenote](onenote.md) | Read-only. |
-| owners | [directoryObject](directoryobject.md) collection | The owners of the group. Limited to 100 owners. Nullable. If this property is not specified when creating a Microsoft 365 group, the calling user is automatically assigned as the group owner. <br/>Supports `$expand` including nested `$select`. For example, `/groups?$filter=startsWith(displayName,'Role')&$select=id,displayName&$expand=owners($select=id,userPrincipalName,displayName)`. |
-| permissionGrants | [resourceSpecificPermissionGrant](resourcespecificpermissiongrant.md) | The permission that has been granted for a group to a specific application. Supports `$expand`. |
-| photo | [profilePhoto](profilephoto.md) | The group's profile photo |
-| photos | [profilePhoto](profilephoto.md) collection | The profile photos owned by the group. Read-only. Nullable. |
-| planner | [plannerGroup](plannergroup.md) | Entry-point to Planner resource that might exist for a Unified Group. |
-| rejectedSenders | [directoryObject](directoryobject.md) collection | The list of users or groups that are not allowed to create posts or calendar events in this group. Nullable |
-| settings | [groupSetting](groupsetting.md) collection | Settings that can govern this group's behavior, like whether members can invite guest users to the group. Nullable. |
-| sites | [site](site.md) collection | The list of SharePoint sites in this group. Access the default site with /sites/root. |
-| team | [channel](channel.md) collection | The team associated with this group. |
+| Relationship | Type | Description |
+|:-|:-|:-|
+| acceptedSenders | [directoryObject](directoryobject.md) collection | The list of users or groups that are allowed to create post's or calendar events in this group. If this list is non-empty then only users or groups listed here are allowed to post. |
+| appRoleAssignments | [appRoleAssignment](approleassignment.md) collection | Represents the app roles a group has been granted for an application. Supports `$expand`. |
+| calendar | [calendar](calendar.md) | The group's calendar. Read-only. |
+| calendarView | [event](event.md) collection | The calendar view for the calendar. Read-only. |
+| conversations | [conversation](conversation.md) collection | The group's conversations. |
+| createdOnBehalfOf | [directoryObject](directoryobject.md) | The user (or application) that created the group. NOTE: This is not set if the user is an administrator. Read-only. |
+| drive | [drive](drive.md) | The group's default drive. Read-only. |
+| drives | [drive](drive.md) collection | The group's drives. Read-only. |
+| events | [event](event.md) collection | The group's calendar events. |
+| extensions | [extension](extension.md) collection | The collection of open extensions defined for the group. Read-only. Nullable. |
+| groupLifecyclePolicies | [groupLifecyclePolicy](grouplifecyclepolicy.md) collection | The collection of lifecycle policies for this group. Read-only. Nullable. |
+| memberOf | [directoryObject](directoryobject.md) collection | Groups that this group is a member of. HTTP Methods: GET (supported for all groups). Read-only. Nullable. Supports `$expand`. |
+| members | [directoryObject](directoryobject.md) collection | The members of this group, who can be users, devices, other groups, or service principals. Supports the [List members](../api/group-list-members.md), [Add member](../api/group-post-members.md), and [Remove member](../api/group-delete-members.md) operations. Nullable. <br/>Supports `$expand` including nested `$select`. For example, `/groups?$filter=startsWith(displayName,'Role')&$select=id,displayName&$expand=members($select=id,userPrincipalName,displayName)`. |
+| membersWithLicenseErrors | [User](user.md) collection | A list of group members with license errors from this group-based license assignment. Read-only. |
+| onenote | [Onenote](onenote.md) | Read-only. |
+| owners | [directoryObject](directoryobject.md) collection | The owners of the group. Limited to 100 owners. Nullable. If this property is not specified when creating a Microsoft 365 group, the calling user is automatically assigned as the group owner. <br/>Supports `$expand` including nested `$select`. For example, `/groups?$filter=startsWith(displayName,'Role')&$select=id,displayName&$expand=owners($select=id,userPrincipalName,displayName)`. |
+| permissionGrants | [resourceSpecificPermissionGrant](resourcespecificpermissiongrant.md) | The permission that has been granted for a group to a specific application. Supports `$expand`. |
+| photo | [profilePhoto](profilephoto.md) | The group's profile photo |
+| photos | [profilePhoto](profilephoto.md) collection | The profile photos owned by the group. Read-only. Nullable. |
+| planner | [plannerGroup](plannergroup.md) | Entry-point to Planner resource that might exist for a Unified Group. |
+| rejectedSenders | [directoryObject](directoryobject.md) collection | The list of users or groups that are not allowed to create posts or calendar events in this group. Nullable |
+| settings | [groupSetting](groupsetting.md) collection | Settings that can govern this group's behavior, like whether members can invite guest users to the group. Nullable. |
+| sites | [site](site.md) collection | The list of SharePoint sites in this group. Access the default site with /sites/root. |
+| team | [channel](channel.md) collection | The team associated with this group. |
| threads | [conversationThread](conversationthread.md) collection | The group's conversation threads. Nullable. |
+| transitiveMemberOf | [directoryObject](directoryobject.md) collection | The groups that a group is a member of, either directly and through nested membership. Nullable. |
+| transitiveMembers | [directoryObject](directoryobject.md) collection | The direct and transitive members of a group. Nullable. |
## JSON representation
v1.0 User https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/v1.0/resources/user.md
This resource supports:
| [List children](../api/driveitem-list-children.md) | [DriveItems](driveitem.md) | Return a collection of DriveItems in the children relationship of a DriveItem. | | **Groups** | | | | [List joinedTeams](../api/user-list-joinedteams.md) | [team](team.md) collection | Get the Microsoft Teams teams that the user is a direct member of from the joinedTeams navigation property. |
-| [List memberOf](../api/user-list-memberof.md) | [directoryObject](directoryobject.md) collection | Get the groups and directory roles that the user is a direct member of from the memberOf navigation property. |
-| [List transitive memberOf](../api/user-list-transitivememberof.md) | [directoryObject](directoryobject.md) collection | List the groups and directory roles that the user is a member of. This operation is transitive and includes the groups that the user is a nested member of. |
+| [List memberOf](../api/user-list-memberof.md) | [directoryObject](directoryobject.md) collection | Get the groups, directory roles, and administrative units that the user is a direct member of. This operation is not transitive. |
+| [List transitiveMemberOf](../api/user-list-transitivememberof.md) | [directoryObject](directoryobject.md) collection | Get the groups, directory roles, and administrative units that the user is a member of through either direct or transitive membership. |
| **Mail** | | | | [Create inferenceClassificationOverride](../api/inferenceclassification-post-overrides.md) | Create a Focused Inbox override for a sender identified by an SMTP address. | | | [Create mailFolder](../api/user-post-mailfolders.md) | [mailFolder](mailfolder.md) | Create a new MailFolder by posting to the mailFolders collection. |
For example: Cameron is administrator of a directory for an elementary school in
|planner|[plannerUser](planneruser.md)| Entry-point to the Planner resource that might exist for a user. Read-only.| |registeredDevices|[directoryObject](directoryobject.md) collection|Devices that are registered for the user. Read-only. Nullable. Supports `$expand`.| |todo|[todo](todo.md)|Represents the To Do services available to a user. |
+|transitiveMemberOf| [directoryObject](directoryobject.md) collection | The groups, including nested groups, and directory roles that a user is a member of. Nullable.|
## JSON representation