Updates from: 07/20/2022 01:19:06
Service Microsoft Docs article Related commit history on GitHub Change details
v1.0 Adminreportsettings Get https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/adminreportsettings-get.md
+
+ Title: "Get adminReportSettings"
+description: "Get the tenant-level settings for Microsoft 365 reports."
+ms.localizationpriority: medium
+++
+# Get adminReportSettings
+
+Namespace: microsoft.graph
++
+Get the tenant-level settings for Microsoft 365 reports.
+
+> **Note:** For details about different report views and names, see [Microsoft 365 Reports in the admin center - Microsoft 365 Apps usage](/microsoft-365/admin/activity-reports/microsoft365-apps-usage).
+
+## 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) | ReportSettings.Read.All, ReportSettings.ReadWrite.All |
+| Delegated (personal Microsoft account) | Not supported. |
+| Application | ReportSettings.Read.All, ReportSettings.ReadWrite.All |
+
+> **Note:** For delegated permissions to allow apps to get report settings on behalf of a user, the tenant administrator must have assigned the user the appropriate Azure Active Directory limited administrator role. For more details, see [Authorization for APIs to read Microsoft 365 usage reports](/graph/reportroot-authorization).
+
+## HTTP request
+
+<!-- { "blockType": "ignored" } -->
+
+```http
+GET /admin/reportSettings
+```
+
+## 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 an [adminReportSettings](../resources/adminreportsettings.md) object in the response body.
+
+## Examples
+
+### Request
+
+The following is an example of a request.
+<!-- {
+ "blockType": "request",
+ "name": "get_adminreportsettings"
+}
+-->
+``` http
+GET https://graph.microsoft.com/beta/admin/reportSettings
+```
+
+### 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.adminReportSettings"
+}
+-->
+``` http
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{
+ "value": {
+ "@odata.type": "#microsoft.graph.adminReportSettings",
+ "displayConcealedNames": true
+ }
+}
+```
v1.0 Adminreportsettings Update https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/adminreportsettings-update.md
+
+ Title: "Update adminReportSettings"
+description: "Update tenant-level settings for Microsoft 365 reports."
+ms.localizationpriority: medium
+++
+# Update adminReportSettings
+
+Namespace: microsoft.graph
++
+Update tenant-level settings for Microsoft 365 reports.
+
+## 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) | ReportSettings.ReadWrite.All |
+| Delegated (personal Microsoft account) | Not supported. |
+| Application | ReportSettings.ReadWrite.All |
+
+> **Note:** For delegated permissions to allow apps to update report settings on behalf of a user, the tenant administrator must have assigned the user the appropriate Azure Active Directory limited administrator role. For more details, see [Authorization for APIs to read Microsoft 365 usage reports](/graph/reportroot-authorization).
+
+## HTTP request
+<!-- { "blockType": "ignored" } -->
+```http
+PATCH /admin/reportSettings
+```
+
+## Request headers
+
+| Name | Description |
+| : | :--|
+| Authorization | Bearer {token}. Required. |
+| Content-Type | application/json. Required.|
+
+## Request body
++
+| Property | Type | Description |
+| -- | -- | - |
+| displayConcealedNames | Boolean | If set to `true`, all reports will conceal user information such as usernames, groups, and sites. If `false`, all reports will show identifiable information. This property represents a setting in the Microsoft 365 admin center. Required. |
+
+## Response
+
+If successful, this method returns a `204 No Content` response code.
+
+## Examples
+
+The following is an example of a request that updates a tenant-level setting for Microsoft 365 reports.
+
+### Request
+The following is an example of a request.
+<!-- {
+ "blockType": "request",
+ "name": "update_adminreportsettings"
+}
+-->
+``` http
+PATCH https://graph.microsoft.com/beta/admin/reportSettings
+Content-Type: application/json
+Content-length: 37
+
+{
+ "displayConcealedNames": true
+}
+```
+
+### Response
+
+The following is an example of the response.
+
+<!-- {
+ "blockType": "response"
+} -->
+```http
+HTTP/1.1 204 No Content
+```
v1.0 Employeeexperience Delete Learningproviders https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/employeeexperience-delete-learningproviders.md
+
+ Title: "Delete learningProvider"
+description: "Delete a learningProvider object."
+
+ms.localizationpriority: medium
++
+# Delete learningProvider
+Namespace: microsoft.graph
++
+Delete a [learningProvider](../resources/learningprovider.md) resource and remove its registration in Viva Learning for the tenant.
+
+## 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)|LearningProvider.ReadWrite|
+|Delegated (personal Microsoft account)|Not supported.|
+|Application|Not supported.|
+
+## HTTP request
+
+<!-- {
+ "blockType": "ignored"
+}
+-->
+``` http
+DELETE /employeeExperience/learningProviders/{learningProviderId}/$ref
+```
+
+## 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_learningprovider"
+}
+-->
+``` http
+DELETE /employeeExperience/learningProviders/13727311-e7bb-470d-8b20-6a23d9030d70/$ref
+```
++
+### Response
+The following is an example of the response.
+<!-- {
+ "blockType": "response",
+ "truncated": true
+}
+-->
+``` http
+HTTP/1.1 204 No Content
+```
+
v1.0 Employeeexperience List Learningproviders https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/employeeexperience-list-learningproviders.md
+
+ Title: "List learningProviders"
+description: "Get a list of the learningProvider objects and their properties."
+
+ms.localizationpriority: medium
++
+# List learningProviders
+Namespace: microsoft.graph
++
+Get a list of the [learningProvider](../resources/learningprovider.md) resources registered in Viva Learning for a tenant.
+
+## 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)|LearningProvider.Read|
+|Delegated (personal Microsoft account)|Not supported.|
+|Application|Not supported.|
+
+## HTTP request
+
+<!-- {
+ "blockType": "ignored"
+}
+-->
+``` http
+GET /employeeExperience/learningProviders
+```
+
+## 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 [learningProvider](../resources/learningprovider.md) objects in the response body.
+
+## Examples
+
+### Request
+The following is an example of a request.
+<!-- {
+ "blockType": "request",
+ "name": "list_learningprovider"
+}
+-->
+``` http
+GET /employeeExperience/learningProviders
+```
++
+### 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.learningProvider",
+ "isCollection": true
+}
+-->
+``` http
+HTTP/1.1 200 OK
+Content-type: application/json
+
+{
+ "@odata.context": "https://graph.microsoft.com/beta/$metadata#learningProviders",
+ "value": [
+ {
+ "id": "ba9790ef-21d5-4c17-808c-acda55230253",
+ "displayName": "Microsoft",
+ "squareLogoWebUrlForDarkTheme": "https://support.content.office.net/en-us/media/4c531d12-4c13-4782-a6e4-4b8f991801a3.png",
+ "longLogoWebUrlForDarkTheme": "https://support.content.office.net/en-us/media/4c531d12-4c13-4782-a6e4-4b8f991801a3.png",
+ "squareLogoWebUrlForLightTheme": "https://support.content.office.net/en-us/media/4c531d12-4c13-4782-a6e4-4b8f991801a3.png",
+ "longLogoWebUrlForLightTheme": "https://support.content.office.net/en-us/media/4c531d12-4c13-4782-a6e4-4b8f991801a3.png",
+ "isEnabled": true,
+ "loginWebUrl": "https://www.linkedin.com/learning-login/teams"
+ },
+ {
+ "id": "13727311-e7bb-470d-8b20-6a23d9030d70",
+ "displayName": "LinkedInHub",
+ "squareLogoWebUrlForDarkTheme": "https://support.content.office.net/en-us/media/4c531d12-4c13-4782-a6e4-4b8f991801a3.png",
+ "longLogoWebUrlForDarkTheme": "https://support.content.office.net/en-us/media/4c531d12-4c13-4782-a6e4-4b8f991801a3.png",
+ "squareLogoWebUrlForLightTheme": "https://support.content.office.net/en-us/media/4c531d12-4c13-4782-a6e4-4b8f991801a3.png",
+ "longLogoWebUrlForLightTheme": "https://support.content.office.net/en-us/media/4c531d12-4c13-4782-a6e4-4b8f991801a3.png",
+ "isEnabled": true,
+ "loginWebUrl": "https://www.linkedin.com/learning-login/teams"
+ }
+ ]
+}
+```
+
v1.0 Employeeexperience Post Learningproviders https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/employeeexperience-post-learningproviders.md
+
+ Title: "Create learningProvider"
+description: "Create a new learningProvider object."
+
+ms.localizationpriority: medium
++
+# Create learningProvider
+Namespace: microsoft.graph
++
+Create a new [learningProvider](../resources/learningprovider.md) object and register it with Viva Learning using the specified display name and logos for different themes.
+
+## 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)|LearningProvider.ReadWrite|
+|Delegated (personal Microsoft account)|Not supported.|
+|Application|Not supported.|
+
+## HTTP request
+
+<!-- {
+ "blockType": "ignored"
+}
+-->
+``` http
+POST /employeeExperience/learningProviders
+```
+
+## 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 [learningProvider](../resources/learningprovider.md) object.
+
+You can specify the following properties when you create a **learningProvider**.
+
+|Property|Type|Description|
+|:|:|:|
+|displayName|String|The display name that appears in Viva Learning. Required.|
+|isEnabled|Boolean|The state of the provider. Optional.|
+|loginWebUrl|String|Authentication URL to access the courses for the provider. Optional.|
+|longLogoWebUrlForDarkTheme|String|The long logo URL for the dark mode, which needs to be a publicly accessible image. This image would be saved to the Blob storage of Viva Learning for rendering within the Viva Learning app. Required.|
+|longLogoWebUrlForLightTheme|String|The long logo URL for the light mode, which needs to be a publicly accessible image. This image would be saved to the Blob storage of Viva Learning for rendering within the Viva Learning app. Required.|
+|squareLogoWebUrlForDarkTheme|String|The square logo URL for the dark mode, which needs to be a publicly accessible image. This image would be saved to the Blob storage of Viva Learning for rendering within the Viva Learning app. Required.|
+|squareLogoWebUrlForLightTheme|String|The square logo URL for the light mode, which needs to be a publicly accessible image. This image would be saved to the Blob storage of Viva Learning for rendering within the Viva Learning app. Required.|
++
+## Response
+
+If successful, this method returns a `201 Created` response code and a [learningProvider](../resources/learningprovider.md) object in the response body.
+
+## Examples
+
+### Request
+The following is an example of a request.
+<!-- {
+ "blockType": "request",
+ "name": "create_learningprovider_from_"
+}
+-->
+``` http
+POST /employeeExperience/learningProviders
+Content-Type: application/json
+
+{
+ "displayName": "Microsoft",
+ "squareLogoWebUrlForDarkTheme": "https://support.content.office.net/en-us/media/4c531d12-4c13-4782-a6e4-4b8f991801a3.png",
+ "longLogoWebUrlForDarkTheme": "https://support.content.office.net/en-us/media/4c531d12-4c13-4782-a6e4-4b8f991801a3.png",
+ "squareLogoWebUrlForLightTheme": "https://support.content.office.net/en-us/media/4c531d12-4c13-4782-a6e4-4b8f991801a3.png",
+ "longLogoWebUrlForLightTheme": "https://support.content.office.net/en-us/media/4c531d12-4c13-4782-a6e4-4b8f991801a3.png",
+ "isEnabled": true,
+ "loginWebUrl": "https://www.linkedin.com/learning-login/teams"
+}
+```
+
+### 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.learningProvider"
+}
+-->
+``` http
+HTTP/1.1 201 Created
+Content-type: application/json
+
+{
+ "@odata.context": "https://graph.microsoft.com/beta/$metadata#learningProviders/$entity",
+ "id": "ba9790ef-21d5-4c17-808c-acda55230253",
+ "displayName": "Microsoft",
+ "squareLogoWebUrlForDarkTheme": "https://support.content.office.net/en-us/media/4c531d12-4c13-4782-a6e4-4b8f991801a3.png",
+ "longLogoWebUrlForDarkTheme": "https://support.content.office.net/en-us/media/4c531d12-4c13-4782-a6e4-4b8f991801a3.png",
+ "squareLogoWebUrlForLightTheme": "https://support.content.office.net/en-us/media/4c531d12-4c13-4782-a6e4-4b8f991801a3.png",
+ "longLogoWebUrlForLightTheme": "https://support.content.office.net/en-us/media/4c531d12-4c13-4782-a6e4-4b8f991801a3.png",
+ "isEnabled": true,
+ "loginWebUrl": "https://www.linkedin.com/learning-login/teams"
+}
+```
+
v1.0 Learningcontent Get https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/learningcontent-get.md
+
+ Title: "Get learningContent"
+description: "Read the properties and relationships of a learningContent object."
+
+ms.localizationpriority: medium
++
+# Get learningContent
+Namespace: microsoft.graph
++
+Get the specified [learningContent](../resources/learningcontent.md) resource which represents the metadata of the specified provider's ingested content.
+
+## 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)|LearningContent.Read.All|
+|Delegated (personal Microsoft account)|Not supported.|
+|Application|LearningContent.Read.All|
+
+## HTTP request
+
+<!-- {
+ "blockType": "ignored"
+}
+-->
+``` http
+GET /employeeExperience/learningProviders/{learningProviderId}/learningContents/{externalId}
+```
+
+## 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 [learningContent](../resources/learningcontent.md) object in the response body.
+
+## Examples
+
+### Request
+The following is an example of a request.
+<!-- {
+ "blockType": "request",
+ "name": "get_learningcontent"
+}
+-->
+``` http
+GET /employeeExperience/learningProviders/13727311-e7bb-470d-8b20-6a23d9030d70/learningContents(externalId='LP4471')
+```
+
+### 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.learningContent"
+}
+-->
+``` http
+HTTP/1.1 200 OK
+Content-type: application/json
+
+{
+ "@odata.context": "https://graph.microsoft.com/beta/$metadata#learningProviders('13727311-e7bb-470d-8b20-6a23d9030d70')/learningContents/$entity",
+ "externalId": "LP4471",
+ "title": "Manage classes, resources, assessment, and planning in Microsoft Teams with Beedle",
+ "description": "A module to guide users through the various teaching and learning enhancements that Beedle provides within Microsoft Teams, with many examples of everyday application.",
+ "contentWebUrl": "https://docs.microsoft.com/en-us/learn/modules/manage-classes-resources-assessment-planning-beedle/",
+ "sourceName": "MSLibrary",
+ "thumbnailWebUrl": "https://syndetics.com/index.aspx?isbn=9783319672175/LC.GIF",
+ "languageTag": "en-us",
+ "numberOfPages": 10,
+ "duration": "PT20M",
+ "format": "Book",
+ "createdDateTime": "2018-01-01T00:00:00",
+ "lastModifiedDateTime": "2021-04-01T04:26:06.1995367Z",
+ "contributor": "Scott Simpson",
+ "additionalTags": [
+ "Create private or public teams",
+ "Add members to teams"
+ ],
+ "skillTags": [
+ "Create teams",
+ "Teams channels",
+ "Teams members"
+ ],
+ "isActive": true,
+ "isPremium": false,
+ "isSearchable": true
+}
+```
+
v1.0 Learningcontent Update https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/learningcontent-update.md
+
+ Title: "Update learningContent"
+description: "Update the properties of a learningContent object."
+
+ms.localizationpriority: medium
++
+# Update learningContent
+Namespace: microsoft.graph
++
+Update the specified [learningContent](../resources/learningcontent.md) resource.
+
+Used by a [learning provider](../resources/learningprovider.md) to ingest or update the metadata for their content in Viva Learning. If the specified learning content doesn't yet exist for the specified provider, this operation creates the metadata for the new content. Otherwise, this operation replaces the metadata of the existing content.
+
+## 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)|LearningContent.ReadWrite.All|
+|Delegated (personal Microsoft account)|Not supported.|
+|Application|LearningContent.ReadWrite.All|
+
+## HTTP request
+
+<!-- {
+ "blockType": "ignored"
+}
+-->
+``` http
+PATCH /employeeExperience/learningProviders/{registrationId}/learningContents(externalId='{externalId}')
+```
+
+## Request headers
+|Name|Description|
+|:|:|
+|Authorization|Bearer {token}. Required.|
+|Content-Type|application/json. Required.|
+
+## Request body
++
+|Property|Type|Description|
+|:|:|:|
+|additionalTags|String collection|Keywords, topics, and other tags associated with the learning content. Optional.|
+|contentWebUrl|String|The content web URL for the learning content. Required.|
+|contributor|String|The author, creator, or contributor of the learning content. Optional.|
+|createdDateTime|DateTimeOffset|The date when the learning content was 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`. Optional.|
+|description|String|The description or summary for the learning content. Optional.|
+|duration|Duration|The duration of the learning content in seconds. Optional.|
+|externalId|String|Unique external content ID for the learning content. Required.|
+|format|String|The format of the learning content. For example, `Course`, `Video`, `Book`, `Book Summary`, `Audiobook Summary`. Optional.|
+|isActive|Boolean|Indicates whether the content is active or not. Inactive content will not show up in the UI. The default value is `true`. Optional.|
+|isPremium|Boolean|Indicates whether the learning content requires the user to sign-in on the learning provider platform or not. The default value is `false`. Optional.|
+|isSearchable|Boolean|Indicates whether the learning content is searchable or not. The default value is `true`. Optional.|
+|languageTag|String|The language of the learning content, for example, `en-us` or `fr-fr`. Required.|
+|lastModifiedDateTime|DateTimeOffset|The date when the learning content was last modified. 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`. Optional.|
+|numberOfPages|Int32|The number of pages of the learning content, for example, 9. Optional.|
+|skillTags|String collection|The skills tags associated with the learning content. Optional.|
+|sourceName|String|The source name of the learning content, such as `LinkedIn Learning` or `Coursera`. Optional.|
+|thumbnailWebUrl|String|The URL of learning content thumbnail image. Optional.|
+|title|String|The title of the learning content. Required.|
+++
+## Response
+
+If successful, this method returns a `202 Accepted` response code and an updated [learningContent](../resources/learningcontent.md) object in the response body.
+
+## Examples
+
+### Request
+The following is an example of a request.
+<!-- {
+ "blockType": "request",
+ "name": "update_learningcontent"
+}
+-->
+``` http
+PATCH /employeeExperience/learningProviders/13727311-e7bb-470d-8b20-6a23d9030d70/learningContents(externalId='LP4471')
+Content-Type: application/json
+
+{
+ "title": "Manage classes, resources, assessment, and planning in Microsoft Teams with Beedle",
+ "description": "A module to guide users through the various teaching and learning enhancements that Beedle provides within Microsoft Teams, with many examples of everyday application.",
+ "contentWebUrl": "https://docs.microsoft.com/en-us/learn/modules/manage-classes-resources-assessment-planning-beedle/",
+ "sourceName": "MsLearn",
+ "thumbnailWebUrl": "https://syndetics.com/index.aspx?isbn=9783319672175/LC.GIF",
+ "languageTag": "en-us",
+ "numberOfPages": 9,
+ "duration": "PT20M",
+ "format": "Book",
+ "createdDateTime": "2018-01-01T00:00:00",
+ "lastModifiedDateTime": "2021-04-01T04:26:06.1995367Z",
+ "contributor": "Scott Simpson",
+ "additionalTags": [
+ "Create private or public teams",
+ "Add members to teams"
+ ],
+ "skillTags": [
+ "Create teams",
+ "Teams channels",
+ "Teams members"
+ ],
+ "isActive": true,
+ "isPremium": false,
+ "isSearchable": true
+}
+```
++
+### 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.learningContent"
+}
+-->
+``` http
+HTTP/1.1 202 Accepted
+Content-Type: application/json
+
+{
+ "@odata.context": "https://graph.microsoft.com/beta/$metadata#learningProviders('13727311-e7bb-470d-8b20-6a23d9030d70')/learningContents/$entity",
+ "externalId": "LP4471",
+ "title": "Manage classes, resources, assessment, and planning in Microsoft Teams with Beedle",
+ "description": "A module to guide users through the various teaching and learning enhancements that Beedle provides within Microsoft Teams, with many examples of everyday application.",
+ "contentWebUrl": "https://docs.microsoft.com/en-us/learn/modules/manage-classes-resources-assessment-planning-beedle/",
+ "sourceName": "MsLearn",
+ "thumbnailWebUrl": "https://syndetics.com/index.aspx?isbn=9783319672175/LC.GIF",
+ "languageTag": "en-us",
+ "numberOfPages": 9,
+ "duration": "PT20M",
+ "format": "Book",
+ "createdDateTime": "2018-01-01T00:00:00",
+ "lastModifiedDateTime": "2021-04-01T04:26:06.1995367Z",
+ "contributor": "Scott Simpson",
+ "additionalTags": [
+ "Create private or public teams",
+ "Add members to teams"
+ ],
+ "skillTags": [
+ "Create teams",
+ "Teams channels",
+ "Teams members"
+ ],
+ "isActive": true,
+ "isPremium": false,
+ "isSearchable": true
+}
+```
+
v1.0 Learningprovider Delete Learningcontents https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/learningprovider-delete-learningcontents.md
+
+ Title: "Delete learningContent"
+description: "Delete a learningContent object."
+
+ms.localizationpriority: medium
++
+# Delete learningContent
+Namespace: microsoft.graph
++
+Delete the specified [learningContent](../resources/learningcontent.md) resource which represents the metadata of the specified provider's ingested content.
+
+## 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)|LearningContent.ReadWrite.All|
+|Delegated (personal Microsoft account)|Not supported.|
+|Application|LearningContent.ReadWrite.All|
+
+## HTTP request
+
+<!-- {
+ "blockType": "ignored"
+}
+-->
+``` http
+DELETE /employeeExperience/learningProviders/{learningProviderId}/learningContents/{externalId='{externalId}'}/$ref
+```
+
+## 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_learningcontent"
+}
+-->
+``` http
+DELETE /employeeExperience/learningProviders/13727311-e7bb-470d-8b20-6a23d9030d70/learningContents(externalId='27rg2ifb28gf28')/$ref
+```
++
+### Response
+The following is an example of the response.
+<!-- {
+ "blockType": "response",
+ "truncated": true
+}
+-->
+``` http
+HTTP/1.1 204 No Content
+```
+
v1.0 Learningprovider Get https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/learningprovider-get.md
+
+ Title: "Get learningProvider"
+description: "Read the properties and relationships of a learningProvider object."
+
+ms.localizationpriority: medium
++
+# Get learningProvider
+Namespace: microsoft.graph
++
+Read the properties and relationships of a [learningProvider](../resources/learningprovider.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)|LearningProvider.Read|
+|Delegated (personal Microsoft account)|Not supported.|
+|Application|Not supported.|
+
+## HTTP request
+
+<!-- {
+ "blockType": "ignored"
+}
+-->
+``` http
+GET /employeeExperience/learningProviders/{id}
+```
+
+## 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 [learningProvider](../resources/learningprovider.md) object in the response body.
+
+## Examples
+
+### Request
+The following is an example of a request.
+<!-- {
+ "blockType": "request",
+ "name": "get_learningprovider"
+}
+-->
+``` http
+GET /employeeExperience/learningProviders/13727311-e7bb-470d-8b20-6a23d9030d70
+```
++
+### 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.learningProvider"
+}
+-->
+``` http
+HTTP/1.1 200 OK
+Content-type: application/json
+
+{
+ "@odata.context": "https://graph.microsoft.com/beta/$metadata#learningProviders/$entity",
+ "id": "13727311-e7bb-470d-8b20-6a23d9030d70",
+ "displayName": "LinkedInHub",
+ "squareLogoWebUrlForDarkTheme": "https://support.content.office.net/en-us/media/4c531d12-4c13-4782-a6e4-4b8f991801a3.png",
+ "longLogoWebUrlForDarkTheme": "https://support.content.office.net/en-us/media/4c531d12-4c13-4782-a6e4-4b8f991801a3.png",
+ "squareLogoWebUrlForLightTheme": "https://support.content.office.net/en-us/media/4c531d12-4c13-4782-a6e4-4b8f991801a3.png",
+ "longLogoWebUrlForLightTheme": "https://support.content.office.net/en-us/media/4c531d12-4c13-4782-a6e4-4b8f991801a3.png",
+ "isEnabled": true,
+ "loginWebUrl": "https://www.linkedin.com/learning-login/teams"
+}
+```
+
v1.0 Learningprovider List Learningcontents https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/learningprovider-list-learningcontents.md
+
+ Title: "List learningContents"
+description: "Get a list of the learningContent objects and their properties."
+
+ms.localizationpriority: medium
++
+# List learningContents
+Namespace: microsoft.graph
++
+Get a list of the [learningContent](../resources/learningcontent.md) resources and their properties.
+
+This list represents the metadata of the specified provider's content in Viva Learning.
+
+## 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)|LearningContent.Read.All|
+|Delegated (personal Microsoft account)|Not supported.|
+|Application|LearningContent.Read.All|
+
+## HTTP request
+
+<!-- {
+ "blockType": "ignored"
+}
+-->
+``` http
+GET /employeeExperience/learningProviders/{learningProviderId}/learningContents
+```
+
+## 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 [learningContent](../resources/learningcontent.md) objects in the response body.
+
+## Examples
+
+### Request
+The following is an example of a request.
+<!-- {
+ "blockType": "request",
+ "name": "list_learningcontent"
+}
+-->
+``` http
+GET /employeeExperience/learningProviders/13727311-e7bb-470d-8b20-6a23d9030d70/learningContents
+```
++
+### 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.learningContent",
+ "isCollection": true
+}
+-->
+``` http
+HTTP/1.1 200 OK
+Content-type: application/json
+
+{
+ "@odata.context": "https://graph.microsoft.com/beta/$metadata#learningProviders('13727311-e7bb-470d-8b20-6a23d9030d70')/learningContents",
+ "value": [
+ {
+ "externalId": "LP4771",
+ "title": "Manage classes, resources, assessment, and planning in Microsoft Teams with Beedle",
+ "description": "A module to guide users through the various teaching and learning enhancements that Beedle provides within Microsoft Teams, with many examples of everyday application.",
+ "contentWebUrl": "https://docs.microsoft.com/en-us/learn/modules/manage-classes-resources-assessment-planning-beedle/",
+ "sourceName": "MSLibrary",
+ "thumbnailWebUrl": "https://syndetics.com/index.aspx?isbn=9783319672175/LC.GIF",
+ "languageTag": "en-us",
+ "numberOfPages": 10,
+ "duration": "PDT1H",
+ "format": "Book",
+ "createdDateTime": "2018-01-01T00:00:00",
+ "lastModifiedDateTime": "2021-04-01T04:26:06.1995367Z",
+ "contributor": "Scott Simpson",
+ "additionalTags": [
+ "Create private or public teams",
+ "Add members to teams"
+ ],
+ "skillTags": [
+ "Create teams",
+ "Teams channels",
+ "Teams members"
+ ],
+ "isActive": true,
+ "isPremium": false,
+ "isSearchable": false
+ },
+ {
+ "externalId": "LP4772",
+ "title": "Manage classes, resources, assessment, and planning in Microsoft Teams with Beedle",
+ "description": "A module to guide users through the various teaching and learning enhancements that Beedle provides within Microsoft Teams, with many examples of everyday application.",
+ "contentWebUrl": "https://docs.microsoft.com/en-us/learn/modules/manage-classes-resources-assessment-planning-beedle/",
+ "sourceName": "MSLibrary",
+ "thumbnailWebUrl": "https://syndetics.com/index.aspx?isbn=9783319672175/LC.GIF",
+ "languageTag": "en-us",
+ "numberOfPages": 10,
+ "duration": "PDT1H",
+ "format": "Book",
+ "createdDateTime": "2018-01-01T00:00:00",
+ "lastModifiedDateTime": "2021-04-01T04:26:06.1995367Z",
+ "contributor": "Scott Simpson",
+ "additionalTags": [
+ "Create private or public teams",
+ "Add members to teams"
+ ],
+ "skillTags": [
+ "Create teams",
+ "Teams channels",
+ "Teams members"
+ ],
+ "isActive": true,
+ "isPremium": false,
+ "isSearchable": false
+ }
+ ]
+}
+```
v1.0 Learningprovider Update https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/learningprovider-update.md
+
+ Title: "Update learningProvider"
+description: "Update the properties of a learningProvider object."
+
+ms.localizationpriority: medium
++
+# Update learningProvider
+Namespace: microsoft.graph
++
+Update the properties of a [learningProvider](../resources/learningprovider.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)|LearningProvider.ReadWrite|
+|Delegated (personal Microsoft account)|Not supported.|
+|Application|Not supported.|
+
+## HTTP request
+
+<!-- {
+ "blockType": "ignored"
+}
+-->
+``` http
+PATCH /employeeExperience/learningProviders/{learningProviderId}
+```
+
+## Request headers
+|Name|Description|
+|:|:|
+|Authorization|Bearer {token}. Required.|
+|Content-Type|application/json. Required.|
+
+## Request body
++
+|Property|Type|Description|
+|:|:|:|
+|displayName|String|The display name that appears in Viva Learning. Required.|
+|isEnabled|Boolean|The state of the provider. Optional.|
+|loginWebUrl|String|Authentication URL to access the courses for the provider. Optional.|
+|longLogoWebUrlForDarkTheme|String|The long logo URL for the dark mode, which needs to be a publicly accessible image. This image would be saved to the Blob storage of Viva Learning for rendering within the Viva Learning app. Required.|
+|longLogoWebUrlForLightTheme|String|The long logo URL for the light mode, which needs to be a publicly accessible image. This image would be saved to the Blob storage of Viva Learning for rendering within the Viva Learning app. Required.|
+|squareLogoWebUrlForDarkTheme|String|The square logo URL for the dark mode, which needs to be a publicly accessible image. This image would be saved to the Blob storage of Viva Learning for rendering within the Viva Learning app. Required.|
+|squareLogoWebUrlForLightTheme|String|The square logo URL for the light mode, which needs to be a publicly accessible image. This image would be saved to the Blob storage of Viva Learning for rendering within the Viva Learning app. Required.|
++
+## Response
+
+If successful, this method returns a `204 No Content` response code in the response body.
+
+## Examples
+
+### Request
+The following is an example of a request.
+<!-- {
+ "blockType": "request",
+ "name": "update_learningprovider"
+}
+-->
+``` http
+PATCH /employeeExperience/learningProviders/13727311-e7bb-470d-8b20-6a23d9030d70
+Content-Type: application/json
+
+{
+ "displayName": "Microsoft",
+ "squareLogoWebUrlForDarkTheme": "https://support.content.office.net/en-us/media/4c531d12-4c13-4782-a6e4-4b8f991801a3.png",
+ "longLogoWebUrlForDarkTheme": "https://support.content.office.net/en-us/media/4c531d12-4c13-4782-a6e4-4b8f991801a3.png",
+ "squareLogoWebUrlForLightTheme": "https://support.content.office.net/en-us/media/4c531d12-4c13-4782-a6e4-4b8f991801a3.png",
+ "longLogoWebUrlForLightTheme": "https://support.content.office.net/en-us/media/4c531d12-4c13-4782-a6e4-4b8f991801a3.png",
+ "isEnabled": false,
+ "loginWebUrl": "https://www.linkedin.com/learning-login/teams"
+}
+```
++
+### Response
+The following is an example of the response.
+<!-- {
+ "blockType": "response",
+ "truncated": true
+}
+-->
+``` http
+HTTP/1.1 204 No Content
+```
+
v1.0 Opentypeextension Delete https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/opentypeextension-delete.md
Title: "Delete open extension"
+ Title: "Delete openTypeExtension"
description: "Delete an open extension (openTypeExtension object) from the specified instance of a resource. " ms.localizationpriority: medium
doc_type: apiPageType
ms.prod: "extensions"
-# Delete open extension
+# Delete openTypeExtension
Namespace: microsoft.graph
navigation property of that instance to identify the extension, and do a `DELETE
<!-- { "blockType": "ignored" } --> ```http
-DELETE /administrativeUnits/{Id}/extensions/{extensionId}
-DELETE /devices/{Id}/extensions/{extensionId}
-DELETE /users/{id|userPrincipalName}/events/{id}/extensions/{extensionId}
-DELETE /groups/{id}/extensions/{extensionId}
-DELETE /groups/{id}/events/{id}/extensions/{extensionId}
-DELETE /groups/{id}/threads/{id}/posts/{id}/extensions/{extensionId}
-DELETE /users/{id|userPrincipalName}/messages/{id}/extensions/{extensionId}
-DELETE /organization/{Id}/extensions/{extensionId}
-DELETE /users/{id|userPrincipalName}/contacts/{id}/extensions/{extensionId}
-DELETE /users/{id|userPrincipalName}/extensions/{extensionId}
-DELETE /users/me/todo/lists/{Id}/extensions/{extensionId}
-DELETE /users/me/todo/lists/{Id}/tasks/{Id}/extensions/{extensionId}
-DELETE /users/me/tasks/lists/{Id}/extensions/{extensionId}
-DELETE /users/me/tasks/lists/{Id}/tasks/{Id}/extensions/{extensionId}
+DELETE /administrativeUnits/{administrativeUnitId}/extensions/{extensionId}
+DELETE /devices/{deviceId}/extensions/{extensionId}
+DELETE /users/{userId|userPrincipalName}/events/{eventId}/extensions/{extensionId}
+DELETE /groups/{groupId}/extensions/{extensionId}
+DELETE /groups/{groupId}/events/{eventId}/extensions/{extensionId}
+DELETE /groups/{groupId}/threads/{threadIid}/posts/{postId}/extensions/{extensionId}
+DELETE /users/{userIid|userPrincipalName}/messages/{messageId}/extensions/{extensionId}
+DELETE /organization/{organizationId}/extensions/{extensionId}
+DELETE /users/{userId|userPrincipalName}/contacts/{contactId}/extensions/{extensionId}
+DELETE /users/{userId|userPrincipalName}/extensions/{extensionId}
+DELETE /users/me/todo/lists/{listId}/extensions/{extensionId}
+DELETE /users/me/todo/lists/{listId}/tasks/{taskId}/extensions/{extensionId}
+DELETE /users/me/tasks/lists/{listId}/extensions/{extensionId}
+DELETE /users/me/tasks/lists/{listId}/tasks/{taskId}/extensions/{extensionId}
``` >**Note:** The above syntax shows some common ways to identify a resource instance, in order to delete an extension from it. All other syntax that allows you to identify these resource instances supports deleting open extensions from them in a similar way.
-## Path parameters
-|**Parameter**|**Type**|**Description**|
-|:--|:--|:--|
-|id|string|A unique identifier for an instance in the corresponding collection. Required.|
-|extensionId|string|This can be an extension name which is a unique text identifier for the extension, or a fully qualified name which concatenates the extension type and unique text identifier. The fully qualified name is returned in the `id` property when you create the extension. Required.|
- ## Request headers | Name | Value | |:|:-|
v1.0 Opentypeextension Get https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/opentypeextension-get.md
Title: "Get open extension"
+ Title: "Get openTypeExtension"
description: "Get an open extension (openTypeExtension object) identified by name or fully qualified name." ms.localizationpriority: medium
doc_type: apiPageType
ms.prod: "extensions"
-# Get open extension
+# Get openTypeExtension
Namespace: microsoft.graph
The following table lists the three scenarios where you can get an open extensio
|**GET scenario**|**Supported resources**|**Response body**| |:--|:--|:--|
-|Get a specific extension from a known resource instance.| [Administrative unit](../resources/administrativeunit.md), [baseTask](../resources/basetask.md) (deprecated), [baseTaskList](../resources/basetasklist.md) (deprecated), [device](../resources/device.md), [event](../resources/event.md), [group](../resources/group.md), [group event](../resources/event.md), [group post](../resources/post.md), [message](../resources/message.md), [organization](../resources/organization.md), [personal contact](../resources/contact.md), [user](../resources/user.md), [todoTask](../resources/todotask.md), [todoTaskList](../resources/todotasklist.md) | Open extension only.|
+|Get a specific extension from a known resource instance.| [Administrative unit](../resources/administrativeunit.md) <br/> [baseTask](../resources/basetask.md) (deprecated) <br/> [baseTaskList](../resources/basetasklist.md) (deprecated) <br/> [device](../resources/device.md) <br/> [event](../resources/event.md) <br/> [group](../resources/group.md) <br/> [group event](../resources/event.md) <br/> [group post](../resources/post.md) <br/> [message](../resources/message.md) <br/> [organization](../resources/organization.md) <br/> [personal contact](../resources/contact.md) <br/> [user](../resources/user.md) <br/> [todoTask](../resources/todotask.md) <br/> [todoTaskList](../resources/todotasklist.md) | Open extension only.|
|Get a known resource instance expanded with a specific extension.|Administrative unit, base task, base task list, device, event, group, group event, group post, message, organization, personal contact, user, to-do task, to-do task list. |A resource instance expanded with the open extension.| |Find and expand resource instances with a specific extension. | Base task, base task list, event, group event, group post, message, personal contact, to-do task, to-do task list |Resource instances expanded with the open extension.|
navigation property of that instance.
<!-- { "blockType": "ignored" } --> ```http
-GET /administrativeUnits/{Id}/extensions/{extensionId}
-GET /devices/{Id}/extensions/{extensionId}
-GET /users/{Id|userPrincipalName}/events/{Id}/extensions/{extensionId}
-GET /groups/{Id}/extensions/{extensionId}
-GET /groups/{Id}/events/{Id}/extensions/{extensionId}
-GET /groups/{Id}/threads/{Id}/posts/{Id}/extensions/{extensionId}
-GET /users/{Id|userPrincipalName}/messages/{Id}/extensions/{extensionId}
-GET /organization/{Id}/extensions/{extensionId}
-GET /users/{Id|userPrincipalName}/contacts/{Id}/extensions/{extensionId}
-GET /users/{Id|userPrincipalName}/extensions/{extensionId}
-GET /users/{Id|userPrincipalName}/todo/lists/{Id}/tasks/{todoTaskId}/extensions/{extensionId}
-GET /users/{Id|userPrincipalName}/todo/lists/{Id}/extensions/{extensionId}
-GET /users/{Id|userPrincipalName}/tasks/lists/{Id}/tasks/{baseTaskId}/extensions/{extensionId}
-GET /users/{Id|userPrincipalName}/tasks/lists/{Id}/extensions/{extensionId}
+GET /administrativeUnits/{administrativeUnitId}/extensions/{extensionId}
+GET /devices/{deviceId}/extensions/{extensionId}
+GET /users/{Id|userPrincipalName}/events/{eventId}/extensions/{extensionId}
+GET /groups/{groupId}/extensions/{extensionId}
+GET /groups/{groupId}/events/{eventId}/extensions/{extensionId}
+GET /groups/{groupId}/threads/{threadId}/posts/{postId}/extensions/{extensionId}
+GET /users/{userId|userPrincipalName}/messages/{messageId}/extensions/{extensionId}
+GET /organization/{organizationId}/extensions/{extensionId}
+GET /users/{userId|userPrincipalName}/contacts/{contactId}/extensions/{extensionId}
+GET /users/{userId|userPrincipalName}/extensions/{extensionId}
+GET /users/{userId|userPrincipalName}/todo/lists/{listId}/tasks/{todoTaskId}/extensions/{extensionId}
+GET /users/{userId|userPrincipalName}/todo/lists/{listId}/extensions/{extensionId}
+GET /users/{userId|userPrincipalName}/tasks/lists/{listId}/tasks/{baseTaskId}/extensions/{extensionId}
+GET /users/{userId|userPrincipalName}/tasks/lists/{listId}/extensions/{extensionId}
``` ### Get a known resource instance expanded with a matching extension
most of the resource properties.
<!-- { "blockType": "ignored" } --> ```http
-GET /users/{Id|userPrincipalName}/events/{Id}?$expand=extensions($filter=id eq '{extensionId}')
-GET /groups/{Id}/events/{Id}?$expand=extensions($filter=id eq '{extensionId}')
-GET /groups/{Id}/threads/{Id}/posts/{Id}?$expand=extensions($filter=id eq '{extensionId}')
-GET /users/{Id|userPrincipalName}/messages/{Id}?$expand=extensions($filter=id eq '{extensionId}')
-GET /users/{Id|userPrincipalName}/contacts/{Id}?$expand=extensions($filter=id eq '{extensionId}')
-GET /users/{Id|userPrincipalName}/todo/lists/{Id}/tasks/{Id}?$expand=extensions($filter=id eq '{extensionId}')
-GET /users/{Id|userPrincipalName}/todo/lists/{Id}?$expand=extensions($filter=id eq '{extensionId}')
-GET /users/{Id|userPrincipalName}/tasks/lists/{Id}/tasks/{Id}?$expand=extensions($filter=id eq '{extensionId}')
-GET /users/{Id|userPrincipalName}/tasks/lists/{Id}?$expand=extensions($filter=id eq '{extensionId}')
+GET /users/{userId|userPrincipalName}/events/{eventId}?$expand=extensions($filter=id eq '{extensionId}')
+GET /groups/{groupId}/events/{eventId}?$expand=extensions($filter=id eq '{extensionId}')
+GET /groups/{groupId}/threads/{threadId}/posts/{postId}?$expand=extensions($filter=id eq '{extensionId}')
+GET /users/{userId|userPrincipalName}/messages/{messageId}?$expand=extensions($filter=id eq '{extensionId}')
+GET /users/{userId|userPrincipalName}/contacts/{contactId}?$expand=extensions($filter=id eq '{extensionId}')
+GET /users/{userId|userPrincipalName}/todo/lists/{listId}/tasks/{taskId}?$expand=extensions($filter=id eq '{extensionId}')
+GET /users/{userId|userPrincipalName}/todo/lists/{listId}?$expand=extensions($filter=id eq '{extensionId}')
+GET /users/{userId|userPrincipalName}/tasks/lists/{listId}/tasks/{taskId}?$expand=extensions($filter=id eq '{extensionId}')
+GET /users/{userId|userPrincipalName}/tasks/lists/{listId}?$expand=extensions($filter=id eq '{extensionId}')
```
the **id** property and any other properties you want from the resource instance
<!-- { "blockType": "ignored" } --> ```http
-GET /devices/{Id}?$expand=extensions($filter=id eq '{extensionId}')&$select=id,{property_1},{property_n}
-GET /groups/{Id}?$expand=extensions($filter=id eq '{extensionId}')&$select=id,{property_1},{property_n}
-GET /organization/{Id}?$expand=extensions($filter=id eq '{extensionId}')&$select=id,{property_1},{property_n}
-GET /users/{Id|userPrincipalName}?$expand=extensions($filter=id eq '{extensionId}')&$select=id,{property_1},{property_n}
+GET /devices/{deviceId}?$expand=extensions($filter=id eq '{extensionId}')&$select=id,{property_1},{property_n}
+GET /groups/{groupId}?$expand=extensions($filter=id eq '{extensionId}')&$select=id,{property_1},{property_n}
+GET /organization/{organizationId}?$expand=extensions($filter=id eq '{extensionId}')&$select=id,{property_1},{property_n}
+GET /users/{userId|userPrincipalName}?$expand=extensions($filter=id eq '{extensionId}')&$select=id,{property_1},{property_n}
```
with the extension.
<!-- { "blockType": "ignored" } --> ```http
-GET /users/{Id|userPrincipalName}/events?$filter=Extensions/any(f:f/id eq '{extensionId}')&$expand=Extensions($filter=id eq '{extensionId}')
-GET /groups/{Id}/events?$filter=Extensions/any(f:f/id eq '{extensionId}')&$expand=Extensions($filter=id eq '{extensionId}')
-GET /groups/{Id}/threads/{Id}/posts?$filter=Extensions/any(f:f/id eq '{extensionId}')&$expand=Extensions($filter=id eq '{extensionId}')
-GET /users/{Id|userPrincipalName}/messages?$filter=Extensions/any(f:f/id eq '{extensionId}')&$expand=Extensions($filter=id eq '{extensionId}')
-GET /users/{Id|userPrincipalName}/contacts?$filter=Extensions/any(f:f/id eq '{extensionId}')&$expand=Extensions($filter=id eq '{extensionId}')
+GET /users/{userId|userPrincipalName}/events?$filter=Extensions/any(f:f/id eq '{extensionId}')&$expand=Extensions($filter=id eq '{extensionId}')
+GET /groups/{groupId}/events?$filter=Extensions/any(f:f/id eq '{extensionId}')&$expand=Extensions($filter=id eq '{extensionId}')
+GET /groups/{groupId}/threads/{threadId}/posts?$filter=Extensions/any(f:f/id eq '{extensionId}')&$expand=Extensions($filter=id eq '{extensionId}')
+GET /users/{userId|userPrincipalName}/messages?$filter=Extensions/any(f:f/id eq '{extensionId}')&$expand=Extensions($filter=id eq '{extensionId}')
+GET /users/{userId|userPrincipalName}/contacts?$filter=Extensions/any(f:f/id eq '{extensionId}')&$expand=Extensions($filter=id eq '{extensionId}')
``` >**Note:** The above syntax shows some common ways to identify a resource instance or collection,
v1.0 Opentypeextension Post Opentypeextension https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/opentypeextension-post-opentypeextension.md
Title: "Create open extension"
+ Title: "Create openTypeExtension"
description: "Create an open extension (openTypeExtension object) and add custom properties" ms.localizationpriority: medium
doc_type: apiPageType
ms.prod: "extensions"
-# Create open extension
+# Create openTypeExtension
Namespace: microsoft.graph
Use the same REST request that you use to create the instance.
<!-- { "blockType": "ignored" } --> ```http
-POST /users/{id|userPrincipalName}/events
-POST /users/{id|userPrincipalName}/messages
-POST /groups/{id}/events
-POST /groups/{id}/threads/{id}/posts/{id}/reply
-POST /users/{id|userPrincipalName}/contacts
-POST /users/{id|userPrincipalName}/todo/lists/{id}/tasks
-POST /users/{id|userPrincipalName}/todo/lists
-POST /users/{id|userPrincipalName}/tasks/lists/{id}/tasks
-POST /users/{id|userPrincipalName}/tasks/lists
+POST /users/{userId|userPrincipalName}/events
+POST /users/{userId|userPrincipalName}/messages
+POST /groups/{userId}/events
+POST /groups/{userId}/threads/{threadId}/posts/{postId}/reply
+POST /users/{userId|userPrincipalName}/contacts
+POST /users/{userId|userPrincipalName}/todo/lists/{listId}/tasks
+POST /users/{userId|userPrincipalName}/todo/lists
+POST /users/{userId|userPrincipalName}/tasks/lists/{listId}/tasks
+POST /users/{userId|userPrincipalName}/tasks/lists
``` >**Note:** This syntax shows some common ways to create the supported resource instances. All other POST syntaxes
Identify the resource instance in the request and do a `POST` to the **extension
<!-- { "blockType": "ignored" } --> ```http
-POST /administrativeunits/{id}/extensions
-POST /devices/{id}/extensions
-POST /users/{id|userPrincipalName}/events/{id}/extensions
-POST /groups/{id}/extensions
-POST /groups/{id}/events/{id}/extensions
-POST /groups/{id}/threads/{id}/posts/{id}/extensions
-POST /users/{id|userPrincipalName}/messages/{id}/extensions
-POST /organization/{id}/extensions
-POST /users/{id|userPrincipalName}/contacts/{id}/extensions
-POST /users/{id|userPrincipalName}/extensions
-POST /users/{id|userPrincipalName}/todo/lists/{id}/tasks/{id}/extensions
-POST /users/{id|userPrincipalName}/todo/lists/{id}/extensions
-POST /users/{id|userPrincipalName}/tasks/lists/{id}/tasks/{id}/extensions
-POST /users/{id|userPrincipalName}/tasks/lists/{id}/extensions
+POST /administrativeunits/{administrativeUnitId}/extensions
+POST /devices/{deviceId}/extensions
+POST /users/{userId|userPrincipalName}/events/{eventId}/extensions
+POST /groups/{groupId}/extensions
+POST /groups/{groupId}/events/{eventId}/extensions
+POST /groups/{groupId}/threads/{threadId}/posts/{postId}/extensions
+POST /users/{userId|userPrincipalName}/messages/{messageId}/extensions
+POST /organization/{organizationId}/extensions
+POST /users/{userIdd|userPrincipalName}/contacts/{contactId}/extensions
+POST /users/{userId|userPrincipalName}/extensions
+POST /users/{userId|userPrincipalName}/todo/lists/{listId}/tasks/{taskId}/extensions
+POST /users/{userId|userPrincipalName}/todo/lists/{listId}/extensions
+POST /users/{userId|userPrincipalName}/tasks/lists/{listId}/tasks/{taskId}/extensions
+POST /users/{userId|userPrincipalName}/tasks/lists/{listId}/extensions
``` >**Note:** This syntax shows some common ways to identify a resource instance, in order to create an
extension in it. All other syntaxes that allows you to identify these resource i
See the [Request body](#request-body) section about including _the extension_ in the request body.
-## Path parameters
-
-|**Parameter**|**Type**|**Description**|
-|:--|:--|:--|
-|id|string|A unique identifier for an object in the corresponding collection. Required.|
- ## Request headers | Name | Value |
primitive types.
| Name | Value | |:|:-| | @odata.type | microsoft.graph.openTypeExtension |
-| extensionName | %unique_string% |
+| extensionName | Unique string |
When creating an extension in a _new_ resource instance, in addition to the new **openTypeExtension** object, provide a JSON representation of the relevant properties to create such a resource instance.
v1.0 Opentypeextension Update https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/opentypeextension-update.md
Title: "Update open extension"
+ Title: "Update openTypeExtension"
description: "Update an open extension (openTypeExtension object) with the properties in the request body:" ms.localizationpriority: medium
doc_type: apiPageType
ms.prod: "extensions"
-# Update open extension
+# Update openTypeExtension
Namespace: microsoft.graph
navigation property of that instance to identify the extension, and do a `PATCH`
<!-- { "blockType": "ignored" } --> ```http
-PATCH /administrativeUnits/{Id}/extensions/{extensionId}
-PATCH /devices/{Id}/extensions/{extensionId}
-PATCH /users/{id|userPrincipalName}/events/{id}/extensions/{extensionId}
-PATCH /groups/{id}/extensions/{extensionId}
-PATCH /groups/{id}/events/{id}/extensions/{extensionId}
-PATCH /groups/{id}/threads/{id}/posts/{id}/extensions/{extensionId}
-PATCH /users/{id|userPrincipalName}/messages/{id}/extensions/{extensionId}
-PATCH /organization/{Id}/extensions/{extensionId}
-PATCH /users/{id|userPrincipalName}/contacts/{id}/extensions/{extensionId}
-PATCH /users/{id|userPrincipalName}/extensions/{extensionId}
-PATCH /users/me/todo/lists/{Id}/tasks/{Id}/extensions/{extensionId}
-PATCH /users/me/todo/lists/{Id}/extensions/{extensionId}
-PATCH /users/me/tasks/lists/{Id}/tasks/{Id}/extensions/{extensionId}
-PATCH /users/me/tasks/lists/{Id}/extensions/{extensionId}
+PATCH /administrativeUnits/{administrativeUnitId}/extensions/{extensionId}
+PATCH /devices/{deviceId}/extensions/{extensionId}
+PATCH /users/{userId|userPrincipalName}/events/{eventId}/extensions/{extensionId}
+PATCH /groups/{groupId}/extensions/{extensionId}
+PATCH /groups/{groupId}/events/{eventId}/extensions/{extensionId}
+PATCH /groups/{groupId}/threads/{threadId}/posts/{postId}/extensions/{extensionId}
+PATCH /users/{userId|userPrincipalName}/messages/{messageId}/extensions/{extensionId}
+PATCH /organization/{organizationId}/extensions/{extensionId}
+PATCH /users/{userId|userPrincipalName}/contacts/{contactId}/extensions/{extensionId}
+PATCH /users/{userId|userPrincipalName}/extensions/{extensionId}
+PATCH /users/me/todo/lists/{listId}/tasks/{taskId}/extensions/{extensionId}
+PATCH /users/me/todo/lists/{listId}/extensions/{extensionId}
+PATCH /users/me/tasks/lists/{listId}/tasks/{taskId}/extensions/{extensionId}
+PATCH /users/me/tasks/lists/{listId}/extensions/{extensionId}
``` >**Note:** The above syntax shows some common ways to identify a resource instance, in order to update an extension in it.
All other syntax that allows you to identify these resource instances supports u
See the [Request body](#request-body) section about including in the request body any custom data to change or add to that extension.
-## Path parameters
-|**Parameter**|**Type**|**Description**|
-|:--|:--|:--|
-|id|string|A unique identifier for an instance of the corresponding collection. Required.|
-|extensionId|string|This can be an extension name which is a unique text identifier for an extension, or a fully qualified name which concatenates the extension type and unique text identifier. The fully qualified name is returned in the `id` property when you create the extension. Required.|
- ## Request headers | Name | Value | |:|:-|
The data in the JSON payload can be primitive types, or arrays of primitive type
| Name | Value | |:|:-| | @odata.type | microsoft.graph.openTypeExtension |
-| extensionName | %unique_string% |
+| extensionName | Unique string |
## Response
v1.0 Print List Printers https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/print-list-printers.md
GET /print/printers
This method supports some of the OData query parameters to help customize the response. For general information, see [OData query parameters](/graph/query-parameters). ### Exceptions
-* The `$expand` and `select` operators are supported for the `share` navigation property, but not for `jobs`.
+* The `$expand` and `$select` operators are supported for the `shares` navigation property, but not for `jobs`.
* Some operators are not supported: `$count`, `$search`. ## Request headers
v1.0 Print List Shares https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/print-list-shares.md
GET /print/shares
## 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).
-To see a list of each printer share's capabilities, include the optional `$select=capabilities` query parameter.
+> **Note:** Using $top=n query parameter will return **up to** `n` shares. Caller needs to use skip token to enumerate over the entire list.
### Exceptions Some operators are not supported: `$count`, `$orderby`, `$search`.
Some operators are not supported: `$count`, `$orderby`, `$search`.
## 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 [printerShare](../resources/printershare.md) objects in the response body.+
+>**Note**: The response will not contain the **defaults** or **capabilities** properties.
+
+> For following scenarios, response will contain limited set of properties (id,displayName,manufacturer,model,location):
+> - Listing printer shares on behalf of user who is not [Printer Administrator](/azure/active-directory/users-groups-roles/directory-assign-admin-roles#printer-administrator).
+> - Filtering printer shares based on `capabilities` or `location`.
+
+You can get additional properties via a [Get printerShare](printershare-get.md) request.
+ ## Example ##### Request The following is an example of the request.
v1.0 Printer Post Jobs https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/printer-post-jobs.md
Namespace: microsoft.graph
Create a new [printJob](../resources/printJob.md) for a [printer](../resources/printer.md).
+> **Note:** A user can submit up to ~10000 print jobs in 10 days.
+ ## 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 Printershare Post Jobs https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/printershare-post-jobs.md
Namespace: microsoft.graph
Create a new [printJob](../resources/printJob.md) for a [printerShare](../resources/printerShare.md).
+> **Note:** A user can submit up to ~10000 print jobs in 10 days.
+ ## 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 Profilephoto Get https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/profilephoto-get.md
One of the following permissions is required to call this API. To learn more, in
> **Note:** The GET photo method in beta supports a user's work, school, or personal accounts. The GET photo metadata method, however, supports only the user's work or school accounts and not personal accounts.
-### To retrieve the profile photo of a user
+### To retrieve the profile photo of a contact
|Permission type | Permissions (from least to most privileged) | |:--|:|
-|Delegated (work or school account) | User.Read, User.ReadBasic.All, User.Read.All, User.ReadWrite, User.ReadWrite.All |
-|Delegated (personal Microsoft account) | User.Read, User.ReadWrite |
-|Application | User.Read.All, User.ReadWrite.All |
+|Delegated (work or school account) | Contacts.Read, Contacts.ReadWrite |
+|Delegated (personal Microsoft account) | Contacts.Read, Contacts.ReadWrite |
+|Application | Contacts.Read, Contacts.ReadWrite |
### To retrieve the profile photo of a group
One of the following permissions is required to call this API. To learn more, in
|Delegated (personal Microsoft account) | Not supported. | |Application | Group.Read.All, Group.ReadWrite.All |
-### To retrieve the profile photo of a contact
+### To retrieve the profile photo of a team
|Permission type | Permissions (from least to most privileged) | |:--|:|
-|Delegated (work or school account) | Contacts.Read, Contacts.ReadWrite |
-|Delegated (personal Microsoft account) | Contacts.Read, Contacts.ReadWrite |
-|Application | Contacts.Read, Contacts.ReadWrite |
+|Delegated (work or school account) | Team.ReadBasic.All, TeamSettings.Read.All, TeamSettings.ReadWrite.All, Group.Read.All**, Group.ReadWrite.All**, Directory.Read.All**, Directory.ReadWrite.All** |
+|Delegated (personal Microsoft account) | Not supported. |
+|Application | TeamSettings.Read.Group*, TeamSettings.ReadWrite.Group*, Team.ReadBasic.All, TeamSettings.Read.All, TeamSettings.ReadWrite.All, Group.Read.All**, Group.ReadWrite.All**, Directory.Read.All**, Directory.ReadWrite.All** |
+
+### To retrieve the profile photo of a user
+
+|Permission type | Permissions (from least to most privileged) |
+|:--|:|
+|Delegated (work or school account) | User.Read, User.ReadBasic.All, User.Read.All, User.ReadWrite, User.ReadWrite.All |
+|Delegated (personal Microsoft account) | User.Read, User.ReadWrite |
+|Application | User.Read.All, User.ReadWrite.All |
++ > [!NOTE] >
GET /me/contacts/{id}/photo/$value
GET /users/{id | userPrincipalName}/contacts/{id}/photo/$value GET /me/contactfolders/{contactFolderId}/contacts/{id}/photo/$value GET /users/{id | userPrincipalName}/contactfolders/{contactFolderId}/contacts/{id}/photo/$value
+GET /team/{id}/photo/$value
``` ### Get the metadata of the photo
GET /me/contacts/{id}/photo
GET /users/{id | userPrincipalName}/contacts/{id}/photo GET /me/contactfolders/{contactFolderId}/contacts/{id}/photo GET /users/{id | userPrincipalName}/contactfolders/{contactFolderId}/contacts/{id}/photo
+GET /team/{id}/photo
``` ### Get the metadata for a specific photo size
Content-type: application/json
} ```
+### Example 4: Get the photo metadata
+
+#### Request
+
+Here is an example of the request to get the metadata of the team photo.
+
+<!-- {
+ "blockType": "ignored",
+ "name": "get_team_photo_metadata"
+}-->
+```http
+GET https://graph.microsoft.com/beta/teams/172b0cce-e65d-44ce-9a49-91d9f2e8491e/photo
+```
+
+#### Response
+
+Here is an example of the response.
+
+> **Note:** The response object shown here might be shortened for readability.
+<!-- {
+ "blockType": "response"
+} -->
+```http
+HTTP/1.1 200 OK
+Content-type: application/json
+
+{
+ "@odata.context": "https://graph.microsoft.com/beta/$metadata#teams('172b0cce-e65d-44ce-9a49-91d9f2e8491e')/photo/$entity",
+ "@odata.id": "https://graph.microsoft.com/beta/teams('172b0cce-e65d-44ce-9a49-91d9f2e8491e')/photo",
+ "@odata.mediaContentType": "image/jpeg",
+ "@odata.mediaEtag": "\"BA09D118\"",
+ "id": "240X240",
+ "width": 240,
+ "height": 240
+}
+```
+
+### Example 5: Get the team photo's binary data
+
+Here is an example of the request to get the team photo's binary data.
+
+#### Request
+
+<!-- {
+ "blockType": "ignored",
+ "name": "get_team_photo"
+}-->
+```http
+GET https://graph.microsoft.com/beta/teams/172b0cce-e65d-44ce-9a49-91d9f2e8491e/photo/$value
+```
+
+#### Response
+
+Contains the binary data of the requested photo. The HTTP response code is 200.
+ ## Using the binary data of the requested photo When you use the `/photo/$value` endpoint to get the binary data for a profile photo, you'll need to convert the data into a base-64 string in order to add it as an email attachment. The following JavaScript example shows how to create an array that you can pass as the value of the `Attachments` parameter of an [Outlook message](user-post-messages.md).
v1.0 Profilephoto Update https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/profilephoto-update.md
Title: "Update profilephoto"
-description: "Update the photo for any user in the tenant including the signed-in user, or the specified group or contact."
+description: "Update the photo for any user in the tenant including the signed-in user, or the specified group or contact or team."
ms.localizationpriority: medium doc_type: apiPageType ms.prod: "people"
Namespace: microsoft.graph
[!INCLUDE [beta-disclaimer](../../includes/beta-disclaimer.md)]
-Update the photo for any user in the tenant, including the signed-in user or the specified group or contact. Because there
-is currently a limit of 8MB on the total size of each REST request, the size of the photo you can add is limited to under 8MB.
+Update the photo for the specified contact, group, team, or user in a tenant. The size of the photo you can update to must be under 8MB.
Only use PUT for this operation.
Only use PUT for this operation.
## 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).
-### To update the profile photo of the signed-in user
+### To update the profile photo of a contact
|Permission type | Permissions (from least to most privileged) | |:--|:|
-|Delegated (work or school account) | User.ReadWrite, User.ReadWrite.All |
+|Delegated (work or school account) | Contacts.ReadWrite |
|Delegated (personal Microsoft account) | Not supported. |
-|Application | User.ReadWrite.All |
+|Application | Contacts.ReadWrite |
### To update the profile photo of a group
One of the following permissions is required to call this API. To learn more, in
|Delegated (personal Microsoft account) | Not supported. | |Application | Group.ReadWrite.All |
-### To update the profile photo of a contact
+### To update the profile photo of a team
+
+| Permission type | Permissions (from least to most privileged) |
+|:|:--|
+| Delegated (work or school account) | TeamSettingsReadWriteAll, GroupReadWriteAll**, DirectoryReadWriteAll** |
+| Delegated (personal Microsoft account) | Not supported. |
+| Application | Not supported. |
++
+### To update the profile photo of the signed-in user
|Permission type | Permissions (from least to most privileged) | |:--|:|
-|Delegated (work or school account) | Contacts.ReadWrite |
+|Delegated (work or school account) | User.ReadWrite, User.ReadWrite.All |
|Delegated (personal Microsoft account) | Not supported. |
-|Application | Contacts.ReadWrite |
+|Application | User.ReadWrite.All |
> [!NOTE] > 1. To update the photo of any user in the organization, your app must have the *User.ReadWrite.All* application permission and call this API under its own identity, not on behalf of a user. To learn more, see [get access without a signed-in user](/graph/auth-v2-service). Updating the photo of the signed-in user only requires *User.ReadWrite* permission.
PUT /users/{id | userPrincipalName}/contactfolders/{contactFolderId}/contacts/{i
To update the photo for a team: <!-- { "blockType": "ignored" } -->+ ```http PUT /groups/{teamId}/photo/$value ```
In the request body, include the binary data of the photo in the request body.
## Response
-If successful, this method returns a `200 OK` response code.
+If successful, this method returns a `200 OK` response code or a `204 No Content` response code for updating the photo of a team.
-## Example
-### Request
+## Examples
+### Example 1: Update the profile photo of the user
+#### Request
The following is an example of the request. # [HTTP](#tab/http)
Binary data for the image
-### Response
+#### Response
The following is an example of the response.
->**Note:** The response object shown here might be shortened for readability.
+> **Note:** The response object shown here might be shortened for readability.
+ <!-- { "blockType": "response" } -->
The following is an example of the response.
HTTP/1.1 200 OK ```
+### Example 2: Update the photo of a team
+
+#### Request
+The following is an example of a request to update a team photo.
+
+<!-- {
+ "blockType": "request",
+ "name": "update_team_photo"
+}-->
+```http
+PUT https://graph.microsoft.com/beta/teams/172b0cce-e65d-44ce-9a49-91d9f2e8491e/photo/$value
+Content-type: image/jpeg
+
+Binary data for the image
+```
+
+#### Response
+
+The following is an example of the response.
+
+<!-- {
+ "blockType": "response",
+ "truncated": true
+} -->
+
+```http
+HTTP/1.1 204 No Content
+```
+ <!-- uuid: 8fcb5dbc-d5aa-4681-8e31-b001d5168d79 2015-10-25 14:57:30 UTC --> <!--
HTTP/1.1 200 OK
] } -->--
v1.0 Security Emailthreatsubmission Get https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/security-emailthreatsubmission-get.md
+
+ Title: "Get emailThreatSubmission"
+description: "Read the properties and relationships of an emailThreatSubmission object."
+
+ms.localizationpriority: medium
++
+# Get emailThreatSubmission
+Namespace: microsoft.graph.security
++
+Read the properties and relationships of an [emailThreatSubmission](../resources/security-emailthreatsubmission.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)|ThreatSubmission.Read, ThreatSubmission.ReadWrite, ThreatSubmission.Read.All, ThreatSubmission.ReadWrite.All|
+|Delegated (personal Microsoft account)|Not supported|
+|Application|ThreatSubmission.Read.All, ThreatSubmission.ReadWrite.All|
+
+## HTTP request
+
+<!-- {
+ "blockType": "ignored"
+}
+-->
+``` http
+GET /security/threatSubmission/emailThreats/{emailThreatsId}
+```
+
+## Optional query parameters
+Not suppported.
+
+## 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 an [emailThreatSubmission](../resources/security-emailthreatsubmission.md) object in the response body.
+
+## Examples
+
+### Request
+The following is an example of a request.
+<!-- {
+ "blockType": "request",
+ "name": "get_emailthreatsubmission"
+}
+-->
+``` http
+GET https://graph.microsoft.com/beta/security/threatSubmission/emailThreats/{emailThreatsId}
+```
++
+### 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.security.emailThreatSubmission"
+}
+-->
+``` http
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{
+ "@odata.context": "https://graph.microsoft.com/beta/$metadata#security/threatSubmission/emailThreatSubmission/$entity",
+ "@odata.type": "#microsoft.graph.emailUrlThreatSubmission",
+ "category": "spam",
+ "recipientEmailAddress": "tifc@a830edad9050849EQTPWBJZXODQ.onmicrosoft.com",
+ "id": "49c5ef5b-1f65-444a-e6b9-08d772ea2059",
+ "createdDateTime": "2021-10-10T03:30:18.6890937Z",
+ "contentType": "email",
+ "emailSubject": "This is a spam",
+ "status": "succeeded",
+ "source": "administrator",
+ "createdBy": {
+ "user": {
+ "identity": "c52ce8db-3e4b-4181-93c4-7d6b6bffaf60",
+ "displayName": "Ronald Admin",
+ "email": "tifc@a830edad9050849eqtpwbjzxodq.onmicrosoft.com"
+ }
+ },
+ "result": {
+ "detail": "allowedByTenant",
+ "category": "notSpam",
+ "userMailboxSetting": "isFromDomainInDomainSafeList,isJunkMailRuleEnabled",
+ "detectedUrls": ["contoso.com"],
+ "detectedFiles": [
+ {
+ "fileName": "test.ps1",
+ "fileHash": "hash of test.ps1"
+ }
+ ]
+ },
+ "adminReview": null,
+ "internetMessageId": "some-internet-message-id@contoso.com",
+ "sender": "test@contoso.com",
+ "senderIP": "127.0.0.1",
+ "receivedDateTime": "2021-10-09T03:30:18.6890937Z",
+ "originalCategory": "notSpam",
+ "attackSimulationInfo": null,
+ "tenantAllowOrBlockListAction":
+ {
+ "action": "allow",
+ "expirationDateTime": "2021-10-30T03:30:18.6890937Z",
+ "note": "temporal allow the url/attachment/sender in the email.",
+ "results": null
+ },
+ "tenantId" : "39238e87-b5ab-4ef6-a559-af54c6b07b42"
+}
+```
+
v1.0 Security Emailthreatsubmission List https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/security-emailthreatsubmission-list.md
+
+ Title: "List emailThreatSubmissions"
+description: "Get a list of the emailThreatSubmission objects and their properties."
+
+ms.localizationpriority: medium
++
+# List emailThreatSubmissions
+Namespace: microsoft.graph.security
++
+Get a list of the [emailThreatSubmission](../resources/security-emailthreatsubmission.md) objects and their properties.
+
+## 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)|ThreatSubmission.Read, ThreatSubmission.ReadWrite, ThreatSubmission.Read.All, ThreatSubmission.ReadWrite.All|
+|Delegated (personal Microsoft account)|Not supported|
+|Application|ThreatSubmission.Read.All, ThreatSubmission.ReadWrite.All|
+
+## HTTP request
+
+<!-- {
+ "blockType": "ignored"
+}
+-->
+``` http
+GET /security/threatSubmission/emailThreats
+```
+
+## Optional query parameters
+This method supports `$filter`, `$top`, `$skipToken` and `$count` 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 [emailThreatSubmission](../resources/security-emailthreatsubmission.md) objects in the response body.
+
+## Examples
+
+### Request
+<!-- {
+ "blockType": "request",
+ "name": "list_emailthreatsubmission"
+}
+-->
+``` http
+GET https://graph.microsoft.com/beta/security/threatSubmission/emailThreats
+```
++
+### Response
+
+> **Note:** The response object shown here might be shortened for readability.
+
+<!-- {
+ "blockType": "response",
+ "truncated": true,
+ "@odata.type": "Collection(microsoft.graph.security.emailThreatSubmission)"
+}
+-->
+``` http
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{
+ "@odata.context": "https://graph.microsoft.com/beta/$metadata#security/threatSubmission/emailThreats",
+ "value": [
+ {
+ "@odata.type": "#microsoft.graph.emailThreatSubmission",
+ "category": "spam",
+ "recipientEmailAddress": "tifc@a830edad9050849EQTPWBJZXODQ.onmicrosoft.com",
+ "id": "49c5ef5b-1f65-444a-e6b9-08d772ea2059",
+ "createdDateTime": "2021-10-10T03:30:18.6890937Z",
+ "contentType": "email",
+ "emailSubject": "This is a spam",
+ "status": "succeeded",
+ "source": "administrator",
+ "createdBy": {
+ "user": {
+ "identity": "c52ce8db-3e4b-4181-93c4-7d6b6bffaf60",
+ "displayName": "Ronald Admin",
+ "email": "tifc@a830edad9050849eqtpwbjzxodq.onmicrosoft.com"
+ }
+ },
+ "result": {
+ "detail": "allowedByTenant",
+ "category": "notSpam",
+ "userMailboxSetting": "isFromDomainInDomainSafeList,isJunkMailRuleEnabled",
+ "detectedUrls": ["contoso.com"],
+ "detectedFiles": [
+ {
+ "fileName": "test.ps1",
+ "fileHash": "hash of test.ps1"
+ }
+ ]
+ },
+ "adminReview": null,
+ "internetMessageId": "some-internet-message-id@contoso.com",
+ "sender": "test@contoso.com",
+ "senderIP": "127.0.0.1",
+ "receivedDateTime": "2021-10-09T03:30:18.6890937Z",
+ "originalCategory": "notSpam",
+ "attackSimulationInfo": null,
+ "tenantAllowOrBlockListAction":
+ {
+ "action": "allow",
+ "expirationDateTime": "2021-10-30T03:30:18.6890937Z",
+ "note": "temporal allow the url/attachment/sender in the email.",
+ "results": [
+ {
+ "identity": "tenant allow block list id",
+ "value": "contoso.com",
+ "entryType": "url",
+ "expirationDateTime": "2021-10-30T03:30:18.6890937Z",
+ "status": "succeeded"
+ },
+ {
+ "identity": "tenant allow block list id",
+ "value": "test-contoso.com",
+ "entryType": "url",
+ "expirationDateTime": "2021-10-30T03:30:18.6890937Z",
+ "status": "skipped"
+ },
+ ]
+ },
+ "tenantId" : "39238e87-b5ab-4ef6-a559-af54c6b07b42"
+ }
+ ]
+}
+```
+
v1.0 Security Emailthreatsubmission Post Emailthreats https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/security-emailthreatsubmission-post-emailthreats.md
+
+ Title: "Create emailThreatSubmission"
+description: "Create a new emailThreatSubmission object."
+
+ms.localizationpriority: medium
++
+# Create emailThreatSubmission
+Namespace: microsoft.graph.security
++
+Create a new [emailThreatSubmission](../resources/security-emailthreatsubmission.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)|ThreatSubmission.ReadWrite, ThreatSubmission.ReadWrite.All|
+|Delegated (personal Microsoft account)|Not supported|
+|Application|ThreatSubmission.ReadWrite.All|
+
+## HTTP request
+
+<!-- {
+ "blockType": "ignored"
+}
+-->
+``` http
+POST /security/threatSubmission/emailThreats
+```
+
+## Request headers
+|Name|Description|
+|:|:|
+|Authorization|Bearer {token}. Required.|
+|Content-Type|application/json. Required.|
+
+## Request body
+In the request body, supply a JSON representation of either an [emailContentThreatSubmission](../resources/security-emailcontentthreatsubmission.md) object or an [emailUrlThreatSubmission](../resources/security-emailurlthreatsubmission.md) object.
+
+The **emailContentThreatSubmission** and **emailUrlThreatSubmission** resources are both subtypes of the **emailThreatSubmission** entity. Choose what to include in the request body based on the following:
+* If you want to create a submission with the email content itself, include an **emailContentThreatSubmission** object.
+* If you want to create a submission with a URL that points to the email, include an **emailUrlThreatSubmission** object.
+
+After the **emailContentThreatSubmission** or **emailUrlThreatSubmision** objects are created, the threat submission service just stores some metadata about the email. The email content is not stored. As a result, an **emailThreatSubmission** entity is created.
+
+## Response
+
+If successful, this method returns a `201 Created` response code and an [emailThreatSubmission](../resources/security-emailthreatsubmission.md) object in the response body.
+
+## Examples
+
+### Example 1: Email threat submission creation with messageUrl and emailUrlThreatSubmission type
+
+#### Request
+<!-- {
+ "blockType": "request",
+ "name": "create_emailthreatsubmission_from_emailthreats"
+}
+-->
+``` http
+POST https://graph.microsoft.com/beta/security/threatSubmission/emailThreats
+Content-type: application/json
+
+{
+ "@odata.type": "#microsoft.graph.emailUrlThreatSubmission",
+ "category": "spam",
+ "recipientEmailAddress": "tifc@a830edad9050849EQTPWBJZXODQ.onmicrosoft.com",
+ "messageUrl": "https://graph.microsoft.com/beta/users/c52ce8db-3e4b-4181-93c4-7d6b6bffaf60/messages/AAMkADU3MWUxOTU0LWNlOTEt="
+}
+```
+
+#### Response
+
+> **Note:** The response object shown here might be shortened for readability.
+
+<!-- {
+ "blockType": "response",
+ "truncated": true,
+ "@odata.type": "microsoft.graph.security.emailThreatSubmission"
+}
+-->
+``` http
+HTTP/1.1 201 Created
+Content-type: application/json
+
+{
+ "@odata.context": "https://graph.microsoft.com/beta/$metadata#security/threatSubmission/emailThreatSubmission/$entity",
+ "@odata.type": "#microsoft.graph.emailUrlThreatSubmission",
+ "category": "spam",
+ "recipientEmailAddress": "tifc@a830edad9050849EQTPWBJZXODQ.onmicrosoft.com",
+ "id": "49c5ef5b-1f65-444a-e6b9-08d772ea2059",
+ "createdDateTime": "2021-10-10T03:30:18.6890937Z",
+ "contentType": "email",
+ "emailSubject": "This is a spam",
+ "status": "succeeded",
+ "source": "administrator",
+ "createdBy": {
+ "user": {
+ "identity": "c52ce8db-3e4b-4181-93c4-7d6b6bffaf60",
+ "displayName": "Ronald Admin",
+ "email": "tifc@a830edad9050849eqtpwbjzxodq.onmicrosoft.com"
+ }
+ },
+ "result": {
+ "detail": "allowedByTenant",
+ "category": "notSpam",
+ "userMailboxSetting": "isFromDomainInDomainSafeList,isJunkMailRuleEnabled",
+ "detectedUrls": ["contoso.com"],
+ "detectedFiles": [
+ {
+ "fileName": "test.ps1",
+ "fileHash": "hash of test.ps1"
+ }
+ ]
+ },
+ "adminReview": null,
+ "internetMessageId": "some-internet-message-id@contoso.com",
+ "sender": "test@contoso.com",
+ "senderIP": "127.0.0.1",
+ "receivedDateTime": "2021-10-09T03:30:18.6890937Z",
+ "originalCategory": "notSpam",
+ "attackSimulationInfo": null,
+ "tenantAllowOrBlockListAction": null,
+ "tenantId" : "39238e87-b5ab-4ef6-a559-af54c6b07b42"
+}
+```
+
+### Example 2: Email threat submission creation with tenantAllowOrBlockListAction provided
+
+#### Request
+```http
+POST https://graph.microsoft.com/beta/security/threatSubmission/emailThreats
+Content-type: application/json
+
+{
+ "@odata.type": "#microsoft.graph.emailUrlThreatSubmission",
+ "category": "notSpam",
+ "recipientEmailAddress": "tifc@a830edad9050849EQTPWBJZXODQ.onmicrosoft.com",
+ "messageUrl": "https://graph.microsoft.com/beta/users/c52ce8db-3e4b-4181-93c4-7d6b6bffaf60/messages/AAMkADU3MWUxOTU0LWNlOTEt=",
+ "tenantAllowOrBlockListAction":
+ {
+ "action": "allow",
+ "expirationDateTime": "2021-10-30T03:30:18.6890937Z"
+ "note": "temporal allow the url/attachment/sender in the email."
+ }
+}
+```
+
+#### Response
+
+> **Note:** The response object shown here might be shortened for readability.
+<!-- {
+ "blockType": "response",
+ "truncated": true,
+ "@odata.type": "microsoft.graph.security.emailThreatSubmission"
+}
+-->
+``` http
+HTTP/1.1 201 Created
+Content-type: application/json
+
+{
+ "@odata.context": "https://graph.microsoft.com/beta/$metadata#security/threatSubmission/emailThreatSubmission/$entity",
+ "@odata.type": "#microsoft.graph.emailUrlThreatSubmission",
+ "category": "spam",
+ "recipientEmailAddress": "tifc@a830edad9050849EQTPWBJZXODQ.onmicrosoft.com",
+ "id": "49c5ef5b-1f65-444a-e6b9-08d772ea2059",
+ "createdDateTime": "2021-10-10T03:30:18.6890937Z",
+ "contentType": "email",
+ "emailSubject": "This is a spam",
+ "status": "succeeded",
+ "source": "administrator",
+ "createdBy": {
+ "user": {
+ "identity": "c52ce8db-3e4b-4181-93c4-7d6b6bffaf60",
+ "displayName": "Ronald Admin",
+ "email": "tifc@a830edad9050849eqtpwbjzxodq.onmicrosoft.com"
+ }
+ },
+ "result": {
+ "detail": "allowedByTenant",
+ "category": "notSpam",
+ "userMailboxSetting": "isFromDomainInDomainSafeList,isJunkMailRuleEnabled",
+ "detectedUrls": ["contoso.com"],
+ "detectedFiles": [
+ {
+ "fileName": "test.ps1",
+ "fileHash": "hash of test.ps1"
+ }
+ ]
+ },
+ "adminReview": null,
+ "internetMessageId": "some-internet-message-id@contoso.com",
+ "sender": "test@contoso.com",
+ "senderIP": "127.0.0.1",
+ "receivedDateTime": "2021-10-09T03:30:18.6890937Z",
+ "originalCategory": "notSpam",
+ "attackSimulationInfo": null,
+ "tenantAllowOrBlockListAction":
+ {
+ "action": "allow",
+ "expirationDateTime": "2021-10-30T03:30:18.6890937Z",
+ "note": "temporal allow the url/attachment/sender in the email.",
+ "results": null
+ },
+ "tenantId" : "39238e87-b5ab-4ef6-a559-af54c6b07b42"
+}
+```
+
+### Example 3: Email threat submission creation with fileContent and emailContentThreatSubmission type
+
+#### Request
+```http
+POST https://graph.microsoft.com/beta/security/threatSubmission/emailThreats
+Content-type: application/json
+
+{
+ "@odata.type": "#microsoft.graph.emailContentThreatSubmission",
+ "category": "spam",
+ "recipientEmailAddress": "tifc@a830edad9050849EQTPWBJZXODQ.onmicrosoft.com",
+ "fileContent": "UmVjZWl2ZWQ6IGZyb20gTVcyUFIwME1CMDMxNC5uYW1wcmQwMC....."
+}
+```
+
+#### Response
+
+> **Note:** The response object shown here might be shortened for readability.
+<!-- {
+ "blockType": "response",
+ "truncated": true,
+ "@odata.type": "microsoft.graph.security.emailThreatSubmission"
+}
+-->
+``` http
+HTTP/1.1 201 Created
+Content-type: application/json
+
+{
+ "@odata.context": "https://graph.microsoft.com/beta/$metadata#security/threatSubmission/emailThreatSubmission/$entity",
+ "@odata.type": "#microsoft.graph.emailContentThreatSubmission",
+ "category": "spam",
+ "recipientEmailAddress": "tifc@a830edad9050849EQTPWBJZXODQ.onmicrosoft.com",
+ "id": "49c5ef5b-1f65-444a-e6b9-08d772ea2059",
+ "createdDateTime": "2021-10-10T03:30:18.6890937Z",
+ "contentType": "email",
+ "emailSubject": "This is a spam",
+ "status": "succeeded",
+ "source": "administrator",
+ "createdBy": {
+ "user": {
+ "identity": "c52ce8db-3e4b-4181-93c4-7d6b6bffaf60",
+ "displayName": "Ronald Admin",
+ "email": "tifc@a830edad9050849eqtpwbjzxodq.onmicrosoft.com"
+ }
+ },
+ "result": {
+ "detail": "allowedByTenant",
+ "category": "notSpam",
+ "userMailboxSetting": "isFromDomainInDomainSafeList,isJunkMailRuleEnabled",
+ "detectedUrls": ["contoso.com"],
+ "detectedFiles": [
+ {
+ "fileName": "test.ps1",
+ "fileHash": "hash of test.ps1"
+ }
+ ]
+ },
+ "adminReview": null,
+ "internetMessageId": "some-internet-message-id@contoso.com",
+ "sender": "test@contoso.com",
+ "senderIP": "127.0.0.1",
+ "receivedDateTime": "2021-10-09T03:30:18.6890937Z",
+ "originalCategory": "notSpam",
+ "attackSimulationInfo": null,
+ "tenantAllowOrBlockListAction": null,
+ "tenantId" : "39238e87-b5ab-4ef6-a559-af54c6b07b42"
+}
+```
+
v1.0 Security Emailthreatsubmission Review https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/security-emailthreatsubmission-review.md
+
+ Title: "emailThreatSubmission: review"
+description: "Review a threat submission."
+
+ms.localizationpriority: medium
++
+# emailThreatSubmission: review
+Namespace: microsoft.graph.security
++
+Review a threat submission. Only [emailThreatSubmission](../resources/security-emailthreatsubmission.md) objects submitted by end users support the review action.
+
+Review actions for [urlThreatSubmission](../resources/security-urlthreatsubmission.md) and [fileThreatSubmission](../resources/security-filethreatsubmission.md) objects are not supported for end user.
+
+## 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)|ThreatSubmission.ReadWrite.All|
+|Delegated (personal Microsoft account)|Not supported|
+|Application|ThreatSubmission.ReadWrite.All|
+
+## HTTP request
+
+<!-- {
+ "blockType": "ignored"
+}
+-->
+``` http
+POST /emailThreats/{emailThreatsId}/review
+```
+
+## 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 parameters that can be used with this action.
+
+|Parameter|Type|Description|
+|:|:|:|
+|category|String|The email is being reported as notSpam, junk, phishing, malware. Case insensitive.|
+++
+## Response
+
+If successful, this action returns a `204 No Content` response code.
+
+## Examples
+
+### Request
+The following is an example of a request.
+<!-- {
+ "blockType": "request",
+ "name": "emailthreatsubmissionthis.review"
+}
+-->
+``` http
+POST https://graph.microsoft.com/beta/security/threatSubmission/emailThreats/49c5ef5b-1f65-444a-e6b9-08d772ea2059/review
+Content-type: application/json
+
+{
+ "category": "phishing"
+}
+```
++
+### Response
+The following is an example of the response.
+
+<!-- {
+ "blockType": "response",
+ "truncated": true
+}
+-->
+``` http
+HTTP/1.1 204 No Content
+```
+
v1.0 Security Emailthreatsubmissionpolicy Delete https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/security-emailthreatsubmissionpolicy-delete.md
+
+ Title: "Delete emailThreatSubmissionPolicy"
+description: "Delete an emailThreatSubmissionPolicy object."
+
+ms.localizationpriority: medium
++
+# Delete emailThreatSubmissionPolicy
+Namespace: microsoft.graph.security
++
+Delete an [emailThreatSubmissionPolicy](../resources/security-emailthreatsubmissionpolicy.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)|ThreatSubmissionPolicies.ReadWrite.All|
+|Delegated (personal Microsoft account)|Not supported|
+|Application|ThreatSubmissionPolicy.ReadWrite.All|
+
+## HTTP request
+
+<!-- {
+ "blockType": "ignored"
+}
+-->
+``` http
+DELETE security/threatSubmission/emailThreatSubmissionPolices/{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
+<!-- {
+ "blockType": "request",
+ "name": "delete_emailthreatsubmissionpolicy"
+}
+-->
+``` http
+DELETE https://graph.microsoft.com/beta/security/threatSubmission/emailThreatSubmissionPolices/{id}
+```
++
+### Response
+
+<!-- {
+ "blockType": "response",
+ "truncated": true
+}
+-->
+``` http
+HTTP/1.1 204 No Content
+```
+
v1.0 Security Emailthreatsubmissionpolicy Get https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/security-emailthreatsubmissionpolicy-get.md
+
+ Title: "Get emailThreatSubmissionPolicy"
+description: "Read the properties and relationships of an emailThreatSubmissionPolicy object."
+
+ms.localizationpriority: medium
++
+# Get emailThreatSubmissionPolicy
+Namespace: microsoft.graph.security
++
+Read the properties and relationships of an [emailThreatSubmissionPolicy](../resources/security-emailthreatsubmissionpolicy.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)|ThreatSubmission.Read, ThreatSubmission.ReadWrite, ThreatSubmission.Read.All, ThreatSubmission.ReadWrite.All, ThreatSubmissionPolicies.ReadWrite.All|
+|Delegated (personal Microsoft account)|Not supported|
+|Application|ThreatSubmission.Read.All, ThreatSubmission.ReadWrite.All, ThreatSubmissionPolicy.ReadWrite.All|
+
+## HTTP request
+
+<!-- {
+ "blockType": "ignored"
+}
+-->
+``` http
+GET security/threatSubmission//emailThreatSubmissionPolicies/{emailThreatSubmissionPoliciesId}
+```
+
+## Optional query parameters
+Not suppported.
+
+## 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 an [emailThreatSubmissionPolicy](../resources/security-emailthreatsubmissionpolicy.md) object in the response body.
+
+## Examples
+
+### Request
+The following is an example of a request.
+<!-- {
+ "blockType": "request",
+ "name": "get_emailthreatsubmissionpolicy"
+}
+-->
+``` http
+GET https://graph.microsoft.com/beta/security/threatSubmission/emailThreatSubmissionPolicies/{emailThreatSubmissionPoliciesId}
+```
++
+### 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.security.emailThreatSubmissionPolicy"
+}
+-->
+
+``` http
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{
+ "value": {
+ "@odata.type": "#microsoft.graph.security.emailThreatSubmissionPolicy",
+ "id": "3df67ecc-11b4-b5b4-9bae-b0729940b3d1",
+ "isReportToMicrosoftEnabled": "Boolean",
+ "isReportToCustomizedEmailAddressEnabled": "Boolean",
+ "isAskMeEnabledForUsers": "Boolean",
+ "isAlwaysReportEnabledForUsers": "Boolean",
+ "isNeverReportEnabledForUsers": "Boolean",
+ "isCustomizedMessageEnabledForPhishing": "Boolean",
+ "isCustomizedMessageEnabled": "Boolean",
+ "customizedReportRecipientEmailAddress": "String",
+ "isReviewEmailNotificationEnabled": "Boolean",
+ "isCustomizedNotificationSenderEnabled": "Boolean",
+ "isOrganizationBrandingEnabled": "Boolean",
+ "customizedNotificationSenderEmailAddress": "String",
+ "isReportFromQuarantineEnabled": "Boolean"
+ }
+}
+```
+
v1.0 Security Emailthreatsubmissionpolicy List https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/security-emailthreatsubmissionpolicy-list.md
+
+ Title: "List emailThreatSubmissionPolicies"
+description: "Get a list of the emailThreatSubmissionPolicy objects and their properties."
+
+ms.localizationpriority: medium
++
+# List emailThreatSubmissionPolicies
+Namespace: microsoft.graph.security
++
+Get a list of the [emailThreatSubmissionPolicy](../resources/security-emailthreatsubmissionpolicy.md) objects and their properties.
+
+## 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)|ThreatSubmission.Read, ThreatSubmission.ReadWrite, ThreatSubmission.Read.All, ThreatSubmission.ReadWrite.All, ThreatSubmissionPolicies.ReadWrite.All|
+|Delegated (personal Microsoft account)|Not supported|
+|Application|ThreatSubmission.Read.All, ThreatSubmission.ReadWrite.All, ThreatSubmissionPolicy.ReadWrite.All|
+
+## HTTP request
+
+<!-- {
+ "blockType": "ignored"
+}
+-->
+``` http
+GET security/threatSubmission/emailThreatSubmissionPolicies
+```
+
+## Optional query parameters
+Not supported.
+
+## 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 [emailThreatSubmissionPolicy](../resources/security-emailthreatsubmissionpolicy.md) objects in the response body.
+
+## Examples
+
+### Request
+<!-- {
+ "blockType": "request",
+ "name": "list_emailthreatsubmissionpolicy"
+}
+-->
+``` http
+GET https://graph.microsoft.com/beta/security/threatSubmission/emailThreatSubmissionPolicies
+```
++
+### Response
+>**Note:** The response object shown here might be shortened for readability.
+<!-- {
+ "blockType": "response",
+ "truncated": true,
+ "@odata.type": "Collection(microsoft.graph.security.emailThreatSubmissionPolicy)"
+}
+-->
+``` http
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{
+ "value": [
+ {
+ "@odata.type": "#microsoft.graph.security.emailThreatSubmissionPolicy",
+ "id": "3df67ecc-11b4-b5b4-9bae-b0729940b3d1",
+ "isReportToMicrosoftEnabled": "Boolean",
+ "isReportToCustomizedEmailAddressEnabled": "Boolean",
+ "isAskMeEnabledForUsers": "Boolean",
+ "isAlwaysReportEnabledForUsers": "Boolean",
+ "isNeverReportEnabledForUsers": "Boolean",
+ "isCustomizedMessageEnabledForPhishing": "Boolean",
+ "isCustomizedMessageEnabled": "Boolean",
+ "customizedReportRecipientEmailAddress": "String",
+ "isReviewEmailNotificationEnabled": "Boolean",
+ "isCustomizedNotificationSenderEnabled": "Boolean",
+ "isOrganizationBrandingEnabled": "Boolean",
+ "customizedNotificationSenderEmailAddress": "String",
+ "isReportFromQuarantineEnabled": "Boolean"
+ }
+ ]
+}
+```
+
v1.0 Security Emailthreatsubmissionpolicy Post Emailthreatsubmissionpolicies https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/security-emailthreatsubmissionpolicy-post-emailthreatsubmissionpolicies.md
+
+ Title: "Create emailThreatSubmissionPolicy"
+description: "Create a new emailThreatSubmissionPolicy object."
+
+ms.localizationpriority: medium
++
+# Create emailThreatSubmissionPolicy
+
+Namespace: microsoft.graph.security
++
+Create a new [emailThreatSubmissionPolicy](../resources/security-emailthreatsubmissionpolicy.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)|ThreatSubmissionPolicies.ReadWrite.All|
+|Delegated (personal Microsoft account)|Not supported|
+|Application|ThreatSubmissionPolicy.ReadWrite.All|
+
+## HTTP request
+
+<!-- {
+ "blockType": "ignored"
+}
+-->
+``` http
+POST /security/threatSubmission/emailThreatSubmissionPolicies
+```
+
+## 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 [emailThreatSubmissionPolicy](../resources/security-emailthreatsubmissionpolicy.md) object.
+
+You can also specify the following properties when creating an **emailThreatSubmissionPolicy**. These properties are related to the user reported message settings. For details, see [User reported message settings](/microsoft-365/security/office-365-security/user-submission.md).
+
+| Property | Type | Description |
+|:--|:--|:-|
+| customizedNotificationSenderEmailAddress | String | Specifies the email address of the sender from which email notifications will be sent to end users to inform them whether an email is spam, phish or clean. The default value is `null`. Optional for creation. |
+| customizedReportRecipientEmailAddress | String | Specifies the destination where the reported messages from end users will land whenever they report something as phish, junk or not junk. The default value is `null`. Optional for creation. |
+| isAlwaysReportEnabledForUsers | Boolean | Indicates whether end users can report a message as spam, phish or junk directly without a confirmation(popup). The default value is `true`. Optional for creation. |
+| isAskMeEnabledForUsers | Boolean | Indicates whether end users can confirm using a popup before reporting messages as spam, phish or not junk. The default value is `true`. Optional for creation. |
+| isCustomizedMessageEnabled | Boolean | Indicates whether the email notifications sent to end users to inform them if an email is phish, spam or junk is customized or not. The default value is `false`. Optional for creation. |
+| isCustomizedMessageEnabledForPhishing | Boolean | If enabled, customized message only shows when email is reported as phishing. The default value is `false`. Optional for creation. |
+| isCustomizedNotificationSenderEnabled | Boolean | Indicates whether to use the sender email address set using customizedNotificationSenderEmailAddress for sending email notifications to end users. The default value is `false`. Optional for creation. |
+| isNeverReportEnabledForUsers | Boolean | Indicates whether end users can simply move the message from one folder to another based on the action of spam, phish or not junk without actually reporting it. The default value is `true`. Optional for creation. |
+| isOrganizationBrandingEnabled | Boolean | Indicates whether the branding logo should be used in the email notifications sent to end users. The default value is `false`. Optional for creation. |
+| isReportFromQuarantineEnabled | Boolean | Indicates whether end users can submit from the quarantine page. The default value is `true`. Optional for creation. |
+| isReportToCustomizedEmailAddressEnabled | Boolean | Indicates whether emails reported by end users should be send to the custom mailbox configured using customizedReportRecipientEmailAddress. The default value is `false`. Optional for creation. |
+| isReportToMicrosoftEnabled | Boolean | If enabled, the email will be sent to Microsoft for analysis. The default value is `false`. Requried for creation. |
+| isReviewEmailNotificationEnabled | Boolean | Indicates whether an email notification is sent to the end user who reported the email when it has been reviewed by the admin. The default value is `false`. Optional for creation. |
++
+## Response
+
+If successful, this method returns a `201 Created` response code and an [emailThreatSubmissionPolicy](../resources/security-emailthreatsubmissionpolicy.md) object in the response body.
+
+## Examples
+
+### Request
+The following is an example of a request.
+<!-- {
+ "blockType": "request",
+ "name": "create_emailthreatsubmissionpolicy_from_emailthreatsubmissionpolicies"
+}
+-->
+``` http
+POST https://graph.microsoft.com/beta/security/threatSubmission/emailthreatSubmissionPolicies
+Content-type: application/json
+
+{
+ "isReportToMicrosoftEnabled": true
+}
+```
++
+### 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.security.emailThreatSubmissionPolicy"
+}
+-->
+``` http
+HTTP/1.1 201 Created
+Content-Type: application/json
+
+{
+ "@odata.type": "#microsoft.graph.emailThreatSubmissionPolicy",
+ "id": "DefaultReportSubmissionPolicy",
+ "isReportToMicrosoftEnabled": true,
+ "isReportToCustomizedEmailAddressEnabled": false,
+ "isAskMeEnabledForUsers": true,
+ "isAlwaysReportEnabledForUsers": true,
+ "isNeverReportEnabledForUsers": true,
+ "isCustomizedMessageEnabledForPhishing": false,
+ "isCustomizedMessageEnabled": false,
+ "customizedReportRecipientEmailAddress": null,
+ "isReviewEmailNotificationEnabled": false,
+ "isCustomNotificationSenderEnabled": false,
+ "isOrganizationBrandingEnabled": false,
+ "customizedNotificationSenderEmailAddress": null,
+ "isReportFromQuarantineEnabled": false
+}
+```
+
v1.0 Security Emailthreatsubmissionpolicy Update https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/security-emailthreatsubmissionpolicy-update.md
+
+ Title: "Update emailThreatSubmissionPolicy"
+description: "Update the properties of an emailThreatSubmissionPolicy object."
+
+ms.localizationpriority: medium
++
+# Update emailThreatSubmissionPolicy
+Namespace: microsoft.graph.security
++
+Update the properties of an [emailThreatSubmissionPolicy](../resources/security-emailthreatsubmissionpolicy.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)|ThreatSubmissionPolicies.ReadWrite.All|
+|Delegated (personal Microsoft account)|Not supported|
+|Application|ThreatSubmissionPolicy.ReadWrite.All|
+
+## HTTP request
+
+<!-- {
+ "blockType": "ignored"
+}
+-->
+``` http
+PATCH security/threatSubmission/emailThreatSubmissionPolicies/{emailThreatSubmissionPoliciesId}
+```
+
+## Request headers
+|Name|Description|
+|:|:|
+|Authorization|Bearer {token}. Required.|
+|Content-Type|application/json. Required.|
+
+## Request body
+
+These properties are related to the **user reported message settings**. For details, see [User reported message settings](/microsoft-365/security/office-365-security/user-submission.md).
+
+| Property | Type | Description |
+|:--|:--|:-|
+| customizedNotificationSenderEmailAddress | String | Specifies the email address of the sender from which email notifications will be sent to end users to inform them whether an email is spam, phish or clean. The default value is `null`. Optional for creation. |
+| customizedReportRecipientEmailAddress | String | Specifies the destination where the reported messages from end users will land whenever they report something as phish, junk or not junk. The default value is `null`. Optional for creation. |
+| isAlwaysReportEnabledForUsers | Boolean | Indicates whether end users can report a message as spam, phish or junk directly without a confirmation(popup). The default value is `true`. Optional for creation. |
+| isAskMeEnabledForUsers | Boolean | Indicates whether end users can confirm using a popup before reporting messages as spam, phish or not junk. The default value is `true`. Optional for creation. |
+| isCustomizedMessageEnabled | Boolean | Indicates whether the email notifications sent to end users to inform them if an email is phish, spam or junk is customized or not. The default value is `false`. Optional for creation. |
+| isCustomizedMessageEnabledForPhishing | Boolean | If enabled, customized message only shows when email is reported as phishing. The default value is `false`. Optional for creation. |
+| isCustomizedNotificationSenderEnabled | Boolean | Indicates whether to use the sender email address set using customizedNotificationSenderEmailAddress for sending email notifications to end users. The default value is `false`. Optional for creation. |
+| isNeverReportEnabledForUsers | Boolean | Indicates whether end users can simply move the message from one folder to another based on the action of spam, phish or not junk without actually reporting it. The default value is `true`. Optional for creation. |
+| isOrganizationBrandingEnabled | Boolean | Indicates whether the branding logo should be used in the email notifications sent to end users. The default value is `false`. Optional for creation. |
+| isReportFromQuarantineEnabled | Boolean | Indicates whether end users can submit from the quarantine page. The default value is `true`. Optional for creation. |
+| isReportToCustomizedEmailAddressEnabled | Boolean | Indicates whether emails reported by end users should be send to the custom mailbox configured using customizedReportRecipientEmailAddress. The default value is `false`. Optional for creation. |
+| isReportToMicrosoftEnabled | Boolean | If enabled, the email will be sent to Microsoft for analysis. The default value is `false`. Requried for creation. |
+| isReviewEmailNotificationEnabled | Boolean | Indicates whether an email notification is sent to the end user who reported the email when it has been reviewed by the admin. The default value is `false`. Optional for creation. |
+++
+## Response
+
+If successful, this method returns a `204 No Content` response code. It does not return anything in the response body.
+
+## Examples
+
+### Request
+The following is an example of a request.
+<!-- {
+ "blockType": "request",
+ "name": "update_emailthreatsubmissionpolicy"
+}
+-->
+``` http
+PATCH https://graph.microsoft.com/beta/security/threatSubmission/emailthreatSubmissionPolicies/DefaultReportSubmissionPolicy
+Content-type: application/json
+
+{
+ "isReportToMicrosoftEnabled": false
+}
+```
++
+### Response
+The following is an example of the response.
+
+<!-- {
+ "blockType": "response",
+ "truncated": true
+}
+-->
+``` http
+HTTP/1.1 204 No Content
+```
+
v1.0 Security Filethreatsubmission Get https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/security-filethreatsubmission-get.md
+
+ Title: "Get fileThreatSubmission"
+description: "Read the properties and relationships of a fileThreatSubmission object."
+
+ms.localizationpriority: medium
++
+# Get fileThreatSubmission
+Namespace: microsoft.graph.security
++
+Read the properties and relationships of a [fileThreatSubmission](../resources/security-filethreatsubmission.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)|ThreatSubmission.Read,ThreatSubmission.ReadWrite,ThreatSubmission.Read.All,ThreatSubmission.ReadWrite.All|
+|Delegated (personal Microsoft account)|Not supported|
+|Application|ThreatSubmission.Read.All,ThreatSubmission.ReadWrite.All|
+
+## HTTP request
+
+<!-- {
+ "blockType": "ignored"
+}
+-->
+``` http
+GET /security/threatSubmission/fileThreats/{fileThreatsId}
+```
+
+## Optional query parameters
+Not supported.
+
+## 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 [fileThreatSubmission](../resources/security-filethreatsubmission.md) object in the response body.
+
+## Examples
+
+### Request
+The following is an example of a request.
+<!-- {
+ "blockType": "request",
+ "name": "get_filethreatsubmission"
+}
+-->
+``` http
+GET https://graph.microsoft.com/beta/security/threatSubmission/fileThreats/{fileThreatsId}
+```
++
+### 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.security.fileThreatSubmission"
+}
+-->
+``` http
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{
+ "@odata.context": "https://graph.microsoft.com/beta/$metadata#security/threatSubmission/fileThreatSubmission/$entity",
+ "@odata.type": "#microsoft.graph.fileThreatSubmission",
+ "category": "malware",
+ "id": "49c5ef5b-1f65-444a-e6b9-08d772ea2059",
+ "createdDateTime": "2021-10-10T03:30:18.6890937Z",
+ "contentType": "file",
+ "fileName": "test.html",
+ "status": "running",
+ "source": "administrator",
+ "createdBy": {
+ "user": {
+ "identity": "c52ce8db-3e4b-4181-93c4-7d6b6bffaf60",
+ "displayName": "Ronald Admin",
+ "email": "tifc@a830edad9050849eqtpwbjzxodq.onmicrosoft.com"
+ }
+ },
+ "result": {
+ "detail": "underInvestigation"
+ },
+ "adminReview": null,
+ "tenantId" : "39238e87-b5ab-4ef6-a559-af54c6b07b42"
+}
+```
+
v1.0 Security Filethreatsubmission List https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/security-filethreatsubmission-list.md
+
+ Title: "List fileThreatSubmissions"
+description: "Get a list of the fileThreatSubmission objects and their properties."
+
+ms.localizationpriority: medium
++
+# List fileThreatSubmissions
+Namespace: microsoft.graph.security
++
+Get a list of the [fileThreatSubmission](../resources/security-filethreatsubmission.md) objects and their properties.
+
+## 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)|ThreatSubmission.Read,ThreatSubmission.ReadWrite,ThreatSubmission.Read.All,ThreatSubmission.ReadWrite.All|
+|Delegated (personal Microsoft account)|Not supported|
+|Application|ThreatSubmission.Read.All,ThreatSubmission.ReadWrite.All|
+
+## HTTP request
+
+<!-- {
+ "blockType": "ignored"
+}
+-->
+``` http
+GET /security/threatSubmission/fileThreats
+```
+
+## Optional query parameters
+This method supports `$filter`, `$top`, `$skipToken` and `$count` 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 [fileThreatSubmission](../resources/security-filethreatsubmission.md) objects in the response body.
+
+## Examples
+
+### Request
+<!-- {
+ "blockType": "request",
+ "name": "list_filethreatsubmission"
+}
+-->
+``` http
+GET https://graph.microsoft.com/beta/security/threatSubmission/fileThreats
+```
++
+### Response
+
+> **Note:** The response object shown here might be shortened for readability.
+
+<!-- {
+ "blockType": "response",
+ "truncated": true,
+ "@odata.type": "Collection(microsoft.graph.security.fileThreatSubmission)"
+}
+-->
+``` http
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{
+ "value": [
+ {
+ "@odata.context": "https://graph.microsoft.com/beta/$metadata#security/threatSubmission/fileThreatSubmission/$entity",
+ "@odata.type": "#microsoft.graph.fileThreatSubmission",
+ "category": "malware",
+ "id": "49c5ef5b-1f65-444a-e6b9-08d772ea2059",
+ "createdDateTime": "2021-10-10T03:30:18.6890937Z",
+ "contentType": "file",
+ "fileName": "test.html",
+ "status": "running",
+ "source": "administrator",
+ "createdBy": {
+ "user": {
+ "identity": "c52ce8db-3e4b-4181-93c4-7d6b6bffaf60",
+ "displayName": "Ronald Admin",
+ "email": "tifc@a830edad9050849eqtpwbjzxodq.onmicrosoft.com"
+ }
+ },
+ "result": {
+ "detail": "underInvestigation"
+ },
+ "adminReview": null,
+ "tenantId" : "39238e87-b5ab-4ef6-a559-af54c6b07b42"
+ }
+ ]
+}
+```
+
v1.0 Security Filethreatsubmission Post Filethreats https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/security-filethreatsubmission-post-filethreats.md
+
+ Title: "Create fileThreatSubmission"
+description: "Create a new fileThreatSubmission object."
+
+ms.localizationpriority: medium
++
+# Create fileThreatSubmission
+Namespace: microsoft.graph.security
++
+Create a new [fileThreatSubmission](../resources/security-filethreatsubmission.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)|ThreatSubmission.ReadWrite,ThreatSubmission.ReadWrite.All|
+|Delegated (personal Microsoft account)|Not supported|
+|Application|ThreatSubmission.ReadWrite.All|
+
+## HTTP request
+
+<!-- {
+ "blockType": "ignored"
+}
+-->
+``` http
+POST /security/threatSubmission/fileThreats
+```
+
+## 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 [fileContentThreatSubmission](../resources/security-filecontentthreatsubmission.md) object. The [fileUrlContentThreatSubmission](../resources/security-fileurlthreatsubmission.md) is reserved and not supported as of today.
+
+## Response
+
+If successful, this method returns a `201 Created` response code and a [fileThreatSubmission](../resources/security-filethreatsubmission.md) object in the response body.
+
+## Examples
+
+### Request
+The following is an example of a request.
+<!-- {
+ "blockType": "request",
+ "name": "create_filethreatsubmission_from_filethreats"
+}
+-->
+``` http
+POST https://graph.microsoft.com/beta/security/threatSubmission/fileThreatSubmissions
+Content-type: application/json
+
+{
+ "@odata.type": "#microsoft.graph.fileContentThreatSubmission",
+ "category": "malware",
+ "fileName": "test.html",
+ "fileContent": "UmVjZWl2ZWQ6IGZyb20gTVcyUFIwME1CMDMxNC5uYW1wcmQwMC....."
+}
+```
++
+### 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.security.fileThreatSubmission"
+}
+-->
+``` http
+HTTP/1.1 201 Created
+Content-type: application/json
+
+{
+ "@odata.context": "https://graph.microsoft.com/beta/$metadata#security/threatSubmission/fileThreatSubmission/$entity",
+ "@odata.type": "#microsoft.graph.fileThreatSubmission",
+ "category": "malware",
+ "id": "49c5ef5b-1f65-444a-e6b9-08d772ea2059",
+ "createdDateTime": "2021-10-10T03:30:18.6890937Z",
+ "contentType": "file",
+ "fileName": "test.html",
+ "status": "running",
+ "source": "administrator",
+ "createdBy": {
+ "user": {
+ "identity": "c52ce8db-3e4b-4181-93c4-7d6b6bffaf60",
+ "displayName": "Ronald Admin",
+ "email": "tifc@a830edad9050849eqtpwbjzxodq.onmicrosoft.com"
+ }
+ },
+ "result": {
+ "detail": "underInvestigation"
+ },
+ "adminReview": null,
+ "tenantId" : "39238e87-b5ab-4ef6-a559-af54c6b07b42"
+}
+```
+
v1.0 Security Urlthreatsubmission Get https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/security-urlthreatsubmission-get.md
+
+ Title: "Get urlThreatSubmission"
+description: "Read the properties and relationships of an urlThreatSubmission object."
+
+ms.localizationpriority: medium
++
+# Get urlThreatSubmission
+Namespace: microsoft.graph.security
++
+Read the properties and relationships of an [urlThreatSubmission](../resources/security-urlthreatsubmission.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)|ThreatSubmission.Read,ThreatSubmission.ReadWrite,ThreatSubmission.Read.All,ThreatSubmission.ReadWrite.All|
+|Delegated (personal Microsoft account)|Not supported|
+|Application|ThreatSubmission.Read.All,ThreatSubmission.ReadWrite.All|
+
+## HTTP request
+
+<!-- {
+ "blockType": "ignored"
+}
+-->
+``` http
+GET /security/threatSubmission/urlThreats/{urlThreatsId}
+```
+
+## Optional query parameters
+Not supported.
+
+## 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 an [urlThreatSubmission](../resources/security-urlthreatsubmission.md) object in the response body.
+
+## Examples
+
+### Request
+The following is an example of a request.
+<!-- {
+ "blockType": "request",
+ "name": "get_urlthreatsubmission"
+}
+-->
+``` http
+GET https://graph.microsoft.com/beta/security/threatSubmission/urlThreats/49c5ef5b-1f65-444a-e6b9-08d772ea2059
+```
++
+### 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.security.urlThreatSubmission"
+}
+-->
+``` http
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{
+ "@odata.context": "https://graph.microsoft.com/beta/$metadata#security/threatSubmission/urlThreatSubmission/$entity",
+ "@odata.type": "#microsoft.graph.urlThreatSubmission",
+ "category": "phishing",
+ "id": "49c5ef5b-1f65-444a-e6b9-08d772ea2059",
+ "createdDateTime": "2021-10-10T03:30:18.6890937Z",
+ "contentType": "url",
+ "webUrl": "http://phishing.contoso.com",
+ "status": "running",
+ "source": "administrator",
+ "createdBy": {
+ "user": {
+ "identity": "c52ce8db-3e4b-4181-93c4-7d6b6bffaf60",
+ "displayName": "Ronald Admin",
+ "email": "tifc@a830edad9050849eqtpwbjzxodq.onmicrosoft.com"
+ }
+ },
+ "result": {
+ "detail": "underInvestigation"
+ },
+ "adminReview": null,
+ "tenantId" : "39238e87-b5ab-4ef6-a559-af54c6b07b42"
+}
+```
+
v1.0 Security Urlthreatsubmission List https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/security-urlthreatsubmission-list.md
+
+ Title: "List urlThreatSubmissions"
+description: "Get a list of the urlThreatSubmission objects and their properties."
+
+ms.localizationpriority: medium
++
+# List urlThreatSubmissions
+Namespace: microsoft.graph.security
++
+Get a list of the [urlThreatSubmission](../resources/security-urlthreatsubmission.md) objects and their properties.
+
+## 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)|ThreatSubmission.Read,ThreatSubmission.ReadWrite,ThreatSubmission.Read.All,ThreatSubmission.ReadWrite.All|
+|Delegated (personal Microsoft account)|Not supported|
+|Application|ThreatSubmission.Read.All,ThreatSubmission.ReadWrite.All|
+
+## HTTP request
+
+<!-- {
+ "blockType": "ignored"
+}
+-->
+``` http
+GET /security/threatSubmission/urlThreats
+```
+
+## Optional query parameters
+This method supports `$filter`, `$top`, `$skipToken` and `$count` 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 [urlThreatSubmission](../resources/security-urlthreatsubmission.md) objects in the response body.
+
+## Examples
+
+### Request
+<!-- {
+ "blockType": "request",
+ "name": "list_urlthreatsubmission"
+}
+-->
+``` http
+GET https://graph.microsoft.com/beta/security/threatSubmission/urlThreats
+```
++
+### Response
+>**Note:** The response object shown here might be shortened for readability.
+<!-- {
+ "blockType": "response",
+ "truncated": true,
+ "@odata.type": "Collection(microsoft.graph.security.urlThreatSubmission)"
+}
+-->
+``` http
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{
+ "value": [
+ {
+ "@odata.context": "https://graph.microsoft.com/beta/$metadata#security/threatSubmission/urlThreatSubmission/$entity",
+ "@odata.type": "#microsoft.graph.urlThreatSubmission",
+ "category": "phishing",
+ "id": "49c5ef5b-1f65-444a-e6b9-08d772ea2059",
+ "createdDateTime": "2021-10-10T03:30:18.6890937Z",
+ "contentType": "url",
+ "webUrl": "http://phishing.contoso.com",
+ "status": "running",
+ "source": "administrator",
+ "createdBy": {
+ "user": {
+ "identity": "c52ce8db-3e4b-4181-93c4-7d6b6bffaf60",
+ "displayName": "Ronald Admin",
+ "email": "tifc@a830edad9050849eqtpwbjzxodq.onmicrosoft.com"
+ }
+ },
+ "result": {
+ "detail": "underInvestigation"
+ },
+ "adminReview": null,
+ "tenantId" : "39238e87-b5ab-4ef6-a559-af54c6b07b42"
+ }
+ ]
+}
+```
+
v1.0 Security Urlthreatsubmission Post Urlthreats https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/security-urlthreatsubmission-post-urlthreats.md
+
+ Title: "Create urlThreatSubmission"
+description: "Create a new urlThreatSubmission object."
+
+ms.localizationpriority: medium
++
+# Create urlThreatSubmission
+Namespace: microsoft.graph.security
++
+Create a new [urlThreatSubmission](../resources/security-urlthreatsubmission.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)|ThreatSubmission.ReadWrite,ThreatSubmission.ReadWrite.All|
+|Delegated (personal Microsoft account)|Not supported|
+|Application|ThreatSubmission.ReadWrite.All|
+
+## HTTP request
+
+<!-- {
+ "blockType": "ignored"
+}
+-->
+``` http
+POST /security/threatSubmission/urlThreats
+```
+
+## 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 [urlThreatSubmission](../resources/security-urlthreatsubmission.md) object.
+
+You may also specify the following properties when creating an **urlThreatSubmission**.
+
+|Property|Type|Description|
+|:|:|:|
+|category|submissionCategory|Inherited from [threatSubmission](../resources/security-threatsubmission.md) and required field. The possible values are: `notJunk`, `spam`, `phishing`, `malware`, `unknownFutureValue`. It is use to tell what you are reporting the URL as.|
+|webUrl|String|The webUrl to be submitted. Required.|
+++
+## Response
+
+If successful, this method returns a `201 Created` response code and an [urlThreatSubmission](../resources/security-urlthreatsubmission.md) object in the response body.
+
+## Examples
+
+### Request
+The following is an example of a request.
+<!-- {
+ "blockType": "request",
+ "name": "create_urlthreatsubmission_from_urlthreats"
+}
+-->
+``` http
+POST https://graph.microsoft.com/beta/security/threatSubmission/urlThreats
+Content-type: application/json
+
+{
+ "@odata.type": "#microsoft.graph.urlThreatSubmission",
+ "category": "phishing",
+ "webUrl": "http://phishing.contoso.com"
+}
+```
++
+### 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.security.urlThreatSubmission"
+}
+-->
+``` http
+HTTP/1.1 201 Created
+Content-type: application/json
+
+{
+ "@odata.context": "https://graph.microsoft.com/beta/$metadata#security/threatSubmission/urlThreatSubmission/$entity",
+ "@odata.type": "#microsoft.graph.urlThreatSubmission",
+ "category": "phishing",
+ "id": "49c5ef5b-1f65-444a-e6b9-08d772ea2059",
+ "createdDateTime": "2021-10-10T03:30:18.6890937Z",
+ "contentType": "url",
+ "webUrl": "http://phishing.contoso.com",
+ "status": "running",
+ "source": "administrator",
+ "createdBy": {
+ "user": {
+ "identity": "c52ce8db-3e4b-4181-93c4-7d6b6bffaf60",
+ "displayName": "Ronald Admin",
+ "email": "tifc@a830edad9050849eqtpwbjzxodq.onmicrosoft.com"
+ }
+ },
+ "result": {
+ "detail": "underInvestigation"
+ },
+ "adminReview": null,
+ "tenantId" : "39238e87-b5ab-4ef6-a559-af54c6b07b42"
+}
+```
+
v1.0 Team Get Photo https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/team-get-photo.md
- Title: "Get team photo"
-description: "Get the photo (picture) for a team."
-
-doc_type: apiPageType
--
-# Get team photo
-
-Namespace: microsoft.graph
--
-Get the photo (picture) for a team, or metadata for the photo.
-
-This method first attempts to retrieve the specified photo from Microsoft 365. If the photo is not available in Microsoft 365, it attempts to retrieve the photo from Azure Active Directory instead.
-
-## 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) | Team.ReadBasic.All, TeamSettings.Read.All, TeamSettings.ReadWrite.All, Group.Read.All**, Group.ReadWrite.All**, Directory.Read.All**, Directory.ReadWrite.All** |
-|Delegated (personal Microsoft account) | Not supported. |
-|Application | TeamSettings.Read.Group*, TeamSettings.ReadWrite.Group*, Team.ReadBasic.All, TeamSettings.Read.All, TeamSettings.ReadWrite.All, Group.Read.All**, Group.ReadWrite.All**, Directory.Read.All**, Directory.ReadWrite.All** |
--
-> **Note**: This API supports admin permissions. Global admins and Microsoft Teams service admins can access teams that they are not a member of.
-
-## HTTP request
-
-### Get the metadata of the photo
-
-This endpoint will return the metadata of the photo.
-
-<!-- {
- "blockType": "ignored"
-}-->
-
-```http
-GET /teams/{id}/photo
-```
-
-### Get the photo
-
-This endpoint will retrieve the binary data for the photo.
-
-<!-- {
- "blockType": "ignored"
-}-->
-
-```http
-GET /teams/{id}/photo/$value
-```
-
-## Request headers
-
-| Header | Value |
-|:--|:-- |
-| Authorization | Bearer {token}. Required. |
-
-## Request body
-
-Do not supply a body for this request.
-
-## Response
-
-### Response for getting the metadata of a photo
-
-If successful, this method returns a `200 OK` response code, and metadata about the photo.
-
-### Response for getting the photo
-
-If successful, this method returns a `200 OK` response code, and the binary data for the photo.
-
-## Examples
-
-### Example 1: Get the photo metadata
-
-#### Request
-
-Here is an example of the request to get the metadata of the team photo.
-
-<!-- {
- "blockType": "ignored",
- "name": "get_team_photo_metadata"
-}-->
-```http
-GET https://graph.microsoft.com/beta/teams/{id}/photo
-```
-
-#### Response
-
-Here is an example of the response.
-
-> **Note:** The response object shown here might be shortened for readability.
-
-<!-- {
- "blockType": "response"
-} -->
-
-```http
-HTTP/1.1 200 OK
-Content-type: application/json
-
-{
- "@odata.context": "https://graph.microsoft.com/beta/$metadata#teams('ddfcd489-628b-7d04-b48b-20075df800e5')/photo/$entity",
- "@odata.id": "https://graph.microsoft.com/beta/teams('ddfcd489-628b-7d04-b48b-20075df800e5')/photo",
- "@odata.mediaContentType": "image/jpeg",
- "@odata.mediaEtag": "\"BA09D118\"",
- "id": "240X240",
- "width": 240,
- "height": 240
-}
-```
-
-### Example 2: Get the team photo's binary data
-
-Here is an example of the request to get the team photo's binary data.
-
-#### Request
-
-<!-- {
- "blockType": "ignored",
- "name": "get_team_photo"
-}-->
-```http
-GET https://graph.microsoft.com/beta/teams/{id}/photo/$value
-```
-
-#### Response
-
-Contains the binary data of the requested photo. The HTTP response code is 200.
-
-<!-- uuid: 8fcb5dbc-d5aa-4681-8e31-b001d5168d79
-2015-10-25 14:57:30 UTC -->
-<!--
-{
- "type": "#page.annotation",
- "description": "Get team photo",
- "keywords": "",
- "section": "documentation",
- "tocPath": "",
- "suppressions": [
- ]
-}
>
v1.0 Windowsupdates Operationalinsightsconnection Delete https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/windowsupdates-operationalinsightsconnection-delete.md
+
+ Title: "Delete operationalInsightsConnection"
+description: "Delete an operationalInsightsConnection object."
+
+ms.localizationpriority: medium
++
+# Delete operationalInsightsConnection
+Namespace: microsoft.graph.windowsUpdates
++
+Delete an [operationalInsightsConnection](../resources/windowsupdates-operationalinsightsconnection.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)|WindowsUpdates.ReadWrite.All|
+|Delegated (personal Microsoft account)|Not supported.|
+|Application|WindowsUpdates.ReadWrite.All|
+
+## HTTP request
+
+<!-- {
+ "blockType": "ignored"
+}
+-->
+``` http
+DELETE /admin/windows/updates/resourceConnections/{operationalInsightsConnectionId}
+```
+
+## 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_operationalinsightsconnection"
+}
+-->
+``` http
+DELETE https://graph.microsoft.com/beta/admin/windows/updates/resourceConnections/fbb71b85-4173-0bf6-d2bc-ee7921b80cb0
+```
++
+### Response
+The following is an example of the response.
+<!-- {
+ "blockType": "response",
+ "truncated": true
+}
+-->
+``` http
+HTTP/1.1 204 No Content
+```
+
v1.0 Windowsupdates Operationalinsightsconnection Get https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/windowsupdates-operationalinsightsconnection-get.md
+
+ Title: "Get operationalInsightsConnection"
+description: "Read the properties and relationships of an operationalInsightsConnection object."
+
+ms.localizationpriority: medium
++
+# Get operationalInsightsConnection
+Namespace: microsoft.graph.windowsUpdates
++
+Read the properties and relationships of an [operationalInsightsConnection](../resources/windowsupdates-operationalinsightsconnection.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)|WindowsUpdates.ReadWrite.All|
+|Delegated (personal Microsoft account)|Not supported.|
+|Application|WindowsUpdates.ReadWrite.All|
+
+## HTTP request
+
+<!-- {
+ "blockType": "ignored"
+}
+-->
+``` http
+GET /admin/windows/updates/resourceConnections/{operationalInsightsConnectionId}
+```
+
+## 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 an [operationalInsightsConnection](../resources/windowsupdates-operationalinsightsconnection.md) object in the response body.
+
+## Examples
+
+### Request
+The following is an example of a request.
+<!-- {
+ "blockType": "request",
+ "name": "get_operationalinsightsconnection"
+}
+-->
+``` http
+GET https://graph.microsoft.com/beta/admin/windows/updates/resourceConnections/fbb71b85-4173-0bf6-d2bc-ee7921b80cb0
+```
++
+### 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.windowsUpdates.operationalInsightsConnection"
+}
+-->
+``` http
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{
+ "value": {
+ "@odata.type": "#microsoft.graph.windowsUpdates.operationalInsightsConnection",
+ "id": "fbb71b85-4173-0bf6-d2bc-ee7921b80cb0",
+ "state": "connected",
+ "azureSubscriptionId": "322ec614-e9c2-4cd5-a55c-5711fdecf02e",
+ "azureResourceGroupName": "target-resource-group",
+ "workspaceName": "my-workspace"
+ }
+}
+```
+
v1.0 Windowsupdates Resourceconnection Delete https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/windowsupdates-resourceconnection-delete.md
+
+ Title: "Delete resourceConnection"
+description: "Delete a resourceConnection object."
+
+ms.localizationpriority: medium
++
+# Delete resourceConnection
+Namespace: microsoft.graph.windowsUpdates
++
+Delete a [resourceConnection](../resources/windowsupdates-resourceconnection.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)|WindowsUpdates.ReadWrite.All|
+|Delegated (personal Microsoft account)|Not supported.|
+|Application|WindowsUpdates.ReadWrite.All|
+
+## HTTP request
+
+<!-- {
+ "blockType": "ignored"
+}
+-->
+``` http
+DELETE /admin/windows/updates/resourceConnections/{resourceConnectionId}
+```
+
+## 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_resourceConnection"
+}
+-->
+``` http
+DELETE https://graph.microsoft.com/beta/admin/windows/updates/resourceConnections/85fbecb2-e407-34e9-9298-4d587857795d
+```
++
+### Response
+The following is an example of the response.
+<!-- {
+ "blockType": "response",
+ "truncated": true
+}
+-->
+``` http
+HTTP/1.1 204 No Content
+```
+
v1.0 Windowsupdates Resourceconnection Get https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/windowsupdates-resourceconnection-get.md
+
+ Title: "Get resourceConnection"
+description: "Read the properties and relationships of a resourceConnection object."
+
+ms.localizationpriority: medium
++
+# Get resourceConnection
+Namespace: microsoft.graph.windowsUpdates
++
+Read the properties and relationships of a [resourceConnection](../resources/windowsupdates-resourceconnection.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)|WindowsUpdates.ReadWrite.All|
+|Delegated (personal Microsoft account)|Not supported.|
+|Application|WindowsUpdates.ReadWrite.All|
+
+## HTTP request
+
+<!-- {
+ "blockType": "ignored"
+}
+-->
+``` http
+GET /admin/windows/updates/resourceConnections/{resourceConnectionId}
+```
+
+## 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 [resourceConnection](../resources/windowsupdates-resourceconnection.md) object in the response body.
+
+## Examples
+
+### Request
+The following is an example of a request.
+<!-- {
+ "blockType": "request",
+ "name": "get_resourceconnection"
+}
+-->
+``` http
+GET https://graph.microsoft.com/beta/admin/windows/updates/resourceConnections/85fbecb2-e407-34e9-9298-4d587857795d
+```
++
+### 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.windowsUpdates.resourceConnection"
+}
+-->
+``` http
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{
+ "value": {
+ "@odata.type": "#microsoft.graph.windowsUpdates.resourceConnection",
+ "id": "85fbecb2-e407-34e9-9298-4d587857795d",
+ "state": "connected"
+ }
+}
+```
+
v1.0 Windowsupdates Updates List Resourceconnections Operationalinsightsconnection https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/windowsupdates-updates-list-resourceconnections-operationalinsightsconnection.md
+
+ Title: "List operationalInsightsConnections"
+description: "Get a list of the operationalInsightsConnection objects and their properties."
+
+ms.localizationpriority: medium
++
+# List operationalInsightsConnections
+Namespace: microsoft.graph.windowsUpdates
++
+Get a list of the [operationalInsightsConnection](../resources/windowsupdates-operationalinsightsconnection.md) objects and their properties.
+
+## 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)|WindowsUpdates.ReadWrite.All|
+|Delegated (personal Microsoft account)|Not supported.|
+|Application|WindowsUpdates.ReadWrite.All|
+
+## HTTP request
+
+<!-- {
+ "blockType": "ignored"
+}
+-->
+``` http
+GET /admin/windows/updates/resourceConnections/microsoft.graph.windowsUpdates.operationalInsightsConnection
+```
+
+## 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 [operationalInsightsConnection](../resources/windowsupdates-operationalinsightsconnection.md) objects in the response body.
+
+## Examples
+
+### Request
+The following is an example of a request.
+<!-- {
+ "blockType": "request",
+ "name": "list_operationalinsightsconnection"
+}
+-->
+``` http
+GET https://graph.microsoft.com/beta/admin/windows/updates/resourceConnections/microsoft.graph.windowsUpdates.operationalInsightsConnection
+```
++
+### 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.windowsUpdates.operationalInsightsConnection",
+ "isCollection": true
+}
+-->
+``` http
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{
+ "value": [
+ {
+ "@odata.type": "#microsoft.graph.windowsUpdates.operationalInsightsConnection",
+ "id": "fbb71b85-4173-0bf6-d2bc-ee7921b80cb0",
+ "state": "connected",
+ "azureSubscriptionId": "322ec614-e9c2-4cd5-a55c-5711fdecf02e",
+ "azureResourceGroupName": "target-resource-group",
+ "workspaceName": "my-workspace"
+ }
+ ]
+}
+```
+
v1.0 Windowsupdates Updates List Resourceconnections https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/windowsupdates-updates-list-resourceconnections.md
+
+ Title: "List resourceConnections"
+description: "Get a list of the resourceConnection objects and their properties."
+
+ms.localizationpriority: medium
++
+# List resourceConnections
+Namespace: microsoft.graph.windowsUpdates
++
+Get a list of the [resourceConnection](../resources/windowsupdates-resourceconnection.md) objects and their properties.
+
+## 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)|WindowsUpdates.ReadWrite.All|
+|Delegated (personal Microsoft account)|Not supported.|
+|Application|WindowsUpdates.ReadWrite.All|
+
+## HTTP request
+
+<!-- {
+ "blockType": "ignored"
+}
+-->
+``` http
+GET /admin/windows/updates/resourceConnections
+```
+
+## 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 [resourceConnection](../resources/windowsupdates-resourceconnection.md) objects in the response body.
+
+## Examples
+
+### Request
+The following is an example of a request.
+<!-- {
+ "blockType": "request",
+ "name": "list_resourceconnection"
+}
+-->
+``` http
+GET https://graph.microsoft.com/beta/admin/windows/updates/resourceConnections
+```
++
+### 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.windowsUpdates.resourceConnection",
+ "isCollection": true
+}
+-->
+``` http
+HTTP/1.1 200 OK
+Content-Type: application/json
+
+{
+ "value": [
+ {
+ "@odata.type": "#microsoft.graph.windowsUpdates.resourceConnection",
+ "id": "85fbecb2-e407-34e9-9298-4d587857795d",
+ "state": "connected"
+ }
+ ]
+}
+```
+
v1.0 Windowsupdates Updates Post Resourceconnections Operationalinsightsconnection https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/api/windowsupdates-updates-post-resourceconnections-operationalinsightsconnection.md
+
+ Title: "Create operationalInsightsConnection"
+description: "Create a new operationalInsightsConnection object."
+
+ms.localizationpriority: medium
++
+# Create operationalInsightsConnection
+Namespace: microsoft.graph.windowsUpdates
++
+Create a new [operationalInsightsConnection](../resources/windowsupdates-operationalinsightsconnection.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)|WindowsUpdates.ReadWrite.All|
+|Delegated (personal Microsoft account)|Not supported.|
+|Application|WindowsUpdates.ReadWrite.All|
+
+## HTTP request
+
+<!-- {
+ "blockType": "ignored"
+}
+-->
+``` http
+POST /admin/windows/updates/resourceConnections
+```
+
+## 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 [operationalInsightsConnection](../resources/windowsupdates-operationalinsightsconnection.md) object.
+
+You must specify the following properties when you create an **operationalInsightsConnection**.
+
+|Property|Type|Description|
+|:|:|:|
+|azureResourceGroupName|String|The name of the Azure resource group that contains the Log Analytics workspace.|
+|azureSubscriptionId|String|The Azure subscription ID that contains the Log Analytics workspace.|
+|workspaceName|String|The name of the Log Analytics workspace.|
+
+## Response
+
+If successful, this method returns a `201 Created` response code and an [operationalInsightsConnection](../resources/windowsupdates-operationalinsightsconnection.md) object in the response body.
+
+The following errors are possible:
+
+|Response Code|Message|
+|:|:|
+|`400 Bad Request`|The specified workspace was not able to be linked. Verify that the key properties are correct.|
+|`403 Forbidden`|The specified workspace was not able to be linked. Verify that the Azure subscription is active.|
+|`409 Conflict`|The specified resource already exists.|
+
+## Examples
+
+### Request
+The following is an example of a request.
+<!-- {
+ "blockType": "request",
+ "name": "create_operationalInsightsConnection_from_"
+}
+-->
+``` http
+POST https://graph.microsoft.com/beta/admin/windows/updates/resourceConnections
+Content-Type: application/json
+Content-length: 97
+
+{
+ "@odata.type": "#microsoft.graph.windowsUpdates.operationalInsightsConnection",
+ "azureSubscriptionId": "322ec614-e9c2-4cd5-a55c-5711fdecf02e",
+ "azureResourceGroupName": "target-resource-group",
+ "workspaceName": "my-workspace"
+}
+```
++
+### 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.windowsUpdates.operationalInsightsConnection"
+}
+-->
+``` http
+HTTP/1.1 201 Created
+Content-Type: application/json
+
+{
+ "@odata.type": "#microsoft.graph.windowsUpdates.operationalInsightsConnection",
+ "id": "85fbecb2-e407-34e9-9298-4d587857795d",
+ "azureSubscriptionId": "322ec614-e9c2-4cd5-a55c-5711fdecf02e",
+ "azureResourceGroupName": "target-resource-group",
+ "workspaceName": "my-workspace",
+ "state": "connected"
+}
+```
v1.0 Admin https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/admin.md
None.
## Relationships |Relationship|Type|Description| |:|:|:|
+| reportSettings |[microsoft.graph.adminReportSettings](../resources/adminreportsettings.md)|A container for administrative resources to manage reports.|
| serviceAnnouncement | [serviceAnnouncement](serviceannouncement.md) | A container for service communications resources. Read-only. | | sharepoint |[microsoft.graph.tenantAdmin.sharepoint](../resources/tenantadmin-sharepoint.md)|A container for administrative resources to manage tenant-level settings for SharePoint and OneDrive.| | windows |[microsoft.graph.windowsUpdates.windows](../resources/windowsupdates-windows.md)|A container for all Windows Update for Business deployment service functionality. Read-only.|
v1.0 Adminreportsettings https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/adminreportsettings.md
+
+ Title: "adminReportSettings resource type"
+description: "Represents the tenant-level settings for Microsoft 365 reports."
+ms.localizationpriority: medium
+++
+# adminReportSettings resource type
+
+Namespace: microsoft.graph
++
+Represents the tenant-level settings for Microsoft 365 reports.
+
+## Methods
+
+|Method|Return type|Description|
+|:|:|:|
+|[Get adminReportSettings](../api/adminreportsettings-get.md)|[adminReportSettings](../resources/adminreportsettings.md)|Get the tenant-level settings for Microsoft 365 Reports.|
+|[Update adminReportSettings](../api/adminreportsettings-update.md)|[adminReportSettings](../resources/adminreportsettings.md)|Update tenant-level settings for Microsoft 365 Reports.|
+
+## Properties
+
+| Property | Type | Description |
+| -- | -- | - |
+| displayConcealedNames | Boolean | If set to `true`, all reports will conceal user information such as usernames, groups, and sites. If `false`, all reports will show identifiable information. This property represents a setting in the Microsoft 365 admin center. Required. |
+
+## JSON representation
+
+The following is a JSON representation of the resource.
+<!-- {
+ "blockType": "resource",
+ "@odata.type": "microsoft.graph.adminReportSettings",
+ "baseType": "microsoft.graph.entity",
+ "openType": false
+}
+-->
+``` json
+{
+ "@odata.type": "#microsoft.graph.adminReportSettings",
+ "displayConcealedNames": "Boolean"
+}
+```
v1.0 Delegatedadminrelationships Api Overview https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/delegatedadminrelationships-api-overview.md
The status of the Delegated Admin access assignment. The status transitions are
## Permissions
-To manage delegated admin relationships, the calling principal must be in the partner tenant and be granted the appropriate [granular delegated admin privileges permissions](/graph/permissions-reference#delegated-admin-relationship-permissions).
+To manage delegated admin relationships, the calling principal must be in the partner tenant and be granted the appropriate [granular delegated admin privileges permissions](/graph/permissions-reference#granular-delegated-admin-privileges-gdap-permissions).
## See also
v1.0 Employeeexperience https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/employeeexperience.md
+
+ Title: "employeeExperience resource type"
+description: "Represents a container that exposes navigation properties for employee experience resources."
+
+ms.localizationpriority: medium
++
+# employeeExperience resource type
+
+Namespace: microsoft.graph
++
+Represents a container that exposes navigation properties for employee experience resources.
+
+## Properties
+None.
+
+## Relationships
+|Relationship|Type|Description|
+|:|:|:|
+|learningProviders|[learningProvider](../resources/learningprovider.md) collection|A collection of learning providers.|
+
+## JSON representation
+The following is a JSON representation of the resource.
+<!-- {
+ "blockType": "resource",
+ "keyProperty": "id",
+ "@odata.type": "microsoft.graph.employeeExperience",
+ "openType": false
+}
+-->
+``` json
+{
+ "@odata.type": "#microsoft.graph.employeeExperience"
+}
+```
v1.0 Enums Windowsupdates https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/enums-windowsupdates.md
Namespace: microsoft.graph.windowsUpdates
|archived| |unknownFutureValue|
+### resourceConnectionState values
+
+|Member|
+|:|
+|connected|
+|notAuthorized|
+|notFound|
+|unknownFutureValue|
+ ### safeguardCategory values |Member|
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
|terminating| |terminationRequested| |unknownFutureValue|+
+### longRunningOperationStatus values
+
+|Member|
+|:|
+|notStarted|
+|running|
+|succeeded|
+|failed|
+|skipped|
+|unknownFutureValue|
+
+### submissionCategory values
+
+|Member|
+|:|
+|notJunk|
+|spam|
+|phishing|
+|malware|
+|unknownFutureValue|
+
+### submissionClientSource values
+
+|Member|
+|:|
+|microsoft|
+|other|
+|unknownFutureValue|
+
+### submissionContentType values
+
+|Member|
+|:|
+|email|
+|url|
+|file|
+|app|
+|unknownFutureValue|
+
+### submissionResultCategory values
+
+|Member|
+|:|
+|notJunk|
+|spam|
+|phishing|
+|malware|
+|allowedByPolicy|
+|blockedByPolicy|
+|spoof|
+|unknown|
+|noResultAvailable|
+|unknownFutureValue|
+
+### submissionSource values
+
+|Member|
+|:|
+|user|
+|administrator|
+|unknownFutureValue|
+
+### tenantAllowBlockListAction values
+
+|Member|
+|:|
+|allow|
+|block|
+|unknownFutureValue|
+
+### tenantAllowBlockListEntryType values
+
+|Member|
+|:|
+|url|
+|fileHash|
+|sender|
+|recipient|
+|unknownFutureValue|
v1.0 Identity https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/identity.md
-
-description: "The Identity resource represents an identity of an actor."
Previously updated : 09/14/2017 Title: Identity+
+ Title: "identity resource type"
+description: "Represents an identity of an actor."
ms.localizationpriority: medium doc_type: resourcePageType ms.prod: files
Namespace: microsoft.graph
[!INCLUDE [beta-disclaimer](../../includes/beta-disclaimer.md)]
-The **Identity** resource represents an identity of an _actor_.
-For example, an actor can be a user, device, or application.
+Represents an identity of an _actor_. For example, an actor can be a user, device, or application.
+
+In some circumstances, the unique identifier for the actor might not be available. In this case, the **displayName** property for the identity will be returned, but the **id** property will be missing from the resource.
+
+## Properties
+
+| Property | Type | Description |
+|:--|:-|:-|
+| displayName | String | The display name of the identity. Note that this might not always be available or up to date. For example, if a user changes their display name, the API might show the new value in a future response, but the items associated with the user won't show up as having changed when using [delta](../api/driveitem-delta.md). |
+| id | String | Unique identifier for the identity. |
+| tenantId | String | Unique identity of the tenant (optional). |
## JSON representation
For example, an actor can be a user, device, or application.
} ```
-## Properties
-
-| Property | Type | Description |
-|:--|:-|:-|
-| displayName | String | The identity's display name. Note that this may not always be available or up to date. For example, if a user changes their display name, the API may show the new value in a future response, but the items associated with the user won't show up as having changed when using [delta](../api/driveitem-delta.md). |
-| id | String | Unique identifier for the identity. |
-| tenantId | String | Unique identity of the tenant (optional). |
-
-## Remarks
-
-In some circumstances, the unique identifier for the actor may not be available.
-In this case, the **displayName** property for the identity will be returned, but the **id** property will be missing from the resource.
- <!-- uuid: 8fcb5dbc-d5aa-4681-8e31-b001d5168d79 2015-10-25 14:57:30 UTC --> <!--
v1.0 Learningcontent https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/learningcontent.md
+
+ Title: "learningContent resource type"
+description: "Represents an entity that holds details about learning content."
+
+ms.localizationpriority: medium
++
+# learningContent resource type
+
+Namespace: microsoft.graph
++
+Represents the metadata of content for employee learning.
+
+## Methods
+|Method|Return type|Description|
+|:|:|:|
+|[List learningContents](../api/learningprovider-list-learningcontents.md)|[learningContent](../resources/learningcontent.md) collection|Get a list of the [learningContent](../resources/learningcontent.md) resources and their properties. This list represents the metadata of the specified provider's content in Viva Learning.|
+|[Get learningContent](../api/learningcontent-get.md)|[learningContent](../resources/learningcontent.md)|Get the specified learningContent resource, which represents the metadata of the specified provider's ingested content.|
+|[Update learningContent](../api/learningcontent-update.md)|[learningContent](../resources/learningcontent.md)|Update the specified [learningContent](../resources/learningcontent.md) resource. Used by a [learning provider](learningprovider.md) to ingest or update the metadata for their content in Viva Learning.|
+|[Delete learningContent](../api/learningprovider-delete-learningcontents.md)|None|Delete the specified learningContent resource which represents the metadata of the specified provider's ingested content.|
+
+## Properties
+|Property|Type|Description|
+|:|:|:|
+|additionalTags|String collection|Keywords, topics, and other tags associated with the learning content. Optional.|
+|contentWebUrl|String|The content web URL for the learning content. Required.|
+|contributor|String|The author, creator, or contributor of the learning content. Optional.|
+|createdDateTime|DateTimeOffset|The date when the learning content was 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`. Optional.|
+|description|String|The description or summary for the learning content. Optional.|
+|duration|Duration|The duration of the learning content in seconds. Optional.|
+|externalId|String|Unique external content ID for the learning content. Required.|
+|format|String|The format of the learning content. For example, `Course`, `Video`, `Book`, `Book Summary`, `Audiobook Summary`. Optional.|
+|isActive|Boolean|Indicates whether the content is active or not. Inactive content will not show up in the UI. The default value is `true`. Optional.|
+|isPremium|Boolean|Indicates whether the learning content requires the user to sign-in on the learning provider platform or not. The default value is `false`. Optional.|
+|isSearchable|Boolean|Indicates whether the learning content is searchable or not. The default value is `true`. Optional.|
+|languageTag|String|The language of the learning content, for example, `en-us` or `fr-fr`. Required.|
+|lastModifiedDateTime|DateTimeOffset|The date when the learning content was last modified. 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`. Optional.|
+|numberOfPages|Int32|The number of pages of the learning content, for example, 9. Optional.|
+|skillTags|String collection|The skills tags associated with the learning content. Optional.|
+|sourceName|String|The source name of the learning content, such as `LinkedIn Learning` or `Coursera`. Optional.|
+|thumbnailWebUrl|String|The URL of learning content thumbnail image. Optional.|
+|title|String|The title of the learning content. Required.|
+
+## Relationships
+None.
+
+## JSON representation
+The following is a JSON representation of the resource.
+<!-- {
+ "blockType": "resource",
+ "keyProperty": "id",
+ "@odata.type": "microsoft.graph.learningContent",
+ "openType": false
+}
+-->
+``` json
+{
+ "@odata.type": "#microsoft.graph.learningContent",
+ "additionalTags": [
+ "String"
+ ],
+ "contentWebUrl": "String",
+ "contributor": "String",
+ "createdDateTime": "String (timestamp)",
+ "description": "String",
+ "duration": "String (duration)",
+ "externalId": "String",
+ "format": "String",
+ "isActive": "Boolean",
+ "isPremium": "Boolean",
+ "isSearchable": "Boolean",
+ "languageTag": "String",
+ "lastModifiedDateTime": "String (timestamp)",
+ "numberOfPages": "Integer",
+ "skillTags": [
+ "String"
+ ],
+ "sourceName": "String",
+ "thumbnailWebUrl": "String",
+ "title": "String"
+}
+```
+
v1.0 Learningprovider https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/learningprovider.md
+
+ Title: "learningProvider resource type"
+description: "Represents an entity that holds the details about a learning provider."
+
+ms.localizationpriority: medium
++
+# learningProvider resource type
+
+Namespace: microsoft.graph
++
+Represents an entity that holds the details about a learning provider in Viva learning.
+
+## Methods
+|Method|Return type|Description|
+|:|:|:|
+|[List learningProviders](../api/employeeexperience-list-learningproviders.md)|[learningProvider](../resources/learningprovider.md) collection|Get a list of the [learningProvider](../resources/learningprovider.md) resources registered in Viva Learning for a tenant.|
+|[Create learningProvider](../api/employeeexperience-post-learningproviders.md)|[learningProvider](../resources/learningprovider.md)|Create a new [learningProvider](../resources/learningprovider.md) object and registers it with Viva Learning using the specified display name and logos for different themes.|
+|[Get learningProvider](../api/learningprovider-get.md)|[learningProvider](../resources/learningprovider.md)|Read the properties and relationships of a [learningProvider](../resources/learningprovider.md) object.|
+|[Update learningProvider](../api/learningprovider-update.md)|[learningProvider](../resources/learningprovider.md)|Update the properties of a [learningProvider](../resources/learningprovider.md) object.|
+|[Delete learningProvider](../api/employeeexperience-delete-learningproviders.md)|None|Delete a [learningProvider](../resources/learningprovider.md) resource and remove its registration in Viva Learning for the tenant.|
+
+## Properties
+|Property|Type|Description|
+|:|:|:|
+|displayName|String|The display name that appears in Viva Learning. Required.|
+|id|String|The unique identifier for the learning provider. Required.|
+|isEnabled|Boolean|The state of the provider. Optional.|
+|loginWebUrl|String|Authentication URL to access the courses for the provider. Optional.|
+|longLogoWebUrlForDarkTheme|String|The long logo URL for the dark mode, which needs to be a publicly accessible image. This image would be saved to the Blob storage of Viva Learning for rendering within the Viva Learning app. Required.|
+|longLogoWebUrlForLightTheme|String|The long logo URL for the light mode, which needs to be a publicly accessible image. This image would be saved to the Blob storage of Viva Learning for rendering within the Viva Learning app. Required.|
+|squareLogoWebUrlForDarkTheme|String|The square logo URL for the dark mode, which needs to be a publicly accessible image. This image would be saved to the Blob storage of Viva Learning for rendering within the Viva Learning app. Required.|
+|squareLogoWebUrlForLightTheme|String|The square logo URL for the light mode, which needs to be a publicly accessible image. This image would be saved to the Blob storage of Viva Learning for rendering within the Viva Learning app. Required.|
+
+## Relationships
+|Relationship|Type|Description|
+|:|:|:|
+|learningContents|[learningContent](../resources/learningcontent.md) collection|Learning catalog items for the provider.|
+
+## JSON representation
+The following is a JSON representation of the resource.
+<!-- {
+ "blockType": "resource",
+ "keyProperty": "id",
+ "@odata.type": "microsoft.graph.learningProvider",
+ "openType": false
+}
+-->
+``` json
+{
+ "@odata.type": "#microsoft.graph.learningProvider",
+ "displayName": "String",
+ "id": "String (identifier)",
+ "isEnabled": "Boolean",
+ "loginWebUrl": "String",
+ "longLogoWebUrlForDarkTheme": "String",
+ "longLogoWebUrlForLightTheme": "String",
+ "squareLogoWebUrlForDarkTheme": "String",
+ "squareLogoWebUrlForLightTheme": "String"
+}
+```
+
v1.0 Profilephoto https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/profilephoto.md
Title: "profilePhoto resource type"
-description: "A profile photo of a user, group or an Outlook contact accessed from Exchange Online or Azure Active Directory (AAD). It's binary data not encoded in base-64."
+description: "Repesents a profile photo of a user, group, team, or Outlook contact accessed from Exchange Online or Azure Active Directory (Azure AD)."
ms.localizationpriority: medium doc_type: resourcePageType ms.prod: "people"
Namespace: microsoft.graph
[!INCLUDE [beta-disclaimer](../../includes/beta-disclaimer.md)]
-A profile photo of a user, group or an Outlook contact accessed from Exchange Online or Azure Active Directory (AAD). It's binary data not encoded in base-64.
+Repesents a profile photo of a user, group, team, or Outlook contact accessed from Exchange Online or Azure Active Directory (Azure AD). The data is binary and not encoded in base-64.
-The supported sizes of HD photos on Exchange Online are as follows: '48x48', '64x64', '96x96', '120x120', '240x240',
-'360x360','432x432', '504x504', and '648x648'. On AAD, photos can be any dimension.
+The supported sizes of HD photos on Exchange Online are as follows: `48x48`, `64x64`, `96x96`, `120x120`, `240x240`,
+`360x360`,`432x432`, `504x504`, and `648x648`. In Azure AD, photos can be any dimension.
## Methods | Method | Return Type |Description| |:|:--|:-| |[Get profilePhoto](../api/profilephoto-get.md) | [profilePhoto](profilephoto.md) |Get the specified **profilePhoto** or its metadata (**profilePhoto** properties). |
-|[Update](../api/profilephoto-update.md) | [profilePhoto](profilephoto.md) |Assign a photo to the specified user, group, or contact. The photo should be in binary. It replaces the existing photo, if any. |
+|[Update profilePhoto](../api/profilephoto-update.md) | [profilePhoto](profilephoto.md) |Assign a photo to the specified user, group, team or contact. The photo should be in binary. It replaces the existing photo, if any. |
> [!NOTE]
->
> Managing users' photos using the Microsoft Graph API is currently not supported in Azure AD B2C tenants. ## Properties
The supported sizes of HD photos on Exchange Online are as follows: '48x48', '64
|width|int32|The width of the photo. Read-only.| ## Relationships
-None
+None.
## JSON representation
The following is a JSON representation of the resource.
```json {
- "id": "240X240",
+ "id": "String",
"height": 240, "width": 240 }
v1.0 Report https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/report.md
For details about the settings that govern identification/de-identification of i
Microsoft Graph controls access to resources via permissions. You must specify the permissions you need in order to access Reports resources. Typically, you specify permissions in the Azure Active Directory (Azure AD) portal. For more information, see [Microsoft Graph permissions reference](/graph/permissions-reference) and [Reports permissions](/graph/permissions-reference#reports-permissions).
+## Settings
+
+In Microsoft 365 reports, user information such as usernames, groups, and sites is concealed; actual values are not displayed. You can use the [adminReportSettings ](../resources/adminreportsettings.md) API to control the display of user information in the reports.
+ ## Cloud deployments The following table shows the availability for each API across all cloud deployments.
v1.0 Reportroot https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/reportroot.md
Title: "reportRoot resource type"
-description: "Container for Azure AD reporting resources."
+description: "Represents a container for Azure Active Directory (Azure AD) reporting resources."
ms.localizationpriority: medium ms.prod: "identity-and-access-reports"
Namespace: microsoft.graph
[!INCLUDE [beta-disclaimer](../../includes/beta-disclaimer.md)]
-Container that exposes navigation properties for Azure AD reporting resources.
+Represents a container for Azure Active Directory (Azure AD) reporting resources.
## Methods
Container that exposes navigation properties for Azure AD reporting resources.
|[getCredentialUsageSummary](../api/reportroot-getcredentialusagesummary.md)|[credentialUsageSummary](../resources/credentialusagesummary.md) collection|**TODO: Add --> ## Properties
-|Property|Type|Description|
-|:|:|:|
+None.
## Relationships |Relationship|Type|Description|
v1.0 Security Api Overview https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/security-api-overview.md
Alerts from the following providers are available via the Microsoft Graph Securi
**Labels** - Information protection labels provide details about how to properly apply a sensitivity label to information. The information protection label API describes the configuration of sensitivity labels that apply to a user or tenant.
-**Threat assessment** - The Microsoft Graph threat assessment API helps organizations to assess the threat received by any user in a tenant. This empowers customers to report spam emails, phishing URLs, or malware attachments they receive to Microsoft. The policy check result and rescan result can help tenant administrators understand the threat scanning verdict and adjust their organizational policy.
+**Threat assessment** - The Microsoft Graph threat assessment API helps organizations to assess the threat received by any user in a tenant. This empowers customers to report spam or suspicious emails, phishing URLs, or malware attachments they receive to Microsoft. Microsoft check the sample in question and the organizational policies in play before generating a result so that tenant administrators can understand the threat scanning verdict and adjust their organizational policy. They can also use it to report legitimate emails to prevent them from getting blocked.
+
+> **Note:** We recommend that you use the [threat submission](https://github.com/microsoftgraph/microsoft-graph-docs/pull/16242/files#threat-submission) API instead.
## Secure Score
Threat indicators sent via the Microsoft Graph Security API are available today
Support in other Microsoft security services will be available soon.
+## Threat submission
+
+The Microsoft Graph threat submission API helps organizations to submit a threat received by any user in a tenant. This empowers customers to report spam or suspicious emails, phishing URLs, or malware attachments they receive to Microsoft. Microsoft checks the submission against the organizational policies in effect and sends it to human graders for analysis. The result then helps tenant administrators understand the threat scanning verdict and adjust their organizational policy. Admins can also use the results to report legitimate emails to prevent them from getting blocked.
+
+> **Note: ** We recommend that you use this API instead of the deprecated Information Protection threat assessment API. The threat submission API provides unified security threat submission functionality and adds unified result support, user submission query support, tenant allow block list support, admin review support and app-only mode support.
## Common use cases
The following are some of the most popular requests for working with the Microso
|Submit TI Indicators|[Submit tiIndicators](../api/tiindicator-submittiindicators.md)| [https://graph.microsoft.com/beta/security/tiIndicators/submitTiIndicators](https://developer.microsoft.com/graph/graph-explorer?request=security/tiIndicators/submitTiIndicators&method=POST&version=beta&GraphUrl=https://graph.microsoft.com) | |Update TI Indicators|[Update tiIndicator](../api/tiindicator-update.md) </br>[Update multiple tiIndicators](../api/tiindicator-updatetiindicators.md)| [https://graph.microsoft.com/beta/security/tiIndicators/{id}](https://developer.microsoft.com/graph/graph-explorer?request=security/tiIndicators/{id}&method=POST&version=beta&GraphUrl=https://graph.microsoft.com) </br>[https://graph.microsoft.com/beta/security/tiIndicators/updateTiIndicators](https://developer.microsoft.com/graph/graph-explorer?request=security/tiIndicators/updateTiIndicators&method=POST&version=beta&GraphUrl=https://graph.microsoft.com)| |Delete TI Indicators|[Delete tiIndicator](../api/tiindicator-delete.md) </br>[Delete multiple tiIndicators](../api/tiindicator-deletetiindicators.md) </br>[Delete tiIndicator by externalId](../api/tiindicator-deletetiindicatorsbyexternalid.md)| DELETE </br>[https://graph.microsoft.com/beta/security/tiIndicators/{id}](https://developer.microsoft.com/graph/graph-explorer?request=security/tiIndicators/{id}&method=DELETE&version=beta&GraphUrl=https://graph.microsoft.com) </br>POST</br>[https://graph.microsoft.com/beta/security/tiIndicators/deleteTiIndicators](https://developer.microsoft.com/graph/graph-explorer?request=security/tiIndicators/deleteTiIndicators&method=POST&version=beta&GraphUrl=https://graph.microsoft.com)</br>POST</br>[https://graph.microsoft.com/beta/security/tiIndicators/deleteTiIndicatorsByExternalId](https://developer.microsoft.com/graph/graph-explorer?request=security/tiIndicators/deleteTiIndicatorsByExternalId&method=POST&version=beta&GraphUrl=https://graph.microsoft.com)|
+| **Threat submission**|||
+|Get email threat submission|[Get emailThreat](../api/security-emailthreatsubmission-get.md)| [https://graph.microsoft.com/beta/security/threatSubmission/emailThreats/{id}](https://developer.microsoft.com/graph/graph-explorer?request=security/threatSubmission/emailThreats/{id}&method=GET&version=beta&GraphUrl=https://graph.microsoft.com)|
+|List email threat submissions | [List emailThreats](../api/security-emailthreatsubmission-list.md) | [https://graph.microsoft.com/beta/threatSubmission/emailThreats](https://developer.microsoft.com/graph/graph-explorer?request=threatSubmission/emailThreats&method=GET&version=beta&GraphUrl=https://graph.microsoft.com)|
+|Create email threat submission|[Create emailThreat](../api/security-emailthreatsubmission-post-emailthreats.md)|[https://graph.microsoft.com/beta/security/threatSubmission/emailThreats](https://developer.microsoft.com/graph/graph-explorer?request=security/security/threatSubmission/emailThreats&method=POST&version=beta&GraphUrl=https://graph.microsoft.com)|
+|Review email threat submission|[Review emailThreat](../api/security-emailthreatsubmission-review.md)|[https://graph.microsoft.com/beta/security/threatSubmission/emailThreats/{id}/review](https://developer.microsoft.com/graph/graph-explorer?request=security/security/threatSubmission//emailThreats/{id}/review&method=POST&version=beta&GraphUrl=https://graph.microsoft.com)|
+|Get file threat submission|[Get fileThreat](../api/security-filethreatsubmission-get.md)| [https://graph.microsoft.com/beta/security/threatSubmission/fileThreats/{id}](https://developer.microsoft.com/graph/graph-explorer?request=security/threatSubmission/urlThreats/{id}&method=GET&version=beta&GraphUrl=https://graph.microsoft.com)|
+|List file threat submissions | [List fileThreats](../api/security-filethreatsubmission-list.md) | [https://graph.microsoft.com/beta/threatSubmission/urlThreats](https://developer.microsoft.com/graph/graph-explorer?request=threatSubmission/fileThreats&method=GET&version=beta&GraphUrl=https://graph.microsoft.com)|
+|Create file threat submission|[Create fileThreat](../api/security-filethreatsubmission-post-fileThreats.md)|[https://graph.microsoft.com/beta/security/threatSubmission/fileThreats](https://developer.microsoft.com/graph/graph-explorer?request=security/security/threatSubmission/fileThreats&method=POST&version=beta&GraphUrl=https://graph.microsoft.com)|
+|Get url threat submission|[Get urlThreat](../api/security-urlthreatsubmission-get.md)| [https://graph.microsoft.com/beta/security/threatSubmission/urlThreats/{id}](https://developer.microsoft.com/graph/graph-explorer?request=security/threatSubmission/urlThreats/{id}&method=GET&version=beta&GraphUrl=https://graph.microsoft.com)|
+|List url threat submissions | [List urlThreats](../api/security-urlthreatsubmission-list.md) | [https://graph.microsoft.com/beta/security/threatSubmission/urlThreats](https://developer.microsoft.com/graph/graph-explorer?request=threatSubmission/urlThreats&method=GET&version=beta&GraphUrl=https://graph.microsoft.com)|
+|Create url threat submission|[Create urlThreat](../api/security-urlthreatsubmission-post-urlthreats.md)|[https://graph.microsoft.com/beta/security/threatSubmission/urlThreats](https://developer.microsoft.com/graph/graph-explorer?request=security/security/threatSubmission/urlThreats&method=POST&version=beta&GraphUrl=https://graph.microsoft.com)|
+|Get email threat submission policy|[Get emailThreatSubmissionPolicy](../api/security-emailthreatsubmission-get.md)| [https://graph.microsoft.com/beta/security/threatSubmission/emailThreatSubmissionPolicies/{id}](https://developer.microsoft.com/graph/graph-explorer?request=security/threatSubmission/emailThreatSubmissionPolicies/{id}&method=GET&version=beta&GraphUrl=https://graph.microsoft.com)|
+|List email threat submission policies | [List emailThreatSubmissionPolicies](../api/security-emailthreatsubmissionpolicy-list.md) | [https://graph.microsoft.com/beta/security/threatSubmission/emailThreatSubmissionPolicies](https://developer.microsoft.com/graph/graph-explorer?request=security/threatSubmission/emailThreatSubmissionPolicies&method=GET&version=beta&GraphUrl=https://graph.microsoft.com)|
+|Create email threat submission policy|[Create emailThreatSubmissionPolicy](../api/security-emailthreatsubmission-post-emailthreats.md)|[https://graph.microsoft.com/beta/security/threatSubmission/emailThreatSubmissionPolicies](https://developer.microsoft.com/graph/graph-explorer?request=/security/threatSubmission/emailThreats&method=POST&version=beta&GraphUrl=https://graph.microsoft.com)|
+|Update email threat submission policy|[Update emailThreatSubmissionPolicy](../api/security-emailthreatsubmission-post-emailthreats.md)|[https://graph.microsoft.com/beta/security/threatSubmission/emailThreatSubmissionPolicies/{id}](https://developer.microsoft.com/graph/graph-explorer?request=security/security/threatSubmission/emailThreatSubmissionPolicies/{id}&method=PATCH&version=beta&GraphUrl=https://graph.microsoft.com)|
+|Delete email threat submission policy|[Delete emailThreatSubmissionPolicy](../api/security-emailthreatsubmissionpolicy-delete.md)|[https://graph.microsoft.com/beta/security/threatSubmission/emailThreatSubmissionPolicies/{id}](https://developer.microsoft.com/graph/graph-explorer?request=security/threatSubmission/emailThreatSubmissionPolicies/{id}&method=DELETE&version=beta&GraphUrl=https://graph.microsoft.com)|
You can use Microsoft Graph [webhooks](/graph/webhooks) to subscribe to and receive notifications about updates to Microsoft Graph Security API entities.
v1.0 Security Attacksimulationinfo https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/security-attacksimulationinfo.md
+
+ Title: "attackSimulationInfo resource type"
+description: "Represents threat submission attack simulation information"
+
+ms.localizationpriority: medium
++
+# attackSimulationInfo resource type
+
+Namespace: microsoft.graph.security
++
+Represents threat submission's attack simulation information. If an email was an attack simulation email, the email threat submission would contain corresponding attack simulation information.
+
+## Properties
+| Property | Type | Description |
+|:-|:|:-|
+| attackSimDateTime | DateTimeOffset | Specifies the date time of the attack simulation. |
+| attackSimDurationTime | Duration | Specifies the duration (in time) for the attack simulation |
+| attackSimId | Guid | Specifies the activity id for the attack simulation. |
+| attackSimUserId | String | Specifies the user id of the user who got the attack simulation email |
+
+## Relationships
+None.
+
+## JSON representation
+The following is a JSON representation of the resource.
+<!-- {
+ "blockType": "resource",
+ "@odata.type": "microsoft.graph.security.attackSimulationInfo"
+}
+-->
+``` json
+{
+ "@odata.type": "#microsoft.graph.security.attackSimulationInfo",
+ "attackSimId": "Guid",
+ "attackSimDateTime": "String (timestamp)",
+ "attackSimDurationTime": "String (duration)",
+ "attackSimUserId": "String"
+}
+```
+
v1.0 Security Emailcontentthreatsubmission https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/security-emailcontentthreatsubmission.md
+
+ Title: "emailContentThreatSubmission resource type"
+description: "Represents a threat submission related to the content of an email."
+
+ms.localizationpriority: medium
++
+# emailContentThreatSubmission resource type
+
+Namespace: microsoft.graph.security
++
+Represents a threat submission related to the content of an email. This is created when the submission is made using email file content.
+
+Inherits from [emailThreatSubmission](../resources/security-emailthreatsubmission.md).
+
+## Properties
+|Property|Type|Description|
+|:|:|:|
+|fileContent|String|Base64 encoded file content.|
+
+## Relationships
+None.
+
+## JSON representation
+The following is a JSON representation of the resource.
+<!-- {
+ "blockType": "resource",
+ "keyProperty": "id",
+ "@odata.type": "microsoft.graph.security.emailContentThreatSubmission",
+ "baseType": "microsoft.graph.security.emailThreatSubmission",
+ "openType": false
+}
+-->
+``` json
+{
+ "@odata.type": "#microsoft.graph.security.emailContentThreatSubmission",
+ "id": "String (identifier)",
+ "tenantId": "String",
+ "createdDateTime": "String (timestamp)",
+ "contentType": "String",
+ "category": "String",
+ "source": "String",
+ "createdBy": {
+ "@odata.type": "microsoft.graph.security.submissionUserIdentity"
+ },
+ "status": "String",
+ "result": {
+ "@odata.type": "microsoft.graph.security.submissionResult"
+ },
+ "adminReview": {
+ "@odata.type": "microsoft.graph.security.submissionAdminReview"
+ },
+ "clientSource": "String",
+ "recipientEmailAddress": "String",
+ "internetMessageId": "String",
+ "subject": "String",
+ "sender": "String",
+ "senderIP": "String",
+ "receivedDateTime": "String (timestamp)",
+ "originalCategory": "String",
+ "attackSimulationInfo": {
+ "@odata.type": "microsoft.graph.security.attackSimulationInfo"
+ },
+ "tenantAllowOrBlockListAction": {
+ "@odata.type": "microsoft.graph.security.tenantAllowOrBlockListAction"
+ },
+ "fileContent": "String"
+}
+```
+
v1.0 Security Emailthreatsubmission https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/security-emailthreatsubmission.md
+
+ Title: "emailThreatSubmission resource type"
+description: "Reports suspected spam, malware or phishing emails to Microsoft Defender for Office 365."
+
+ms.localizationpriority: medium
++
+# emailThreatSubmission resource type
+
+Namespace: microsoft.graph.security
++
+An abstract type to report suspected spam, malware or phishing emails to Microsoft Defender for Office 365. You can also submit false positive cases, that should not have been blocked by Microsoft Defender for Office 365, for example, emails incorrectly categorized as junk or spam.
+
+Inherits from [threatSubmission](../resources/security-threatsubmission.md). Base type of [emailContentThreatSubmission](../resources/security-emailcontentthreatsubmission.md) and [emailUrlThreatSubmission](../resources/security-emailurlthreatsubmission.md).
+
+## Methods
+|Method|Return type|Description|
+|:|:|:|
+|[List emailThreatSubmissions](../api/security-emailthreatsubmission-list.md)|[microsoft.graph.security.emailThreatSubmission](../resources/security-emailthreatsubmission.md) collection|Get a list of the [emailThreatSubmission](../resources/security-emailthreatsubmission.md) objects and their properties.|
+|[Create emailThreatSubmission](../api/security-emailthreatsubmission-post-emailthreats.md)|[microsoft.graph.security.emailThreatSubmission](../resources/security-emailthreatsubmission.md)|Create a new [emailThreatSubmission](../resources/security-emailthreatsubmission.md) object.|
+|[Get emailThreatSubmission](../api/security-emailthreatsubmission-get.md)|[microsoft.graph.security.emailThreatSubmission](../resources/security-emailthreatsubmission.md)|Read the properties and relationships of an [emailThreatSubmission](../resources/security-emailthreatsubmission.md) object.|
+|[review](../api/security-emailthreatsubmission-review.md)|None|Review threat submission from end user by administrator.|
+
+## Properties
+| Property | Type | Description |
+|:--|:--|:-|
+| attackSimulationInfo | [security.attackSimulationInfo](../resources/security-attacksimulationinfo.md) | If the email is phishing simulation, this field will not be null.|
+| internetMessageId | String | Specifies the internet message id of the email being submitted. This information is present in the email header. |
+| originalCategory | submissionCategory | The original category of the submission. The possible values are: `notJunk`, `spam`, `phishing`, `malware` and `unkownFutureValue`. |
+| receivedDateTime | DateTimeOffset | Specifies the date and time stamp when the email was received. |
+| recipientEmailAddress | String | Specifies the email address (in smtp format) of the recipient who received the email. |
+| sender | String | Specifies the email address of the sender. |
+| senderIP | String | Specifies the IP address of the sender. |
+| subject | String | Specifies the subject of the email . |
+| tenantAllowOrBlockListAction | [security.tenantAllowOrBlockListAction](../resources/security-tenantalloworblocklistaction.md) | It is used to automatically add allows for the components such as URL, file, sender; which are deemed bad by Microsoft so that similar messages in the future can be allowed. |
+
+## Relationships
+None.
+
+## JSON representation
+The following is a JSON representation of the resource.
+<!-- {
+ "blockType": "resource",
+ "keyProperty": "id",
+ "@odata.type": "microsoft.graph.security.emailThreatSubmission",
+ "baseType": "microsoft.graph.security.threatSubmission",
+ "openType": false
+}
+-->
+``` json
+{
+ "@odata.type": "#microsoft.graph.security.emailThreatSubmission",
+ "id": "String (identifier)",
+ "tenantId": "String",
+ "createdDateTime": "String (timestamp)",
+ "contentType": "String",
+ "category": "String",
+ "source": "String",
+ "createdBy": {
+ "@odata.type": "microsoft.graph.security.submissionUserIdentity"
+ },
+ "status": "String",
+ "result": {
+ "@odata.type": "microsoft.graph.security.submissionResult"
+ },
+ "adminReview": {
+ "@odata.type": "microsoft.graph.security.submissionAdminReview"
+ },
+ "clientSource": "String",
+ "recipientEmailAddress": "String",
+ "internetMessageId": "String",
+ "subject": "String",
+ "sender": "String",
+ "senderIP": "String",
+ "receivedDateTime": "String (timestamp)",
+ "originalCategory": "String",
+ "attackSimulationInfo": {
+ "@odata.type": "microsoft.graph.security.attackSimulationInfo"
+ },
+ "tenantAllowOrBlockListAction": {
+ "@odata.type": "microsoft.graph.security.tenantAllowOrBlockListAction"
+ }
+}
+```
+
v1.0 Security Emailthreatsubmissionpolicy https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/security-emailthreatsubmissionpolicy.md
+
+ Title: "emailThreatSubmissionPolicy resource type"
+description: "Represents the guidelines of an organization to report potential threats and spam."
+
+ms.localizationpriority: medium
++
+# emailThreatSubmissionPolicy resource type
+
+Namespace: microsoft.graph.security
++
+Represents the guidelines of an organization to report potential threats and spam messages. It is used for customizing your organization's end user threat submission experience when reporting potential threats and spam in Microsoft Outlook.
++
+Inherits from [entity](../resources/entity.md).
+
+## Methods
+|Method|Return type|Description|
+|:|:|:|
+|[List emailThreatSubmissionPolicies](../api/security-emailthreatsubmissionpolicy-list.md)|[microsoft.graph.security.emailThreatSubmissionPolicy](../resources/security-emailthreatsubmissionpolicy.md) collection|Get a list of the [emailThreatSubmissionPolicy](../resources/security-emailthreatsubmissionpolicy.md) objects and their properties.|
+|[Create emailThreatSubmissionPolicy](../api/security-emailthreatsubmissionpolicy-post-emailthreatsubmissionpolicies.md)|[microsoft.graph.security.emailThreatSubmissionPolicy](../resources/security-emailthreatsubmissionpolicy.md)|Create a new [emailThreatSubmissionPolicy](../resources/security-emailthreatsubmissionpolicy.md) object.|
+|[Get emailThreatSubmissionPolicy](../api/security-emailthreatsubmissionpolicy-get.md)|[microsoft.graph.security.emailThreatSubmissionPolicy](../resources/security-emailthreatsubmissionpolicy.md)|Read the properties and relationships of an [emailThreatSubmissionPolicy](../resources/security-emailthreatsubmissionpolicy.md) object.|
+|[Update emailThreatSubmissionPolicy](../api/security-emailthreatsubmissionpolicy-update.md)|None|Update the properties of an [emailThreatSubmissionPolicy](../resources/security-emailthreatsubmissionpolicy.md) object.|
+|[Delete emailThreatSubmissionPolicy](../api/security-emailthreatsubmissionpolicy-delete.md)|None|Deletes an [emailThreatSubmissionPolicy](../resources/security-emailthreatsubmissionpolicy.md) object.|
+
+## Properties
+| Property | Type | Description |
+|:--|:--|:-|
+| customizedNotificationSenderEmailAddress | String | Specifies the email address of the sender from which email notifications will be sent to end users to inform them whether an email is spam, phish or clean. The default value is `null`. Optional for creation. |
+| customizedReportRecipientEmailAddress | String | Specifies the destination where the reported messages from end users will land whenever they report something as phish, junk or not junk. The default value is `null`. Optional for creation. |
+| id | String | Only one id is supported. The default value is `DefaultReportSubmissionPolicy`. |
+| isAlwaysReportEnabledForUsers | Boolean | Indicates whether end users can report a message as spam, phish or junk directly without a confirmation(popup). The default value is `true`. Optional for creation. |
+| isAskMeEnabledForUsers | Boolean | Indicates whether end users can confirm using a popup before reporting messages as spam, phish or not junk. The default value is `true`. Optional for creation. |
+| isCustomizedMessageEnabled | Boolean | Indicates whether the email notifications sent to end users to inform them if an email is phish, spam or junk is customized or not. The default value is `false`. Optional for creation. |
+| isCustomizedMessageEnabledForPhishing | Boolean | If enabled, customized message only shows when email is reported as phishing. The default value is `false`. Optional for creation. |
+| isCustomizedNotificationSenderEnabled | Boolean | Indicates whether to use the sender email address set using customizedNotificationSenderEmailAddress for sending email notifications to end users. The default value is `false`. Optional for creation. |
+| isNeverReportEnabledForUsers | Boolean | Indicates whether end users can simply move the message from one folder to another based on the action of spam, phish or not junk without actually reporting it. The default value is `true`. Optional for creation. |
+| isOrganizationBrandingEnabled | Boolean | Indicates whether the branding logo should be used in the email notifications sent to end users. The default value is `false`. Optional for creation. |
+| isReportFromQuarantineEnabled | Boolean | Indicates whether end users can submit from the quarantine page. The default value is `true`. Optional for creation. |
+| isReportToCustomizedEmailAddressEnabled | Boolean | Indicates whether emails reported by end users should be send to the custom mailbox configured using customizedReportRecipientEmailAddress. The default value is `false`. Optional for creation. |
+| isReportToMicrosoftEnabled | Boolean | If enabled, the email will be sent to Microsoft for analysis. The default value is `false`. Required for creation. |
+| isReviewEmailNotificationEnabled | Boolean | Indicates whether an email notification is sent to the end user who reported the email when it has been reviewed by the admin. The default value is `false`. Optional for creation. |
+
+## Relationships
+None.
+
+## JSON representation
+The following is a JSON representation of the resource.
+<!-- {
+ "blockType": "resource",
+ "keyProperty": "id",
+ "@odata.type": "microsoft.graph.security.emailThreatSubmissionPolicy",
+ "baseType": "microsoft.graph.entity",
+ "openType": false
+}
+-->
+``` json
+{
+ "@odata.type": "#microsoft.graph.security.emailThreatSubmissionPolicy",
+ "id": "String (identifier)",
+ "isReportToMicrosoftEnabled": "Boolean",
+ "isReportToCustomizedEmailAddressEnabled": "Boolean",
+ "isAskMeEnabledForUsers": "Boolean",
+ "isAlwaysReportEnabledForUsers": "Boolean",
+ "isNeverReportEnabledForUsers": "Boolean",
+ "isCustomizedMessageEnabledForPhishing": "Boolean",
+ "isCustomizedMessageEnabled": "Boolean",
+ "customizedReportRecipientEmailAddress": "String",
+ "isReviewEmailNotificationEnabled": "Boolean",
+ "isCustomizedNotificationSenderEnabled": "Boolean",
+ "isOrganizationBrandingEnabled": "Boolean",
+ "customizedNotificationSenderEmailAddress": "String",
+ "isReportFromQuarantineEnabled": "Boolean"
+}
+```
+
v1.0 Security Emailurlthreatsubmission https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/security-emailurlthreatsubmission.md
+
+ Title: "emailUrlThreatSubmission resource type"
+description: "Represents a threat submission object created when the submission is made using the email URL."
+
+ms.localizationpriority: medium
++
+# emailUrlThreatSubmission resource type
+
+Namespace: microsoft.graph.security
++
+Represents a threat submission object created when the submission is made using the email URL.
+
+Inherits from [emailThreatSubmission](../resources/security-emailthreatsubmission.md).
+
+## Properties
+| Property | Type | Description |
+|:--|:-|:|
+| messageUrl | String | Specifies the url of the message to be submitted. |
+
+## Relationships
+None.
+
+## JSON representation
+The following is a JSON representation of the resource.
+<!-- {
+ "blockType": "resource",
+ "keyProperty": "id",
+ "@odata.type": "microsoft.graph.security.emailUrlThreatSubmission",
+ "baseType": "microsoft.graph.security.emailThreatSubmission",
+ "openType": false
+}
+-->
+``` json
+{
+ "@odata.type": "#microsoft.graph.security.emailUrlThreatSubmission",
+ "id": "String (identifier)",
+ "tenantId": "String",
+ "createdDateTime": "String (timestamp)",
+ "contentType": "String",
+ "category": "String",
+ "source": "String",
+ "createdBy": {
+ "@odata.type": "microsoft.graph.security.submissionUserIdentity"
+ },
+ "status": "String",
+ "result": {
+ "@odata.type": "microsoft.graph.security.submissionResult"
+ },
+ "adminReview": {
+ "@odata.type": "microsoft.graph.security.submissionAdminReview"
+ },
+ "clientSource": "String",
+ "recipientEmailAddress": "String",
+ "internetMessageId": "String",
+ "subject": "String",
+ "sender": "String",
+ "senderIP": "String",
+ "receivedDateTime": "String (timestamp)",
+ "originalCategory": "String",
+ "attackSimulationInfo": {
+ "@odata.type": "microsoft.graph.security.attackSimulationInfo"
+ },
+ "tenantAllowOrBlockListAction": {
+ "@odata.type": "microsoft.graph.security.tenantAllowOrBlockListAction"
+ },
+ "messageUrl": "String"
+}
+```
+
v1.0 Security Filecontentthreatsubmission https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/security-filecontentthreatsubmission.md
+
+ Title: "fileContentThreatSubmission resource type"
+description: "Represents a threat submission object created when the submission is made using the content of a file."
+
+ms.localizationpriority: medium
++
+# fileContentThreatSubmission resource type
+
+Namespace: microsoft.graph.security
++
+Represents a threat submission object created when the submission is made using the content of a file.
+
+Inherits from [fileThreatSubmission](../resources/security-filethreatsubmission.md).
+
+## Properties
+| Property | Type | Description |
+|:|:-|:--|
+| fileContent | String | It specifies the file content in base 64 format. |
+
+## Relationships
+None.
+
+## JSON representation
+The following is a JSON representation of the resource.
+<!-- {
+ "blockType": "resource",
+ "keyProperty": "id",
+ "@odata.type": "microsoft.graph.security.fileContentThreatSubmission",
+ "baseType": "microsoft.graph.security.fileThreatSubmission",
+ "openType": false
+}
+-->
+``` json
+{
+ "@odata.type": "#microsoft.graph.security.fileContentThreatSubmission",
+ "id": "String (identifier)",
+ "tenantId": "String",
+ "createdDateTime": "String (timestamp)",
+ "contentType": "String",
+ "category": "String",
+ "source": "String",
+ "createdBy": {
+ "@odata.type": "microsoft.graph.security.submissionUserIdentity"
+ },
+ "status": "String",
+ "result": {
+ "@odata.type": "microsoft.graph.security.submissionResult"
+ },
+ "adminReview": {
+ "@odata.type": "microsoft.graph.security.submissionAdminReview"
+ },
+ "clientSource": "String",
+ "fileName": "String",
+ "fileContent": "String"
+}
+```
+
v1.0 Security Filethreatsubmission https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/security-filethreatsubmission.md
+
+ Title: "fileThreatSubmission resource type"
+description: "Represents a threat submission related to a file."
+
+ms.localizationpriority: medium
++
+# fileThreatSubmission resource type
+
+Namespace: microsoft.graph.security
++
+Represents a threat submission related to a file. It is used to submit suspected malware email attachments to Microsoft Defender for Office 365. It could also be used to submit false positive cases which should not have been blocked by Microsoft Defender for Office 365, for example, a safe email attachment.
+
+Currently, file threat submission is routed to Microsoft Defender for Office 365. In future, it may be routed to Microsoft Defender for Endpoint. This is a unified interface for file threat submission no matter where it is routed to.
+
+This is an abstract type. Inherits from [threatSubmission](../resources/security-threatsubmission.md).
+
+## Methods
+|Method|Return type|Description|
+|:|:|:|
+|[List fileThreatSubmissions](../api/security-filethreatsubmission-list.md)|[microsoft.graph.security.fileThreatSubmission](../resources/security-filethreatsubmission.md) collection|Get a list of the [fileThreatSubmission](../resources/security-filethreatsubmission.md) objects and their properties.|
+|[Create fileThreatSubmission](../api/security-filethreatsubmission-post-filethreats.md)|[microsoft.graph.security.fileThreatSubmission](../resources/security-filethreatsubmission.md)|Create a new [fileThreatSubmission](../resources/security-filethreatsubmission.md) object.|
+|[Get fileThreatSubmission](../api/security-filethreatsubmission-get.md)|[microsoft.graph.security.fileThreatSubmission](../resources/security-filethreatsubmission.md)|Read the properties and relationships of a [fileThreatSubmission](../resources/security-filethreatsubmission.md) object.|
+
+## Properties
+| Property | Type | Description |
+|:|:-|:-|
+| fileName | String | It specifies the file name to be submitted. |
+
+## Relationships
+None.
+
+## JSON representation
+The following is a JSON representation of the resource.
+<!-- {
+ "blockType": "resource",
+ "keyProperty": "id",
+ "@odata.type": "microsoft.graph.security.fileThreatSubmission",
+ "baseType": "microsoft.graph.security.threatSubmission",
+ "openType": false
+}
+-->
+``` json
+{
+ "@odata.type": "#microsoft.graph.security.fileThreatSubmission",
+ "id": "String (identifier)",
+ "tenantId": "String",
+ "createdDateTime": "String (timestamp)",
+ "contentType": "String",
+ "category": "String",
+ "source": "String",
+ "createdBy": {
+ "@odata.type": "microsoft.graph.security.submissionUserIdentity"
+ },
+ "status": "String",
+ "result": {
+ "@odata.type": "microsoft.graph.security.submissionResult"
+ },
+ "adminReview": {
+ "@odata.type": "microsoft.graph.security.submissionAdminReview"
+ },
+ "clientSource": "String",
+ "fileName": "String"
+}
+```
+
v1.0 Security Fileurlthreatsubmission https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/security-fileurlthreatsubmission.md
+
+ Title: "fileUrlThreatSubmission resource type"
+description: "Represents file threat submission object created when a submission is made using a file URL."
+
+ms.localizationpriority: medium
++
+# fileUrlThreatSubmission resource type
+
+Namespace: microsoft.graph.security
++
+Represents a file threat submission object created when a submission is made using a file URL. This API is reserved and is not currently supported.
+
+Inherits from [fileThreatSubmission](../resources/security-filethreatsubmission.md).
+
+## Properties
+| Property | Type | Description |
+|:|:-|:|
+| fileUrl | String | It specifies the URL of the file which needs to be submitted. |
+
+## Relationships
+None.
+
+## JSON representation
+The following is a JSON representation of the resource.
+<!-- {
+ "blockType": "resource",
+ "keyProperty": "id",
+ "@odata.type": "microsoft.graph.security.fileUrlThreatSubmission",
+ "baseType": "microsoft.graph.security.fileThreatSubmission",
+ "openType": false
+}
+-->
+``` json
+{
+ "@odata.type": "#microsoft.graph.security.fileUrlThreatSubmission",
+ "id": "String (identifier)",
+ "tenantId": "String",
+ "createdDateTime": "String (timestamp)",
+ "contentType": "String",
+ "category": "String",
+ "source": "String",
+ "createdBy": {
+ "@odata.type": "microsoft.graph.security.submissionUserIdentity"
+ },
+ "status": "String",
+ "result": {
+ "@odata.type": "microsoft.graph.security.submissionResult"
+ },
+ "adminReview": {
+ "@odata.type": "microsoft.graph.security.submissionAdminReview"
+ },
+ "clientSource": "String",
+ "fileName": "String",
+ "fileUrl": "String"
+}
+```
+
v1.0 Security Submissionadminreview https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/security-submissionadminreview.md
+
+ Title: "submissionAdminReview resource type"
+description: "Represents admin review information for threat submission"
+
+ms.localizationpriority: medium
++
+# submissionAdminReview resource type
+
+Namespace: microsoft.graph.security
++
+Represents admin review information for a threat submission. Currently, only a user reported email threat submission is supported and can be reviewed by an administrator.
+
+## Properties
+| Property | Type | Description |
+|:|:-|:|
+| reviewBy | String | Specifies who reviewed the email. The identification is an email ID or other identity strings.|
+| reviewDateTime | DateTimeOffset | Specifies the date time when the review occurred.|
+| reviewResult | submissionResultCategory | Specifies what the review result was. The possible values are: `notJunk`, `spam`, `phishing`, `malware`, `allowedByPolicy`, `blockedByPolicy`, `spoof`, `unknown`, `noResultAvailable`, and `unknownFutureValue`. |
+
+## Relationships
+None.
+
+## JSON representation
+The following is a JSON representation of the resource.
+<!-- {
+ "blockType": "resource",
+ "@odata.type": "microsoft.graph.security.submissionAdminReview"
+}
+-->
+``` json
+{
+ "@odata.type": "#microsoft.graph.security.submissionAdminReview",
+ "reviewDateTime": "String (timestamp)",
+ "reviewResult": "String",
+ "reviewBy": "String"
+}
+```
+
v1.0 Security Submissiondetectedfile https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/security-submissiondetectedfile.md
+
+ Title: "submissionDetectedFile resource type"
+description: "Represents the information of a detected file in a threat submission"
+
+ms.localizationpriority: medium
++
+# submissionDetectedFile resource type
+
+Namespace: microsoft.graph.security
++
+Represents the information of a detected file in a threat submission.
+
+## Properties
+| Property | Type | Description |
+|:|:-|:|
+| fileHash | String | The file hash. |
+| fileName | String | The file name. |
+
+## Relationships
+None.
+
+## JSON representation
+The following is a JSON representation of the resource.
+<!-- {
+ "blockType": "resource",
+ "@odata.type": "microsoft.graph.security.submissionDetectedFile"
+}
+-->
+``` json
+{
+ "@odata.type": "#microsoft.graph.security.submissionDetectedFile",
+ "fileName": "String",
+ "fileHash": "String"
+}
+```
+
v1.0 Security Submissionresult https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/security-submissionresult.md
+
+ Title: "submissionResult resource type"
+description: "Represents the result of a review after the threat submission is processed by Microsoft."
+
+ms.localizationpriority: medium
++
+# submissionResult resource type
+
+Namespace: microsoft.graph.security
++
+Represents the result of a review after the threat submission is processed by Microsoft.
+
+## Properties
+| Property | Type | Description |
+|:-|:--|:|
+| category | submissionResultCategory | The submission result category. The possible values are: `notJunk`, `spam`, `phishing`, `malware`, `allowedByPolicy`, `blockedByPolicy`, `spoof`, `unknown`, `noResultAvailable` and `unkownFutureValue`. |
+| detail | [security.submissionResultDetail](#submissionresultdetail-values) | Specifies the additional details provided by Microsoft to substantiate their analysis result. |
+| detectedFiles | Collection([security.submissionDetectedFile](../resources/security-submissiondetectedfile.md)) | Specifies the files detected by Microsoft in the submitted emails.|
+| detectedUrls | Collection(String) | Specifes the URLs detected by Microsoft in the submitted email.|
+| userMailboxSetting | [security.userMailboxSetting](#usermailboxsetting-values) | Specifies the setting for user mailbox denoted by a comma-separated string. |
+
+### userMailboxSetting values
+| Member | Description |
+| :-- | : |
+| none | no user mailbox setting related with this threat submission. |
+| junkMailDeletion | the submitted email was applied with junk mail deletion. |
+| isFromAddressInAddressBook | the submitted email was from address in address book. |
+| isFromAddressInAddressSafeList | the submitted email was from address in address safe list. |
+| isFromAddressInAddressBlockList | the submitted email was from address in address safe list. |
+| isFromAddressInAddressImplicitSafeList | the submitted email was from address in address implicit safe list. |
+| isFromAddressInAddressImplicitJunkList | the submitted email was from address in address implicit junk list. |
+| isFromDomainInDomainSafeList | the submitted email was from domain in domain safe list. |
+| isFromDomainInDomainBlockList | the submitted email was from domain in domain block list. |
+| isRecipientInRecipientSafeList | the submitted email was to recipient in recipient safe list. |
+| customRule | the submitted email was handled by one user custom rule. |
+| senderPraPresent | the submitted email was from sender who presents before. |
+| fromFirstTimeSender | the submitted email was from first time sender. |
+| exclusive | the recipient of the submitted email are exclusive to the recipient's address book while delivery was only allowed from address book contacts. |
+| priorSeenPass | the submitted email was prior seen passed. |
+| senderAuthenticationSucceeded | the sender authentication of the submitted email was succeeded. |
+| isJunkMailRuleEnabled | the junk mail rule was enabled. |
+| unknownFutureValue | unknown future value. |
+
+### submissionResultDetail values
+| Member | Description |
+| :- | :-- |
+| none | Microsoft has no additional details on the result to share. |
+| underInvestigation | Microsoft is still analyzing the sample and the results should be available soon. |
+| simulatedThreat | The reported message was blocked as it is a phish simulated email send to users for phish education. To configure EOP/MDO to allow it check out advanced delivery|
+| allowedBySecOps | The reported message was allowed due to advanced delivery flow for security operators mailbox. So, remove it from advanced delivery to block it |
+| allowedByThirdPartyFilters | The reported message was allowed/blocked due third-party filters working in conjunction with EOP/MDO. Configure enhanced filtering so that EOP/MDO can filter accurately |
+| messageNotFound | Microsoft cannot provide a verdict on the reported message as Microsoft cannot find the actual message. Please resubmit by uploading the email using submissions in security.microsoft.com |
+| urlFileShouldNotBeBlocked | Microsoft finds the reported entity to be clean. Existing emails containing it have been released. The phish and malware filters will learn from this after a few weeks. Till then to allow it, create an allow entry in Tenant allow/block list if not done already. |
+| urlFileShouldBeBlocked | Microsoft finds the reported entity to be malicious. Existing emails containing it have been quarantined. The phish and malware filters will learn from this after a few weeks. Till then to block it, create a block entry in Tenant allow/block list if not done already |
+| urlFileCannotMakeDecision | Microsoft cannot reach a verdict at this time. Resubmit it to get a verdict on it after analysis. Use Tenant allow/block list to immediately allow/block it if not already done. |
+| domainImpersonation | The reported message was allowed/blocked due to domain impersonation policy settings. Configure domain impersonation policy so that EOP/MDO can filter accordingly |
+| userImpersonation | The reported message was allowed/blocked due to user impersonation policy settings. Configure user impersonation policy so that EOP/MDO can filter accordingly |
+| brandImpersonation | The reported message was allowed/blocked due to brand impersonation policy settings. Configure brand impersonation policy so that EOP/MDO can filter accordingly |
+| outboundShouldNotBeBlocked | The reported outgoing messages has been found clean and Microsoft will update its machine learning based outbound filters in the coming weeks. |
+| outboundShouldBeBlocked | The reported outgoing messages has been found malicious and Microsoft will update its machine learning based outbound filters in the coming weeks. |
+| outboundBulk | Microsoft find the reported message to be spam/junk. The outbound filters will learn after a few weeks |
+| outboundCannotMakeDecision | Microsoft cannot reach a verdict at this time. Resubmit it to get to a verdict on it after analysis. |
+| outboundNotRescanned | Microsoft cannot provide a verdict on the reported outbound message as Microsoft cannot find the actual message. Please resubmit by uploading the email using submissions in security.microsoft.com |
+| zeroHourAutoPurgeAllowed | The reported message was zapped as organization has zero-hour auto purge on. |
+| zeroHourAutoPurgeBlocked | The Reported message could not be zapped as organization has turned off zero-hour auto purge. Turn on zero-hour auto purge for EOP/MDO to zap messages if they turn malicious after delivery|
+| zeroHourAutoPurgeQuarantineReleased | The reported message was released from Quarantine despite being quarantined due to zap as message turned malicious after delivery. |
+| onPremisesSkip | The reported message cannot be analyzed as this went through a onprem setup of exchange online protection. Configure your hybrid setup so that EOP/MDO can scan messages before delivering to exchange onprem mailboxes |
+| allowedByTenantAllowBlockList | The reported message was allowed as one or more entities in the email are on the tenant allow/ block list. Remove allows from Tenant allow/block list so that EOP/MDO can filter accordingly |
+| blockedByTenantAllowBlockList | The reported message was blocked as one or more entities in the email are on the tenant allow/ block list. Remove blocks from Tenant allow/block list so that EOP/MDO can filter accordingly |
+| allowedUrlByTenantAllowBlockList | The reported URL was allowed as it is on the Tenant allow/block list. Remove the allow from Tenant allow/block list so that EOP/MDO can filter accordingly |
+| allowedFileByTenantAllowBlockList | The reported file was allowed as it is on the Tenant allow/block list. Remove the allow from Tenant allow/block list so that EOP/MDO can filter accordingly |
+| allowedSenderByTenantAllowBlockList | The reported message was allowed as the sender of the email is on the Tenant allow/block list. Remove allow from Tenant allow/block list so that EOP/MDO can filter accordingly|
+| allowedRecipientByTenantAllowBlockList | The reported outgoing message was allowed as recipient is on the Tenant allow/block list. Remove allow from Tenant allow/block so that EOP/MDO can filter accordingly |
+| blockedUrlByTenantAllowBlockList | The reported URL was blocked as it is on the Tenant allow/block list. Remove the block from Tenant allow/block list so that EOP/MDO can filter accordingly |
+| blockedFileByTenantAllowBlockList | The reported file was blocked as it is on the Tenant allow/block list. Remove the block from Tenant allow/block list so that EOP/MDO can filter accordingly |
+| blockedSenderByTenantAllowBlockList | The reported message was blocked as the sender of the email is on the Tenant allow/block list. Remove block from Tenant allow/block list so that EOP/MDO can filter accordingly|
+| blockedRecipientByTenantAllowBlockList | The reported outgoing message was blocked as recipient is on the Tenant allow/block list. Remove block from Tenant allow/block so that EOP/MDO can filter accordingly |
+| allowedByConnection | The reported message was allowed as the sending IP is on the hosted connection filter policy. Remove the IP from the hosted connection filter policy so that EOP/MDO can filter accordingly |
+| blockedByConnection | The reported message was blocked as the sending IP is on the hosted connection filter policy. Remove the IP from the hosted connection filter policy so that EOP/MDO can filter accordingly |
+| allowedByExchangeTransportRule | The reported message was allowed as the organization has a related exchange transport rule. Remove the exchange transport rule so that EOP/MDO can filter accordingly. |
+| blockedByExchangeTransportRule | The reported message was blocked as the organization has a related exchange transport rule. Remove the exchange transport rule so that EOP/MDO can filter accordingly. |
+| quarantineReleased | The reported message was released from Quarantine despite being quarantined by EOP/MDO |
+| quarantineReleasedThenBlocked | The reported message was blocked by user setting after being released from Quarantine. Remove the user setting so that the mail can be released to the inbox |
+| junkMailRuleDisabled | The reported message was bound to be delivered to the junk folder, but junk folder has been disabled. Turn on junk folder setting so that EOP/MDO can deliver emails accordingly |
+| allowedByUserSetting | The reported message was allowed due to user safe or trusted sender setting in outlook. Remove the safe or trusted sender setting so that EOP/MDO can filter accordingly |
+| blockedByUserSetting | The reported message was blocked due to user blocked or trusted sender setting in outlook. Remove the blocked or trusted sender setting so that EOP/MDO can filter accordingly |
+| allowedByTenant | The reported message was allowed due to tenant policy or policy action settings. Review the EOP/MDO policy or policy action settings so that EOP/MDO can filter accordingly |
+| blockedByTenant | The reported message was blocked due to tenant policy or policy action settings. Review the EOP/MDO policy or policy action settings so that EOP/MDO can filter accordingly |
+| invalidFalsePositive | The reported message is already allowed by EOP/MDO. |
+| invalidFalseNegative | The reported message is already blocked by EOP/MDO. |
+| spoofBlocked | The reported message has been determined by spoof by our system and so blocked. Create a spoof allow in Tenant allow/block list so that EOP/MDO can allow emails from this spoofed sender |
+| goodReclassifiedAsBad | Microsoft finds the reported message to be malicious. Existing emails have been quarantined. The phish and malware filters will learn from this after a few weeks. Till then to block it, create a block entry in Tenant allow/block list if not done already |
+| goodReclassifiedAsBulk | Microsoft finds the reported message to be spam. The spam and bulk filters will learn from this after a few weeks. Till then to block it, create a block entry in Tenant allow/block list if not done already |
+| goodReclassifiedAsGood | Microsoft finds the reported message to be clean. If you disagree with this verdict resubmit the email. Till then to block it, create a block entry in Tenant allow/block list if not done already |
+| goodReclassifiedAsCannotMakeDecision | Microsoft cannot reach a verdict at this time. Resubmit it to get a verdict on it after analysis. Use Tenant allow/block list to immediately block it if not done already. |
+| badReclassifiedAsGood | Microsoft finds the reported message to be clean. Existing emails have been released. The phish and malware filters will learn from this after a few weeks. Till then to allow it, create an allow entry in Tenant allow/block list if not done already |
+| badReclassifiedAsBulk | Microsoft finds the reported message to be spam. The spam and bulk filters will learn from this after a few weeks. Till then to allow it, create an allow entry in Tenant allow/block list if not done already |
+| badReclassifiedAsBad | Microsoft finds the reported message to be malicious. If you disagree with this verdict resubmit the email. Till then to allow it, create an allow entry in Tenant allow/block list if not done already |
+| badReclassifiedAsCannotMakeDecision | Microsoft cannot reach a verdict at this time. Resubmit it to get a verdict on it after analysis. Use Tenant allow/block list to immediately allow it if not done already. |
+| unknownFutureValue | Any future value which is not in use now. |
++
+## Relationships
+None.
+
+## JSON representation
+The following is a JSON representation of the resource.
+<!-- {
+ "blockType": "resource",
+ "@odata.type": "microsoft.graph.security.submissionResult"
+}
+-->
+``` json
+{
+ "@odata.type": "#microsoft.graph.security.submissionResult",
+ "category": "String",
+ "detail": "String",
+ "userMailboxSetting": "String",
+ "detectedUrls": [
+ "String"
+ ],
+ "detectedFiles": [
+ {
+ "@odata.type": "microsoft.graph.security.submissionDetectedFile"
+ }
+ ]
+}
+```
+
v1.0 Security Submissionuseridentity https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/security-submissionuseridentity.md
+
+ Title: "submissionUserIdentity resource type"
+description: "Represents the identity of the user who sends the threat submission."
+
+ms.localizationpriority: medium
++
+# submissionUserIdentity resource type
+
+Namespace: microsoft.graph.security
++
+Represents the identity of the user who sends the threat submission.
+
+Inherits from [identity](../resources/identity.md).
+
+## Properties
+| Property | Type | Description |
+|:|:-|:|
+| displayName | String | Inherited from **identity**. |
+| email | String | The email of user who is making the submission when logged in (delegated token case). |
+| id | String | Inherited from **identity**. |
++
+## Relationships
+None.
+
+## JSON representation
+The following is a JSON representation of the resource.
+<!-- {
+ "blockType": "resource",
+ "@odata.type": "microsoft.graph.security.submissionUserIdentity"
+}
+-->
+``` json
+{
+ "@odata.type": "#microsoft.graph.security.submissionUserIdentity",
+ "displayName": "String",
+ "id": "String (identifier)",
+ "email": "String"
+}
+```
+
v1.0 Security Tenantallowblocklistentryresult https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/security-tenantallowblocklistentryresult.md
+
+ Title: "tenantAllowBlockListEntryResult resource type"
+description: "Represents a tenant allow block list entry result."
+
+ms.localizationpriority: medium
++
+# tenantAllowBlockListEntryResult resource type
+
+Namespace: microsoft.graph.security
++
+Represents the result of a tenant allow block list entry. An entry for a tenant allow block list item can be a URL, attachment, or senders.
+
+## Properties
+| Property | Type | Description |
+|:-|:|:--|
+| entryType | tenantAllowBlockListEntryType | The entry type of tenant allow block list. The possible values are: `url`, `fileHash`, `sender`, `recipient` and `unkownFutureValue`. |
+| expirationDateTime | DateTimeOffset | Specifies when will this entry expire in date time. |
+| identity | String | Specifies the identity of the entry generated by the tenant allow block list system. |
+| status | longRunningOperationStatus | Specifies whether the tenant allow block list entry creation operation was successful. The possible values are: `notStarted`, `running`, `succeeded`, `failed`, `skipped` and `unkownFutureValue`. |
+| value | String | Specifies the value of the created tenant allow block list entry. |
+
+## Relationships
+None.
+
+## JSON representation
+The following is a JSON representation of the resource.
+<!-- {
+ "blockType": "resource",
+ "@odata.type": "microsoft.graph.security.tenantAllowBlockListEntryResult"
+}
+-->
+``` json
+{
+ "@odata.type": "#microsoft.graph.security.tenantAllowBlockListEntryResult",
+ "identity": "String",
+ "value": "String",
+ "entryType": "String",
+ "expirationDateTime": "String (timestamp)",
+ "status": "String"
+}
+```
+
v1.0 Security Tenantalloworblocklistaction https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/security-tenantalloworblocklistaction.md
+
+ Title: "tenantAllowOrBlockListAction resource type"
+description: "Represents tenant allow or block list action"
+
+ms.localizationpriority: medium
++
+# tenantAllowOrBlockListAction resource type
+
+Namespace: microsoft.graph.security
++
+Represents the tenant allow-or-block list action. When an admin creates an email threat submission, a tenant allow block list operation can also be provided. When a tenant allow block list operation is provided, the threat submission will automatically add related items (URLs, attachments, senders) to the tenant allow block list.
+
+## Properties
+| Property | Type | Description |
+|:-|:--|:|
+| action | tenantAllowBlockListAction | Specifies whether the tenant allow block list is an allow or block. The possible values are: `allow`, `block`, and `unkownFutureValue`.|
+| expirationDateTime | DateTimeOffset | Specifies when the tenant allow-block-list expires in date time. |
+| note | String | Specifies the note added to the tenant allow block list entry in the format of string. |
+| results | Collection([security.tenantAllowBlockListEntryResult](../resources/security-tenantallowblocklistentryresult.md)) | Contains the result of the submission that lead to the tenant allow-block-list entry creation. |
+
+## Relationships
+None.
+
+## JSON representation
+The following is a JSON representation of the resource.
+<!-- {
+ "blockType": "resource",
+ "@odata.type": "microsoft.graph.security.tenantAllowOrBlockListAction"
+}
+-->
+``` json
+{
+ "@odata.type": "#microsoft.graph.security.tenantAllowOrBlockListAction",
+ "action": "String",
+ "results": [
+ {
+ "@odata.type": "microsoft.graph.security.tenantAllowBlockListEntryResult"
+ }
+ ],
+ "expirationDateTime": "String (timestamp)",
+ "note": "String"
+}
+```
+
v1.0 Security Threatsubmission https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/security-threatsubmission.md
+
+ Title: "threatSubmission resource type"
+description: "Represents a threat submission, which is used to submit suspected email, UTL, or file threats to Microsoft Defender."
+
+ms.localizationpriority: medium
++
+# threatSubmission resource type
+
+Namespace: microsoft.graph.security
++
+Represents a threat submission, which is an abstract type for representing suspected spam, malware, phish, and blocked legitimate emails; malware, phish and blocked legitimate URLs; phish, malware and blocked legitimate email attachments to Microsoft Defender for Office 365, and suspicious files to Microsoft Defender for Endpoint.
+
+This resource can also be used to submit false positive cases that should not be blocked by Microsoft Defender for Office 365; for example, not junk emails, safe URLs, and safe email attachments.
+
+This is an abstract type. Inherits from [entity](../resources/entity.md). Base type of [emailThreatSubmission](../resources/security-emailthreatsubmission.md), [urlThreatSubmission](../resources/security-urlthreatsubmission.md), [fileThreatSubmissin](../resources/security-filethreatsubmission.md).
+
+## Properties
+| Property | Type | Description |
+|:-|:|:|
+| adminReview | [security.submissionAdminReview](../resources/security-submissionadminreview.md)| Specifies the admin review property which constitutes of who reviewed the user submission, when and what was it identified as. |
+| category | submissionCategory | Specifies the category of the submission. Supports `$filter = category eq 'value'`. The possible values are: `notJunk`, `spam`, `phishing`, `malware` and `unkownFutureValue`.|
+| clientSource | submissionClientSource | Specifies the source of the submission. The possible values are: `microsoft`, `other` and `unkownFutureValue`. |
+| contentType | submissionContentType | Specifies the type of content being submitted. The possible values are: `email`, `url`, `file`, `app` and `unkownFutureValue`. |
+| createdBy | [security.submissionUserIdentity](../resources/security-submissionuseridentity.md) | Specifies who submitted the email as a threat. Supports `$filter = createdBy/email eq 'value'`. |
+| createdDateTime | DateTimeOffset | Specifies when the threat submission was created. Supports `$filter = createdDateTime ge 2022-01-01T00:00:00Z and createdDateTime lt 2022-01-02T00:00:00Z`. |
+| id | String | Specifies the ID of threat submission. |
+| result | [security.submissionResult](../resources/security-submissionresult.md) | Specifies the result of the analysis performed by Microsoft. |
+| source | submissionSource | Specifies the role of the submitter. Supports `$filter = source eq 'value'`. The possible values are: `administrator`, `user` and `unkownFutureValue`. |
+| status | longRunningOperationStatus | Indicates whether the threat submission has been analyzed by Microsoft. Supports `$filter = status eq 'value'`. The possible values are: `notStarted`, `running`, `succeeded`, `failed`, `skipped` and `unkownFutureValue`. |
+| tenantId | String | Indicates the tenant id of the submitter. Not required when created using a `POST` operation. It is extracted from the token of the post API call. |
+
+## Relationships
+None.
+
+## JSON representation
+The following is a JSON representation of the resource.
+<!-- {
+ "blockType": "resource",
+ "keyProperty": "id",
+ "@odata.type": "microsoft.graph.security.threatSubmission",
+ "baseType": "microsoft.graph.entity",
+ "openType": false
+}
+-->
+``` json
+{
+ "@odata.type": "#microsoft.graph.security.threatSubmission",
+ "id": "String (identifier)",
+ "tenantId": "String",
+ "createdDateTime": "String (timestamp)",
+ "contentType": "String",
+ "category": "String",
+ "source": "String",
+ "createdBy": {
+ "@odata.type": "microsoft.graph.security.submissionUserIdentity"
+ },
+ "status": "String",
+ "result": {
+ "@odata.type": "microsoft.graph.security.submissionResult"
+ },
+ "adminReview": {
+ "@odata.type": "microsoft.graph.security.submissionAdminReview"
+ },
+ "clientSource": "String"
+}
+```
+
v1.0 Security Urlthreatsubmission https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/security-urlthreatsubmission.md
+
+ Title: "urlThreatSubmission resource type"
+description: "Represent a threat submission related to a URL"
+
+ms.localizationpriority: medium
++
+# urlThreatSubmission resource type
+
+Namespace: microsoft.graph.security
++
+Represent a threat submission related to a URL.
+
+This resource is used to submit suspected phishing URLs to Microsoft Defender for Office 365. It can also be used to submit false positive cases that should not have been blocked, such as safe URLs.
+
+Inherits from [threatSubmission](../resources/security-threatsubmission.md).
+
+## Methods
+|Method|Return type|Description|
+|:|:|:|
+|[List urlThreatSubmissions](../api/security-urlthreatsubmission-list.md)|[microsoft.graph.security.urlThreatSubmission](../resources/security-urlthreatsubmission.md) collection|Get a list of the [urlThreatSubmission](../resources/security-urlthreatsubmission.md) objects and their properties.|
+|[Create urlThreatSubmission](../api/security-urlthreatsubmission-post-urlthreats.md)|[microsoft.graph.security.urlThreatSubmission](../resources/security-urlthreatsubmission.md)|Create a new [urlThreatSubmission](../resources/security-urlthreatsubmission.md) object.|
+|[Get urlThreatSubmission](../api/security-urlthreatsubmission-get.md)|[microsoft.graph.security.urlThreatSubmission](../resources/security-urlthreatsubmission.md)|Read the properties and relationships of an [urlThreatSubmission](../resources/security-urlthreatsubmission.md) object.|
+
+## Properties
+| Property | Type | Description |
+|:|:-|:-|
+| webUrl | String | Denotes the webUrl that needs to be submitted. |
+
+## Relationships
+None.
+
+## JSON representation
+The following is a JSON representation of the resource.
+<!-- {
+ "blockType": "resource",
+ "keyProperty": "id",
+ "@odata.type": "microsoft.graph.security.urlThreatSubmission",
+ "baseType": "microsoft.graph.security.threatSubmission",
+ "openType": false
+}
+-->
+``` json
+{
+ "@odata.type": "#microsoft.graph.security.urlThreatSubmission",
+ "id": "String (identifier)",
+ "tenantId": "String",
+ "createdDateTime": "String (timestamp)",
+ "contentType": "String",
+ "category": "String",
+ "source": "String",
+ "createdBy": {
+ "@odata.type": "microsoft.graph.security.submissionUserIdentity"
+ },
+ "status": "String",
+ "result": {
+ "@odata.type": "microsoft.graph.security.submissionResult"
+ },
+ "adminReview": {
+ "@odata.type": "microsoft.graph.security.submissionAdminReview"
+ },
+ "clientSource": "String",
+ "webUrl": "String"
+}
+```
+
v1.0 Security https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/security.md
Title: "security resource type"
-description: "To connect Microsoft security products, services, and partners to streamline security operations and improve threat protection, detection, and response capabilities."
+description: "Connects Microsoft security products, services, and partners to streamline security operations and improve threat protection, detection, and response capabilities."
ms.localizationpriority: medium ms.prod: "security"
Namespace: microsoft.graph
[!INCLUDE [beta-disclaimer](../../includes/beta-disclaimer.md)]
-To connect Microsoft security products, services, and partners to streamline security operations and improve threat protection, detection, and response capabilities.
+Connects Microsoft security products, services, and partners to streamline security operations and improve threat protection, detection, and response capabilities.
## Methods None.
None.
|attackSimulation|[attackSimulationRoot](../resources/attacksimulationroot.md)|Provides tenants capability to launch a simulated and realistic phishing attack and learn from it.| |securityactions|[securityAction](../resources/securityaction.md)|Actions that respond to alerts to block malicious activities.| |tiindicators|[tiIndicator](../resources/tiindicator.md) collection|Threat indicators sent to Microsoft that identify malicious activities.|
+|threatSubmission|[security.threatSubmission](../resources/security-threatsubmission.md)|A threat submission sent to Microsoft; for example, a suspicious email threat, URL threat, or file threat.|
## JSON representation The following is a JSON representation of the resource.
v1.0 Team https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/team.md
Every team is associated with a [Microsoft 365 group](../resources/group.md). Th
|[List your teams](../api/user-list-joinedteams.md) | [team](team.md) collection | List the teams you are a member of. | |[List associated teams](../api/associatedteaminfo-list.md) | [associatedTeamInfo](associatedteaminfo.md) collection | Get the list of [associatedTeamInfo](associatedteaminfo.md) objects in Microsoft Teams that a [user](user.md) is associated with. | |[List all teams in an organization](../api/teams-list.md) | [team](team.md) collection | List all teams in an organization. |
-|[Get team photo](../api/team-get-photo.md) | Binary data | Get the photo (picture) for a team. |
+|[Get team photo](../api/profilephoto-get.md) | Binary data | Get the photo (picture) for a team. |
|[Complete migration](../api/team-completemigration.md)|[team](team.md)| Removes migration mode from the team and makes the team available to users to post and read messages.| |[List all channels](../api/team-list-allchannels.md)|[channel](../resources/channel.md) collection|Get the list of [channels](../resources/channel.md) either in this **team** or shared with this **team** (incoming channels).| |[List channels](../api/channel-list.md)|[channel](../resources/channel.md) collection|Get the list of [channels](../resources/channel.md) in a **team**.|
v1.0 Teams Api Overview https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/teams-api-overview.md
Microsoft Teams is a chat-based workspace in Microsoft 365 that provides built-i
| Resource | Methods | |:|:--| |[team](../resources/team.md)| [List your teams](../api/user-list-joinedteams.md), [list all teams](/graph/teams-list-all-teams), [list associated teams](../api/associatedteaminfo-list.md), [create](../api/team-put-teams.md), [read](../api/team-get.md), [update](../api/team-update.md), [delete](../api/group-delete.md), [clone](../api/team-clone.md), [archive](../api/team-archive.md), [unarchive](../api/team-unarchive.md) |
-|[group](../resources/group.md)| [Add member](../api/group-post-members.md),ΓÇ»[remove member](../api/group-delete-members.md), [add owner](../api/group-post-owners.md),ΓÇ»[remove owner](../api/group-delete-owners.md), [get files](drive.md), [get notebook](../resources/notebook.md), [get plans](plannergroup.md), [get calendar](event.md) |
-|[channel](../resources/channel.md)|[List](../api/channel-list.md), [create](../api/channel-post.md), [read](../api/channel-get.md), [update](../api/channel-patch.md), [delete](../api/channel-delete.md)|
-|[teamsTab](../resources/teamstab.md) |[List](../api/channel-list-tabs.md), [create](../api/channel-post-tabs.md), [read](../api/channel-get-tabs.md), [update](../api/channel-patch-tabs.md), [delete](../api/channel-delete-tabs.md) |
-|[teamsApp](../resources/teamsapp.md)|[List](../api/appcatalogs-list-teamsapps.md), [publish](../api/teamsapp-publish.md), [update](../api/teamsapp-update.md), [remove](../api/teamsapp-delete.md)|
-|[teamsAppInstallation](../resources/teamsappinstallation.md)| [List](../api/team-list-installedapps.md), [install](../api/team-post-installedapps.md), [upgrade](../api/team-delete-installedapps.md), [remove](../api/team-delete-installedapps.md) |
-|[chatMessage](../resources/chatmessage.md)| [List in channel](../api/channel-list-messages.md), [list in chat](../api/chat-list-messages.md), [send](../api/chatmessage-post.md), [read in channel](../api/chatmessage-get.md), [read in chat](../api/chatmessage-get.md)|
-|[chat](../resources/chat.md)| [List](../api/chat-list.md), [read](../api/chat-get.md),
|[call](../resources/call.md)| [Answer](../api/call-answer.md), [reject](../api/call-reject.md), [redirect](../api/call-redirect.md), [mute](../api/call-mute.md), [unmute](../api/call-unmute.md), [change screen sharing role](../api/call-changescreensharingrole.md), [list participants](../api/call-list-participants.md), [invite participants](../api/participant-invite.md), [mute all participants](../api/participant-muteall.md) |
+|[channel](../resources/channel.md)|[List](../api/channel-list.md), [create](../api/channel-post.md), [get](../api/channel-get.md), [update](../api/channel-patch.md), [delete](../api/channel-delete.md)|
+|[chat](../resources/chat.md)| [List](../api/chat-list.md), [read](../api/chat-get.md)
+|[chatMessage](../resources/chatmessage.md)| [List in channel](../api/channel-list-messages.md), [list in chat](../api/chat-list-messages.md), [send](../api/chatmessage-post.md), [read in channel](../api/chatmessage-get.md), [read in chat](../api/chatmessage-get.md)|
+|[group](../resources/group.md)| [Add member](../api/group-post-members.md),ΓÇ»[remove member](../api/group-delete-members.md), [add owner](../api/group-post-owners.md),ΓÇ»[remove owner](../api/group-delete-owners.md), [get files](drive.md), [get notebook](../resources/notebook.md), [get plans](plannergroup.md), [get calendar](event.md) |
+|[learningContent](learningcontent.md) | [List](../api/learningprovider-list-learningcontents.md), [Get](../api/learningcontent-get.md), [Update](../api/learningcontent-update.md), [Delete](../api/learningprovider-delete-learningcontents.md) |
+|[learningProvider](learningprovider.md) | [List](../api/employeeexperience-list-learningproviders.md), [Create](../api/employeeexperience-post-learningproviders.md), [Get](../api/learningprovider-get.md), [Update](../api/learningprovider-update.md), [Delete](../api/employeeexperience-delete-learningproviders.md) |
|[schedule](../resources/schedule.md)| [Create or replace](../api/team-put-schedule.md), [get](../api/schedule-get.md), [share](../api/schedule-share.md) | |[schedulingGroup](../resources/schedulinggroup.md)| [Create](../api/schedule-post-schedulinggroups.md), [list](../api/schedule-list-schedulinggroups.md), [get](../api/schedulinggroup-get.md), [replace](../api/schedulinggroup-put.md), [delete](../api/schedulinggroup-delete.md) | |[shift](../resources/shift.md)| [Create](../api/schedule-post-shifts.md), [list](../api/schedule-list-shifts.md), [get](../api/shift-get.md), [replace](../api/shift-put.md), [delete](../api/shift-delete.md) |
-|[timeOff](../resources/timeoff.md)| [Create](../api/schedule-post-timesoff.md), [list](../api/schedule-list-timesoff.md), [get](../api/timeoff-get.md), [replace](../api/timeoff-put.md), [delete](../api/timeoff-delete.md) |
-|[timeOffReason](../resources/timeoffreason.md)| [Create](../api/schedule-post-timeoffreasons.md), [list](../api/schedule-list-timeoffreasons.md), [get](../api/timeoffreason-get.md), [replace](../api/timeoffreason-put.md), [delete](../api/timeoffreason-delete.md) |
|[tag](../resources/teamworkTag.md)|[List](../api/teamworkTag-list.md), [create](../api/teamworkTag-post.md), [get](../api/teamworkTag-get.md), [update](../api/teamworkTag-update.md), [delete](../api/teamworkTag-delete.md)| |[tagMember](../resources/teamworkTagMember.md)|[List](../api/teamworkTagMember-list.md), [create](../api/teamworkTagMember-post.md), [get](../api/teamworkTagMember-get.md), [delete](../api/teamworkTagMember-delete.md)|
+|[teamsApp](../resources/teamsapp.md)|[List](../api/appcatalogs-list-teamsapps.md), [publish](../api/teamsapp-publish.md), [update](../api/teamsapp-update.md), [remove](../api/teamsapp-delete.md)|
+|[teamsAppInstallation](../resources/teamsappinstallation.md)| [List](../api/team-list-installedapps.md), [install](../api/team-post-installedapps.md), [upgrade](../api/team-delete-installedapps.md), [remove](../api/team-delete-installedapps.md) |
+|[teamsTab](../resources/teamstab.md) |[List](../api/channel-list-tabs.md), [create](../api/channel-post-tabs.md), [read](../api/channel-get-tabs.md), [update](../api/channel-patch-tabs.md), [delete](../api/channel-delete-tabs.md) |
+|[timeOff](../resources/timeoff.md)| [Create](../api/schedule-post-timesoff.md), [list](../api/schedule-list-timesoff.md), [get](../api/timeoff-get.md), [replace](../api/timeoff-put.md), [delete](../api/timeoff-delete.md) |
+|[timeOffReason](../resources/timeoffreason.md)| [Create](../api/schedule-post-timeoffreasons.md), [list](../api/schedule-list-timeoffreasons.md), [get](../api/timeoffreason-get.md), [replace](../api/timeoffreason-put.md), [delete](../api/timeoffreason-delete.md) |
## Microsoft Teams limits
v1.0 Viva Learning Api Overview https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/viva-learning-api-overview.md
+
+ Title: "Use the employee learning API to integrate with Viva Learning"
+description: "Learn how to register a provider, and integrate your content and learner records from your learning provider to Viva Learning."
+ms.localizationpriority: medium
+++
+# Use the employee learning API to integrate with Viva Learning
++
+Viva Learning is a centralized employee learning hub in Microsoft Teams that lets employees integrate learning and building skills into their work day. In Viva Learning, teams can discover, share, recommend, and learn from content libraries provided by both their organization and partners. They can quickly access assigned or recently completed learning content, and do all of this without leaving Microsoft Teams.
+
+The employee learning API in Microsoft Graph enables apps to make content from a Learning Management System (LMS) or learning provider available in Viva Learning. Use the following resources to integrate with Viva Learning:
+
+- [Learning provider](learningprovider.md) to manage learning providers, including registering, enabling, disabling, or deleting providers.
+- [Learning content](learningcontent.md) to upload and manage learning content metadata from your LMS or learning provider in Viva Learning.
++
+## How do integrations work?
+As administrators, you can integrate your content and learner records (employee assignments and completed course records) from your LMS or learning provider with Viva Learning, by using out-of-the-box integrations where Viva Learning can pull content metadata and learning records from your LMS or learning provider. You can also [use the employee learning API](#use-cases-for-the-employee-learning-api-in-microsoft-graph) in Microsoft Graph to push content metadata from your LMS or learning provider into Viva Learning.
+
+When the content metadata, employee assignments, and their completed course records are uploaded to Viva Learning, they appear in Viva Learning at the following locations:
+- The content appears on the home page under the **Browse courses** ΓÇô **Providers** section.
+- Assignments and completed course records appear on the **My Learning** page under the **Assigned to you** and **Completed** sections, respectively.
+
+## Authorization
+With the appropriate delegated or application [employee learning permissions](/graph/permissions-reference#employee-learning-permissions), your app can use the employee learning API to manage learning providers and their content for a learning hub in a tenant. For more information about access tokens, app registration, and delegated and application permissions, see [Authentication and authorization basics](/graph/auth/auth-concepts).
+
+## Use cases for the employee learning API in Microsoft Graph
+Use the employee learning APIs to do the following:
+- [Register a provider with Viva Learning](../api/employeeexperience-post-learningproviders.md), provide a display name, square logo that is displayed on a learning content card, and a long logo that is displayed in the **Details** page, which is required for the provider content to show up in Viva Learning. The returned registration ID can be used to make the subsequent calls for content ingestion.
+- Enable or disable a registration and update the display name and logo URLs for a provider.ΓÇ»
+- [Get the details about a provider](../api/learningprovider-get.md) in Viva Learning for a specific **registrationId**.ΓÇ»
+- [Get the list of provider registrations](../api/employeeexperience-list-learningproviders.md) in Viva Learning for a tenant.
+- [Delete a registration](../api/employeeexperience-delete-learningproviders.md) of a provider in Viva Learning.
+- [Push content metadata](../api/learningcontent-update.md) to Viva Learning to make content available within Viva Learning for consumption by users.ΓÇ»
+- [Get a list of the metadata of a provider's ingested content](../api/learningprovider-list-learningcontents.md) by using the **registrationId** of a provider.ΓÇ»
+- [Get the specified metadata of a provider's ingested content](../api/learningcontent-get.md) in Viva Learning.
+- [Delete the specfied metadata of a provider's ingested content](../api/learningprovider-delete-learningcontents.md).
+
+>**Note**: Assignments and completed course records are not yet available in the employee learning API.
+
+## What's new
+Find out about the [latest new features and updates](/graph/whats-new-overview) for this API set.
+
+## Next steps
+- [Enable employee learning using the collaborative capabilities in Teams](/graph/teams-concept-overview#enable-employee-learning-using-the-collaborative-capabilities-in-teams).
+- Try the employee learning API in the [Graph Explorer](https://developer.microsoft.com/graph/graph-explorer).
v1.0 Windowsupdates Operationalinsightsconnection https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/windowsupdates-operationalinsightsconnection.md
+
+ Title: "operationalInsightsConnection resource type"
+description: "Represents a specialized resourceConnection that links a Log Analytics workspace to the Windows Update for Business deployment service."
+
+ms.localizationpriority: medium
++
+# operationalInsightsConnection resource type
+
+Namespace: microsoft.graph.windowsUpdates
++
+Represents a specialized [resourceConnection](../resources/windowsupdates-resourceconnection.md) that links a Log Analytics workspace to the Windows Update for Business deployment service.
+
+Inherits from [resourceConnection](../resources/windowsupdates-resourceconnection.md).
+
+## Methods
+|Method|Return type|Description|
+|:|:|:|
+|[List operationalInsightsConnections](../api/windowsupdates-updates-list-resourceconnections-operationalinsightsconnection.md)|[microsoft.graph.windowsUpdates.operationalInsightsConnection](../resources/windowsupdates-operationalinsightsconnection.md) collection|Get a list of the [operationalInsightsConnection](../resources/windowsupdates-operationalinsightsconnection.md) objects and their properties.|
+|[Create operationalInsightsConnection](../api/windowsupdates-updates-post-resourceconnections-operationalinsightsconnection.md)|[microsoft.graph.windowsUpdates.operationalInsightsConnection](../resources/windowsupdates-operationalinsightsconnection.md)|Create a new [operationalInsightsConnection](../resources/windowsupdates-operationalinsightsconnection.md) object.|
+|[Get operationalInsightsConnection](../api/windowsupdates-operationalinsightsconnection-get.md)|[microsoft.graph.windowsUpdates.operationalInsightsConnection](../resources/windowsupdates-operationalinsightsconnection.md)|Read the properties and relationships of an [operationalInsightsConnection](../resources/windowsupdates-operationalinsightsconnection.md) object.|
+|[Delete operationalInsightsConnection](../api/windowsupdates-operationalinsightsconnection-delete.md)|None|Delete an [operationalInsightsConnection](../resources/windowsupdates-operationalinsightsconnection.md) object.|
+
+## Properties
+|Property|Type|Description|
+|:|:|:|
+|azureResourceGroupName|String|The name of the Azure resource group that contains the Log Analytics workspace.|
+|azureSubscriptionId|String|The Azure subscription ID that contains the Log Analytics workspace.|
+|id|String|An identifier for the resource connection. Key. Not nullable. Read-only. Returned by default.|
+|state|microsoft.graph.windowsUpdates.resourceConnectionState|The state of the connection. The possible values are: `connected`, `notAuthorized`, `notFound`, `unknownFutureValue`.|
+|workspaceName|String|The name of the Log Analytics workspace.|
+
+## Relationships
+None.
+
+## JSON representation
+The following is a JSON representation of the resource.
+<!-- {
+ "blockType": "resource",
+ "keyProperty": "id",
+ "@odata.type": "microsoft.graph.windowsUpdates.operationalInsightsConnection",
+ "baseType": "microsoft.graph.windowsUpdates.resourceConnection",
+ "openType": false
+}
+-->
+``` json
+{
+ "@odata.type": "#microsoft.graph.windowsUpdates.operationalInsightsConnection",
+ "azureResourceGroupName": "String",
+ "azureSubscriptionId": "String",
+ "id": "String (identifier)",
+ "state": "String",
+ "workspaceName": "String"
+}
+```
+
v1.0 Windowsupdates Resourceconnection https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/windowsupdates-resourceconnection.md
+
+ Title: "resourceConnection resource type"
+description: "Represents connections to external resources from which more specialized connections will be derived."
+
+ms.localizationpriority: medium
++
+# resourceConnection resource type
+
+Namespace: microsoft.graph.windowsUpdates
++
+Represents connections to external resources from which more specialized connections like [operationalInsightsConnection](../resources/windowsupdates-operationalinsightsconnection.md) will be derived.
+
+This is an abstract type.
+
+## Methods
+|Method|Return type|Description|
+|:|:|:|
+|[List resourceConnections](../api/windowsupdates-updates-list-resourceconnections.md)|[microsoft.graph.windowsUpdates.resourceConnection](../resources/windowsupdates-resourceconnection.md) collection|Get a list of the [resourceConnection](../resources/windowsupdates-resourceconnection.md) objects and their properties.|
+|[Get resourceConnection](../api/windowsupdates-resourceconnection-get.md)|[microsoft.graph.windowsUpdates.resourceConnection](../resources/windowsupdates-resourceconnection.md)|Read the properties and relationships of a [resourceConnection](../resources/windowsupdates-resourceconnection.md) object.|
+|[Delete resourceConnection](../api/windowsupdates-resourceconnection-delete.md)|None|Delete a [resourceConnection](../resources/windowsupdates-resourceconnection.md) object.|
+
+## Properties
+|Property|Type|Description|
+|:|:|:|
+|id|String|An identifier for the resource connection. Key. Not nullable. Read-only. Returned by default.|
+|state|microsoft.graph.windowsUpdates.resourceConnectionState|The state of the connection. The possible values are: `connected`, `notAuthorized`, `notFound`, `unknownFutureValue`.|
+
+## Relationships
+None.
+
+## JSON representation
+The following is a JSON representation of the resource.
+<!-- {
+ "blockType": "resource",
+ "keyProperty": "id",
+ "@odata.type": "microsoft.graph.windowsUpdates.resourceConnection",
+ "baseType": "microsoft.graph.entity",
+ "openType": false
+}
+-->
+``` json
+{
+ "@odata.type": "#microsoft.graph.windowsUpdates.resourceConnection",
+ "id": "String (identifier)",
+ "state": "String"
+}
+```
+
v1.0 Windowsupdates Updates https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/beta/resources/windowsupdates-updates.md
Entity that acts as a container for all Windows Update for Business deployment s
|:|:|:| |catalog|[microsoft.graph.windowsUpdates.catalog](../resources/windowsupdates-catalog.md)|Catalog of content that can be approved for deployment by the deployment service. Read-only.| |deployments|[microsoft.graph.windowsUpdates.deployment](../resources/windowsupdates-deployment.md) collection|Deployments created using the deployment service. Read-only.|
+|resourceConnections|[microsoft.graph.windowsUpdates.resourceConnection](../resources/windowsupdates-resourceconnection.md) collection|Service connections to external resources such as analytics workspaces.|
|updatableAssets|[microsoft.graph.windowsUpdates.updatableAsset](../resources/windowsupdates-updatableasset.md) collection|Assets registered with the deployment service that can receive updates. Read-only.| ## JSON representation
v1.0 Bookingappointment Cancel https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/v1.0/api/bookingappointment-cancel.md
Namespace: microsoft.graph
Cancel the specified [bookingAppointment](../resources/bookingappointment.md) in the specified [bookingBusiness](../resources/bookingbusiness.md) and send a message to the involved customer and staff members. ## 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) | BookingsAppointment.ReadWrite.All, Bookings.ReadWrite.All, Bookings.Manage.All | |Delegated (personal Microsoft account) | Not supported. |
-|Application | Not supported. |
+|Application | Not supported. |
## HTTP request <!-- { "blockType": "ignored" } -->
One of the following permissions is required to call this API. To learn more, in
POST /solutions/bookingBusinesses/{id}/appointments/{id}/cancel ```+ ## Request headers+ | Name | Description| |:|:-| | Authorization | Bearer {code}| ## Request body+ In the request body, provide a JSON object with the following parameter. | Parameter | Type |Description|
In the request body, provide a JSON object with the following parameter.
|cancellationMessage|String|A message to acknowledge with the customer that the **appointment** has been cancelled.| ## Response+ If successful, this method returns a `204 No Content` response code. It does not return anything in the response body. If you attempt to cancel an **appointment** that doesn't exist, this method returns a `404 Not found`. ## Example+ The following is an example of how to call this API.+ ### Request+ The following is an example of the request. <!-- {
Content-type: application/json
``` ### Response+ The following is an example of the response.+ <!-- { "blockType": "response" } -->
v1.0 Bookingappointment Delete https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/v1.0/api/bookingappointment-delete.md
doc_type: apiPageType
Namespace: microsoft.graph Delete a [bookingAppointment](../resources/bookingappointment.md) in the specified [bookingBusiness](../resources/bookingbusiness.md).+ ## 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) |
One of the following permissions is required to call this API. To learn more, in
```http DELETE /solutions/bookingBusinesses/{id}/appointments/{id} ```+ ## Request headers+ | Name | Description| |:|:-| | Authorization | Bearer {code}| ## Request body
-Do not supply a request body for this method.
+Do not supply a request body for this method.
## Response+ If successful, this method returns a `204 No Content` response code. It does not return anything in the response body. ## Example+ ### Request+ The following is an example of a request. <!-- {
DELETE https://graph.microsoft.com/v1.0/solutions/bookingBusinesses/Contosolunch
``` ### Response
-The following is an example of the response.
+
+The following is an example of the response.
+ >**Note:** The response object shown here might be shortened for readability. <!-- { "blockType": "response",
HTTP/1.1 204 No Content
"suppressions": [ ] }>--
+-->
v1.0 Bookingappointment Get https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/v1.0/api/bookingappointment-get.md
One of the following permissions is required to call this API. To learn more, in
|:--|:| |Delegated (work or school account) | Bookings.Read.All, BookingsAppointment.ReadWrite.All, Bookings.ReadWrite.All, Bookings.Manage.All | |Delegated (personal Microsoft account) | Not supported. |
-|Application | Not supported. |
+|Application | BookingsAppointment.ReadWrite.All, Bookings.Read.All |
## HTTP request <!-- { "blockType": "ignored" } --> ```http GET /solutions/bookingBusinesses/{id}/appointments/{id} ```+ ## Optional query parameters+ This method supports the $count and $expand [OData query parameters](/graph/query-parameters) to help customize the response. ## Request headers+ | Name |Description| |:-|:-| | Authorization | Bearer {code}| ## Request body+ Do not supply a request body for this method.+ ## Response+ If successful, this method returns a `200 OK` response code and a [bookingAppointment](../resources/bookingappointment.md) object in the response body.+ ## Example+ ### Request+ The following is an example of the request. <!-- {
GET https://graph.microsoft.com/v1.0/solutions/bookingBusinesses/Contosolunchdel
``` ### Response+ The following is an example of the response. >**Note:** The response object shown here might be shortened for readability.
v1.0 Bookingappointment Update https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/v1.0/api/bookingappointment-update.md
doc_type: apiPageType
Namespace: microsoft.graph Update the properties of a [bookingAppointment](../resources/bookingappointment.md) object in the specified [bookingBusiness](../resources/bookingbusiness.md).+ ## 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) | BookingsAppointment.ReadWrite.All, Bookings.ReadWrite.All, Bookings.Manage.All | |Delegated (personal Microsoft account) | Not supported. |
-|Application | Not supported. |
+|Application | BookingsAppointment.ReadWrite.All, Bookings.Read.All |
+
+> [!NOTE]
+> If you create a custom app using application permissions, you must follow the [Business rules validation](/graph/bookingsbusiness-business-rules).
## HTTP request <!-- { "blockType": "ignored" } -->
PATCH /solutions/bookingBusinesses/{id}/appointments/{id}
## Response
-If successful, this method returns a `204 No Content` response code. It does not return anything in the response body.
+If successful, this method returns a `204 No Content` response code. It doesn't return anything in the response body.
## Examples ### Request+ The following example changes the date of service by a day. <!-- {
Content-type: application/json
``` ### Response+ The following is an example of the response. <!-- { "blockType": "response",
HTTP/1.1 204 No Content
"suppressions": [ ] }>--
+-->
v1.0 Bookingbusiness Get https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/v1.0/api/bookingbusiness-get.md
One of the following permissions is required to call this API. To learn more, in
|:--|:| |Delegated (work or school account) | Bookings.Read.All, BookingsAppointment.ReadWrite.All, Bookings.ReadWrite.All, Bookings.Manage.All | |Delegated (personal Microsoft account) | Not supported. |
-|Application | Not supported. |
+|Application | BookingsAppointment.ReadWrite.All, Bookings.Read.All |
## HTTP request <!-- { "blockType": "ignored" } --> ```http GET /solutions/bookingBusinesses/{id} ```+ ## Optional query parameters+ This method supports the $count and $expand [OData query parameters](/graph/query-parameters) to help customize the response. ## Request headers+ | Name |Description| |:-|:-| | Authorization | Bearer {code}| ## Request body+ Do not supply a request body for this method.+ ## Response
-If successful, this method returns a `200 OK` response code and [bookingBusiness](../resources/bookingbusiness.md) object in the response body.
+
+If successful, this method returns a `200 OK` response code and a [bookingBusiness](../resources/bookingbusiness.md) object in the response body.
+ ## Example+ ### Request+ The following is an example of the request. <!-- {
GET https://graph.microsoft.com/v1.0/solutions/bookingBusinesses/Fabrikam@contos
``` ### Response
-The following is an example of the response. Note: The response object shown here might be shortened for readability.
+
+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 Bookingbusiness Getstaffavailability https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/v1.0/api/bookingbusiness-getstaffavailability.md
+
+ Title: "bookingsBusiness: getStaffAvailability"
+description: "Learn how to get the availability information of staff members of a Microsoft Bookings calendar."
+ms.localizationpriority: medium
+++
+# bookingsBusiness: getStaffAvailability
+
+Namespace: microsoft.graph
+
+Get the availability information of [staff members](../resources/bookingstaffmember.md) of a [Microsoft Bookings calendar](../resources/bookingappointment.md).
+
+## 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) | Not supported. |
+|Delegated (personal Microsoft account) | Not supported. |
+|Application | Calendar.Read, Calendar.ReadWrite, Bookings.Read.All, Calendars.ReadWrite |
+
+## HTTP request
+
+<!-- { "blockType": "ignored" } -->
+```http
+POST /solutions/bookingBusinesses/{id}/getStaffAvailability
+```
+
+## Request header
+
+|Name |Description |
+|:--|:|
+|Authorization |Bearer {code}. Required. |
+|Content-Type| application/json. Required.|
+
+## Request body
+
+In the request body, pass the list of staff IDs along with two other parameters of [dateTimeTimeZone resource type](/graph/resources/datetimetimezone) called **startDateTime** and **endDateTime**. These correspond to the two timestamps between which the staff availability will be returned.
+
+## Response
+
+If successful, this method returns a `200 OK` response code and a [staffAvailabilityItem](../resources/staffavailabilityitem.md) collection in the response.
+
+## Example
+
+### Request
+
+The following is an example of a request.
+
+<!-- {
+ "blockType": "request",
+ "name": "bookingbusiness_getstaffavailability"
+}-->
+
+```http
+POST https://graph.microsoft.com/v1.0/solutions/bookingBusinesses/Contosolunchdelivery@contoso.onmicrosoft.com/getStaffAvailability
+Content-Type: application/json
+
+{
+    "staffIds": [
+        "311a5454-08b2-4560-ba1c-f715e938cb79"
+    ],
+    "startDateTime": {
+        "dateTime": "2022-01-25T00: 00: 00",
+        "timeZone": "India Standard Time"
+    },
+    "endDateTime": {
+        "dateTime": "2022-01-26T17: 00: 00",
+        "timeZone": "Pacific Standard Time"
+    }
+}
+```
+
+### Response
+
+The following example shows the response.
+
+<!-- {
+ "blockType": "response",
+ "truncated": true,
+ "@odata.type": "microsoft.graph.staffAvailabilityItem",
+} -->
+
+```http
+HTTP/1.1 200 OK
+Content-type: application/json
+
+{
+    "staffAvailabilityItem": [
+        {
+            "staffId": "311a5454-08b2-4560-ba1c-f715e938cb79",
+            "availabilityItems": [
+                {
+                    "status": "Available",
+                    "startDateTime": {
+                        "dateTime": "2022-01-24T08:00:00",
+                        "timeZone": "(UTC-08:00) Pacific Time (US & Canada)"
+                    },
+                    "endDateTime": {
+                        "dateTime": "2022-01-24T15:00:00",
+                        "timeZone": "(UTC-08:00) Pacific Time (US & Canada)"
+                    },
+                    "serviceId": ""
+                },
+                {
+                    "status": "Busy",
+                    "startDateTime": {
+                        "dateTime": "2022-01-24T15:00:00",
+                        "timeZone": "(UTC-08:00) Pacific Time (US & Canada)"
+                    },
+                    "endDateTime": {
+                        "dateTime": "2022-01-24T16:00:00",
+                        "timeZone": "(UTC-08:00) Pacific Time (US & Canada)"
+                    },
+                    "serviceId": "57da6774-a087-4d69-b0e6-6fb82c339976"
+                },
+                {
+                    "status": "Available",
+                    "startDateTime": {
+                        "dateTime": "2022-01-24T16:00:00",
+                        "timeZone": "(UTC-08:00) Pacific Time (US & Canada)"
+                    },
+                    "endDateTime": {
+                        "dateTime": "2022-01-24T17:00:00",
+                        "timeZone": "(UTC-08:00) Pacific Time (US & Canada)"
+                    },
+                    "serviceId": ""
+                },
+                {
+                    "status": "Available",
+                    "startDateTime": {
+                        "dateTime": "2022-01-25T08:00:00",
+                        "timeZone": "(UTC-08:00) Pacific Time (US & Canada)"
+                    },
+                    "endDateTime": {
+                        "dateTime": "2022-01-25T17:00:00",
+                        "timeZone": "(UTC-08:00) Pacific Time (US & Canada)"
+                    },
+                    "serviceId": ""
+                },
+                {
+                    "status": "Available",
+                    "startDateTime": {
+                        "dateTime": "2022-01-26T08:00:00",
+                        "timeZone": "(UTC-08:00) Pacific Time (US & Canada)"
+                    },
+                    "endDateTime": {
+                        "dateTime": "2022-01-26T17:00:00",
+                        "timeZone": "(UTC-08:00) Pacific Time (US & Canada)"
+                    },
+                    "serviceId": ""
+                }
+            ]
+        }
+    ]
+}
+```
+<!--
+In the response body, for each staff member, their available windows are returned. The types of status of the windows are explained below.
+|Type | Explanation |
+|:--|:|
+|Available | The staff member is available in the given window. |
+|slotAvailable | The staff member has an appointment in the given window. The appointment is for a service which has **maxAttendeecount** more than 1. The customer can join this appointment as there are empty slots available. |
+|Busy | The staff member has an appointment in the given window. Either the staff member has an appointment for a service which has **maxAttendeecount** equal to 1 or the staff has an appointment for a service with **maxAttendeecount** more than 1 but without any available slots. |
+-->
v1.0 Bookingbusiness List Appointments https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/v1.0/api/bookingbusiness-list-appointments.md
Title: "List appointments"
-description: "Get a list of bookingAppointment objects for the specified bookingbusiness."
+description: "Get a list of bookingAppointment objects for the specified bookingBusiness."
ms.localizationpriority: medium ms.prod: "bookings"
doc_type: apiPageType
Namespace: microsoft.graph Get a list of [bookingAppointment](../resources/bookingappointment.md) objects for the specified [bookingBusiness](../resources/bookingbusiness.md).+ ## 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) | Bookings.Read.All, BookingsAppointment.ReadWrite.All, Bookings.ReadWrite.All, Bookings.Manage.All | |Delegated (personal Microsoft account) | Not supported. |
-|Application | Not supported. |
+|Application | BookingsAppointment.ReadWrite.All, Bookings.Read.All |
## HTTP request <!-- { "blockType": "ignored" } --> ```http GET /solutions/bookingBusinesses/{id}/appointments ```+ ## Optional query parameters+ This method supports the $count and $expand [OData query parameters](/graph/query-parameters) to help customize the response. To get the set of appointments of a Microsoft Bookings business within a date range, instead of `$filter`, [get the calendarView](bookingbusiness-list-calendarview.md) for that date range. ## Request headers+ | Name |Description| |:-|:-| | Authorization | Bearer {code}. 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 [bookingAppointment](../resources/bookingappointment.md) objects in the response body.+ ## Example+ ### Request+ The following is an example of the request. <!-- {
GET https://graph.microsoft.com/v1.0/solutions/bookingBusinesses/Contosolunchdel
``` ### Response+ The following is an example of the response. >**Note:** The response object shown here might be shortened for readability.
v1.0 Bookingbusiness List Calendarview https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/v1.0/api/bookingbusiness-list-calendarview.md
Title: "List business calendarView"
-description: "Get the collection of bookingAppointment objects for a bookingBusiness, that occurs in the specified date range."
+description: "Get the collection of bookingAppointment objects for a bookingBusiness that occurs in the specified date range."
ms.localizationpriority: medium ms.prod: "bookings"
doc_type: apiPageType
Namespace: microsoft.graph
-Get the collection of [bookingAppointment](../resources/bookingappointment.md) objects for a [bookingBusiness](../resources/bookingbusiness.md), that occurs in the specified date range.
+Get the collection of [bookingAppointment](../resources/bookingappointment.md) objects for a [bookingBusiness](../resources/bookingbusiness.md) that occurs in the specified date range.
## 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) |
The values of `start` and `end` are interpreted using the timezone offset specif
This method also supports some of the $count and $expand [OData query parameters](/graph/query-parameters) to help customize the response. ## Request headers+ | Name | Description| |:|:-| | Authorization | Bearer {code}| ## 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 [bookingAppointment](../resources/bookingappointment.md) objects in the response body. ## Example ### Request+ The following is an example of the request. <!-- {
GET https://graph.microsoft.com/v1.0/solutions/bookingBusinesses/Contosolunchdel
``` ### Response+ The following is an example of the response. >**Note:** The response object shown here might be shortened for readability.
v1.0 Bookingbusiness List Services https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/v1.0/api/bookingbusiness-list-services.md
doc_type: apiPageType
Namespace: microsoft.graph Get a list of [bookingService](../resources/bookingservice.md) objects in the specified [bookingBusiness](../resources/bookingbusiness.md).+ ## 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) | Bookings.Read.All, BookingsAppointment.ReadWrite.All, Bookings.ReadWrite.All, Bookings.Manage.All | |Delegated (personal Microsoft account) | Not supported. |
-|Application | Not supported. |
+|Application | BookingsAppointment.ReadWrite.All, Bookings.Read.All |
## HTTP request <!-- { "blockType": "ignored" } --> ```http GET /solutions/bookingBusinesses/{id}/services ```+ ## Optional query parameters+ This method supports the $count and $expand [OData query parameters](/graph/query-parameters) to help customize the response. ## Request headers+ | Name |Description| |:-|:-| | Authorization | Bearer {code}. 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 [bookingService](../resources/bookingservice.md) objects in the response body.+ ## Example+ ### Request+ The following is an example of the request. <!-- {
GET https://graph.microsoft.com/v1.0/solutions/bookingBusinesses/Contosolunchdel
``` ### Response+ The following is an example of the response. >**Note:** The response object shown here might be shortened for readability.
v1.0 Bookingbusiness List Staffmembers https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/v1.0/api/bookingbusiness-list-staffmembers.md
Namespace: microsoft.graph
Get a list of [bookingStaffMember](../resources/bookingstaffmember.md) objects in the specified [bookingBusiness](../resources/bookingbusiness.md). ## 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) | Bookings.Read.All, BookingsAppointment.ReadWrite.All, Bookings.ReadWrite.All, Bookings.Manage.All | |Delegated (personal Microsoft account) | Not supported. |
-|Application | Not supported. |
+|Application | BookingsAppointment.ReadWrite.All, Bookings.Read.All |
## HTTP request <!-- { "blockType": "ignored" } --> ```http GET /solutions/bookingBusinesses/{id}/staffMembers ```+ ## Optional query parameters+ This method supports the `$count` and `$expand` [OData query parameters](/graph/query-parameters) to help customize the response. ## Request headers+ | Name |Description| |:-|:-| | Authorization | Bearer {code}. 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 [bookingStaffMember](../resources/bookingstaffmember.md) objects in the response body. ## Example
v1.0 Bookingbusiness List https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/v1.0/api/bookingbusiness-list.md
Title: "List bookingBusinesses"
-description: "Get a collection of bookingbusiness objects that have been created for the tenant."
+description: "Get a collection of bookingBusiness objects that have been created for the tenant."
ms.localizationpriority: medium ms.prod: "bookings"
doc_type: apiPageType
Namespace: microsoft.graph
-Get a collection of [bookingBusiness](../resources/bookingbusiness.md) objects that have been created for the tenant.
-
-This operation returns only the **id** and **displayName** of each Microsoft Bookings business in the collection. For performance considerations, it does not return other properties. You can get the other properties of a Microsoft Bookings business by specifying its **id** in a [GET](bookingbusiness-get.md) operation.
+Get a collection of [bookingBusiness](../resources/bookingbusiness.md) objects that has been created for the tenant.
+This operation returns only the **id** and **displayName** of each Microsoft Bookings business in the collection. For performance considerations, it does not return other properties. You can get the other properties of a Bookings business by specifying its **id** in a [GET](bookingbusiness-get.md) operation.
## 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) | Bookings.Read.All, BookingsAppointment.ReadWrite.All, Bookings.ReadWrite.All, Bookings.Manage.All | |Delegated (personal Microsoft account) | Not supported. |
-|Application | Not supported. |
+|Application | BookingsAppointment.ReadWrite.All, Bookings.Read.All |
## HTTP request <!-- { "blockType": "ignored" } --> ```http GET /solutions/bookingBusinesses ```+ ## Optional query parameters+ This method supports the $count and $expand [OData query parameters](/graph/query-parameters) to help customize the response. This method also supports the `query` parameter which accepts a string value. This parameter limits the GET results to businesses that match the specified string. For more details, see [example](#request-2). ## Request headers+ | Name |Description| |:-|:-| | Authorization | Bearer {code}| ## 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 [bookingBusiness](../resources/bookingbusiness.md) objects in the response body. ## Examples ### Example 1: Get Bookings businesses in a tenant+ #### Request 1+ The following example gets the Bookings businesses in a tenant. <!-- {
GET https://graph.microsoft.com/v1.0/solutions/bookingBusinesses
``` #### Response 1+ The following is an example of the response. <!-- { "blockType": "response",
Content-type: application/json
``` ### Example 2: Use 'query' to get one or more matching Bookings businesses in a tenant+ #### Request 2+ The following example shows how to use the `query` parameter to get one or more matching Bookings businesses in the tenant. <!-- {
GET https://graph.microsoft.com/v1.0/solutions/bookingBusinesses?query=Adventure
``` #### Response 2+ The following is an example of the response. <!-- { "blockType": "response",
v1.0 Bookingbusiness Post Appointments https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/v1.0/api/bookingbusiness-post-appointments.md
Title: "Create bookingAppointment"
-description: "Create a new bookingAppointment for the specified bookingbusiness."
+description: "Create a new bookingAppointment for the specified bookingBusiness."
ms.localizationpriority: medium ms.prod: "bookings"
doc_type: apiPageType
Namespace: microsoft.graph Create a new [bookingAppointment](../resources/bookingappointment.md) for the specified [bookingBusiness](../resources/bookingbusiness.md).+ ## 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) | BookingsAppointment.ReadWrite.All, Bookings.ReadWrite.All, Bookings.Manage.All | |Delegated (personal Microsoft account) | Not supported. |
-|Application | Not supported. |
+|Application | BookingsAppointment.ReadWrite.All, Bookings.Read.All |
+
+> [!NOTE]
+> If you create a custom app using application permissions, you must follow the [Business rules validation](/graph/bookingsbusiness-business-rules).
## HTTP request <!-- { "blockType": "ignored" } -->
One of the following permissions is required to call this API. To learn more, in
POST /solutions/bookingBusinesses/{id}/appointments ```+ ## Request headers+ | Name | Description| |:|:-| | Authorization | Bearer {code}. Required.|
If the maximum number of customers (**maximumAttedeesCount**) allowed in the [se
- Pass valid customer IDs when you create or update the appointment. If the customer ID is not valid, that customer won't be included in the appointment object. ## Response+ If successful, this method returns a `201 Created` response code and a [bookingAppointment](../resources/bookingappointment.md) object in the response body. ## Example+ ### Request+ The following is an example of the request. This appointment does not involve booking specific staff members. <!-- {
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
"suppressions": [ ] }>--
+-->
v1.0 Bookingcustomer Delete https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/v1.0/api/bookingcustomer-delete.md
One of the following permissions is required to call this API. To learn more, in
|:--|:| |Delegated (work or school account) | BookingsAppointment.ReadWrite.All, Bookings.ReadWrite.All, Bookings.Manage.All | |Delegated (personal Microsoft account) | Not supported. |
-|Application | Not supported. |
+|Application | BookingsAppointment.ReadWrite.All, Bookings.Read.All |
## HTTP request <!-- { "blockType": "ignored" } -->
One of the following permissions is required to call this API. To learn more, in
DELETE /solutions/bookingBusinesses/{id}/customers/{id} ```+ ## Request headers+ | Name | Description| |:|:-| | Authorization | Bearer {code}| ## Request body
-Do not supply a request body for this method.
+Do not supply a request body for this method.
## Response+ If successful, this method returns a `204 No Content` response code. It does not return anything in the response body. ## Example+ ### Request+ The following is an example of the request. <!-- {
DELETE https://graph.microsoft.com/v1.0/solutions/bookingBusinesses/Contosolunch
``` ### Response+ The following is an example of the response. <!-- { "blockType": "response",
HTTP/1.1 204 No Content
"suppressions": [ ] }>--
+-->
v1.0 Bookingcustomer Get https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/v1.0/api/bookingcustomer-get.md
doc_type: apiPageType
Namespace: microsoft.graph Get the properties and relationships of a [bookingCustomer](../resources/bookingcustomer.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) | Bookings.Read.All, BookingsAppointment.ReadWrite.All, Bookings.ReadWrite.All, Bookings.Manage.All | |Delegated (personal Microsoft account) | Not supported. |
-|Application | Not supported. |
+|Application | BookingsAppointment.ReadWrite.All, Bookings.Read.All |
## HTTP request <!-- { "blockType": "ignored" } --> ```http GET /solutions/bookingBusinesses/{id}/customers/{id} ```+ ## Optional query parameters+ This method supports the $count and $expand [OData query parameters](/graph/query-parameters) to help customize the response. ## Request headers+ | Name |Description| |:-|:-| | Authorization | Bearer {code}| ## Request body+ Do not supply a request body for this method.+ ## Response+ If successful, this method returns a `200 OK` response code and a [bookingCustomer](../resources/bookingcustomer.md) object in the response body.+ ## Example+ ### Request+ The following is an example of the request. <!-- {
GET https://graph.microsoft.com/v1.0/solutions/bookingBusinesses/Contosolunchdel
``` ### Response+ The following is an example of the response. >**Note:** The response object shown here might be shortened for readability.
v1.0 Bookingcustomer Update https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/v1.0/api/bookingcustomer-update.md
doc_type: apiPageType
Namespace: microsoft.graph Update the properties of a [bookingCustomer](../resources/bookingcustomer.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) | BookingsAppointment.ReadWrite.All, Bookings.ReadWrite.All, Bookings.Manage.All | |Delegated (personal Microsoft account) | Not supported. |
-|Application | Not supported. |
+|Application | BookingsAppointment.ReadWrite.All, Bookings.Read.All |
## HTTP request <!-- { "blockType": "ignored" } --> ```http PATCH /solutions/bookingBusinesses/{id}/customers/{id} ```+ ## Request headers+ | Name | Description| |:--|:--| | Authorization | Bearer {code}| ## Request body+ [!INCLUDE [table-intro](../../includes/update-property-table-intro.md)] | Property | Type |Description|
PATCH /solutions/bookingBusinesses/{id}/customers/{id}
|phones|[phone](../resources/phone.md) collection|Phone numbers associated with the customer, including home, business, and mobile numbers.| ## Response+ If successful, this method returns a `200 OK` response code and an updated [bookingCustomer](../resources/bookingcustomer.md) object in the response body.+ ## Example+ ### Request+ The following is an example of the 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. <!-- { "blockType": "response",
v1.0 Bookingcustomquestion Get https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/v1.0/api/bookingcustomquestion-get.md
One of the following permissions is required to call this API. To learn more, in
| :- | : | | Delegated (work or school account) | Bookings.Read.All, BookingsAppointment.ReadWrite.All, Bookings.ReadWrite.All, Bookings.Manage.All | | Delegated (personal Microsoft account) | Not supported. |
-| Application | Not supported. |
+| Application | Not supported. |
## HTTP request
v1.0 Bookingservice Get https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/v1.0/api/bookingservice-get.md
doc_type: apiPageType
Namespace: microsoft.graph Get the properties and relationships of a [bookingService](../resources/bookingservice.md) object in the specified [bookingBusiness](../resources/bookingbusiness.md).+ ## 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) | Bookings.Read.All, BookingsAppointment.ReadWrite.All, Bookings.ReadWrite.All, Bookings.Manage.All | |Delegated (personal Microsoft account) | Not supported. |
-|Application | Not supported. |
+|Application | BookingsAppointment.ReadWrite.All, Bookings.Read.All |
## HTTP request <!-- { "blockType": "ignored" } --> ```http GET /solutions/bookingBusinesses/{id}/services/{id} ```+ ## Optional query parameters+ This method supports the $count and $expand [OData query parameters](/graph/query-parameters) to help customize the response. ## Request headers+ | Name |Description| |:-|:-| | Authorization | Bearer {code}. 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 [bookingService](../resources/bookingservice.md) object in the response body.+ ## Example+ ### Request+ The following is an example of the request. <!-- {
GET https://graph.microsoft.com/v1.0/solutions/bookingBusinesses/Contosolunchdel
``` ### Response+ The following is an example of the response. >**Note:** The response object shown here might be shortened for readability.
v1.0 Bookingstaffmember Get https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/v1.0/api/bookingstaffmember-get.md
doc_type: apiPageType
Namespace: microsoft.graph Get the properties and relationships of a [bookingStaffMember](../resources/bookingstaffmember.md) in the specified [bookingBusiness](../resources/bookingbusiness.md).+ ## 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) | Bookings.Read.All, BookingsAppointment.ReadWrite.All, Bookings.ReadWrite.All, Bookings.Manage.All | |Delegated (personal Microsoft account) | Not supported. |
-|Application | Not supported. |
+|Application | BookingsAppointment.ReadWrite.All, Bookings.Read.All |
## HTTP request <!-- { "blockType": "ignored" } --> ```http GET /solutions/bookingBusinesses/{id}/staffMembers/{id} ```+ ## Optional query parameters+ This method supports the $count and $expand [OData query parameters](/graph/query-parameters) to help customize the response. ## Request headers+ | Name |Description| |:-|:-| | Authorization | Bearer {code}| ## Request body+ Do not supply a request body for this method.+ ## Response+ If successful, this method returns a `200 OK` response code and a [bookingStaffMember](../resources/bookingstaffmember.md) object in the response body.+ ## Example+ ### Request+ The following is an example of the request. <!-- {
GET https://graph.microsoft.com/v1.0/solutions/bookingBusinesses/Contosolunchdel
``` ### Response+ The following is an example of the response. >**Note:** The response object shown here might be shortened for readability.
v1.0 Print List Printers https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/v1.0/api/print-list-printers.md
GET /print/printers
This method supports some of the OData query parameters to help customize the response. For general information, see [OData query parameters](/graph/query-parameters). ### Exceptions
-* The `$expand` and `select` operators are supported for the `share` navigation property, but not for `jobs`.
+* The `$expand` and `$select` operators are supported for the `shares` navigation property, but not for `jobs`.
* Some operators are not supported: `$count`, `$search`. ## Request headers
v1.0 Print List Shares https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/v1.0/api/print-list-shares.md
GET /print/shares
## 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).
-To see a list of each printer share's capabilities, include the optional `$select=capabilities` query parameter.
+> **Note:** Using $top=n query parameter will return **up to** `n` shares. Caller needs to use skip token to enumerate over the entire list.
### Exceptions
-Some operators are not supported: `$count`, `$orderby`, `$search`.
+Some operators are not supported: `$count`, `$search`.
## Request headers |Name|Description|
Do not supply a request body for this method.
If successful, this method returns a `200 OK` response code and a collection of [printerShare](../resources/printershare.md) objects in the response body.
->**Note**: The response will not contain the **defaults** and **capabilities** properties. You can get these properties via a [Get printerShare](printershare-get.md) request.
+>**Note**: The response will not contain the **defaults** or **capabilities** properties.
+
+> For following scenarios, response will contain limited set of properties (id,displayName,manufacturer,model,location):
+> - Listing printer shares on behalf of user who is not [Printer Administrator](/azure/active-directory/users-groups-roles/directory-assign-admin-roles#printer-administrator).
+> - Filtering printer shares based on `capabilities` or `location`.
+
+You can get additional properties via a [Get printerShare](printershare-get.md) request.
## Examples
v1.0 Printer Post Jobs https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/v1.0/api/printer-post-jobs.md
Create a new [printJob](../resources/printJob.md) for a [printer](../resources/p
Also creates a new [printDocument](../resources/printDocument.md) associated with the printJob.
+> **Note:** A user can submit up to ~10000 print jobs in 10 days.
+ ## 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 Printershare Post Jobs https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/v1.0/api/printershare-post-jobs.md
Create a new [printJob](../resources/printJob.md) for a [printerShare](../resour
Also creates a new [printDocument](../resources/printDocument.md) associated with the printJob.
+> **Note:** A user can submit up to ~10000 print jobs in 10 days.
+ ## 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 Profilephoto Get https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/v1.0/api/profilephoto-get.md
For example, if the user uploads a photo that is 504x504 pixels, all but the 648
One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Permissions](/graph/permissions-reference).
-### To retrieve the profile photo of a user
+### To retrieve the profile photo of a contact
|Permission type | Permissions (from least to most privileged) | |:--|:|
-|Delegated (work or school account) | User.Read, User.ReadBasic.All, User.Read.All, User.ReadWrite, User.ReadWrite.All |
-|Delegated (personal Microsoft account) | User.Read, User.ReadWrite |
-|Application | User.Read.All, User.ReadWrite.All |
+|Delegated (work or school account) | Contacts.Read, Contacts.ReadWrite |
+|Delegated (personal Microsoft account) | Contacts.Read, Contacts.ReadWrite |
+|Application | Contacts.Read, Contacts.ReadWrite |
### To retrieve the profile photo of a group
One of the following permissions is required to call this API. To learn more, in
|Delegated (personal Microsoft account) | Not supported. | |Application | Group.Read.All, Group.ReadWrite.All |
-### To retrieve the profile photo of a contact
+### To retrieve the profile photo of a team
+
+| Permission Type | Permissions (from least to most privileged) |
+| | - |
+| Delegated (work or school account) | TeamReadBasicAll, TeamSettingsReadAll, TeamSettingsReadWriteAll |
+| Delegated (personal Microsoft account) | Not supported. |
+| Application | TeamReadBasicAll, TeamSettingsReadAll, TeamSettingsReadWriteAll |
+
+### To retrieve the profile photo of a user
|Permission type | Permissions (from least to most privileged) | |:--|:|
-|Delegated (work or school account) | Contacts.Read, Contacts.ReadWrite |
-|Delegated (personal Microsoft account) | Contacts.Read, Contacts.ReadWrite |
-|Application | Contacts.Read, Contacts.ReadWrite |
+|Delegated (work or school account) | User.Read, User.ReadBasic.All, User.Read.All, User.ReadWrite, User.ReadWrite.All |
+|Delegated (personal Microsoft account) | User.Read, User.ReadWrite |
+|Application | User.Read.All, User.ReadWrite.All |
> [!NOTE] >
GET /me/contacts/{id}/photo/$value
GET /users/{id | userPrincipalName}/contacts/{id}/photo/$value GET /me/contactfolders/{contactFolderId}/contacts/{id}/photo/$value GET /users/{id | userPrincipalName}/contactfolders/{contactFolderId}/contacts/{id}/photo/$value
+GET /team/{id}/photo/$value
``` ### Get the metadata of the photo
GET /me/contacts/{id}/photo
GET /users/{id | userPrincipalName}/contacts/{id}/photo GET /me/contactfolders/{contactFolderId}/contacts/{id}/photo GET /users/{id | userPrincipalName}/contactfolders/{contactFolderId}/contacts/{id}/photo
+GET /team/{id}/photo
``` ### Get the metadata for a specific photo size
Content-type: application/json
"height": 1 } ```
+### Example 4: Get the metadata of the team photo
+
+#### Request
+
+Here is an example of the request to get the metadata of the team photo.
+
+<!-- {
+ "blockType": "ignored",
+ "name": "get_team_photo_metadata"
+}-->
+```http
+GET https://graph.microsoft.com/v1.0/teams/172b0cce-e65d-44ce-9a49-91d9f2e8491e/photo
+```
+
+#### Response
+
+Here is an example of the response.
+
+> **Note:** The response object shown here might be shortened for readability.
+<!-- {
+ "blockType": "response"
+} -->
+
+```http
+HTTP/1.1 200 OK
+Content-type: application/json
+
+{
+ "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#teams('172b0cce-e65d-44ce-9a49-91d9f2e8491e')/photo/$entity",
+ "@odata.id": "https://graph.microsoft.com/v1.0/teams('172b0cce-e65d-44ce-9a49-91d9f2e8491e')/photo",
+ "@odata.mediaContentType": "image/jpeg",
+ "@odata.mediaEtag": "\"BA09D118\"",
+ "id": "240X240",
+ "width": 240,
+ "height": 240
+}
+```
+
+### Example 5: Get the team photo's binary data
+
+Here is an example of the request to get the team photo's binary data.
+
+#### Request
+
+<!-- {
+ "blockType": "ignored",
+ "name": "get_team_photo"
+}-->
+```http
+GET https://graph.microsoft.com/v1.0/teams/172b0cce-e65d-44ce-9a49-91d9f2e8491e/photo/$value
+```
+
+#### Response
+
+Contains the binary data of the requested photo. The HTTP response code is 200.
## Using the binary data of the requested photo
v1.0 Profilephoto Update https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/v1.0/api/profilephoto-update.md
Title: "Update profilePhoto"
-description: "Update the photo for the signed-in user, or the specified group or contact."
+description: "Update the photo for the signed-in user, or the specified group or contact or team."
ms.localizationpriority: medium ms.prod: "people"
doc_type: apiPageType
Namespace: microsoft.graph
-Update the photo for the signed-in **user**, or the specified **group** or **contact**.
+Update the photo for the specified contact, group, team, or user in a tenant. The size of the photo you can update to must be under 8 MB.
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.
+You can use either PATCH or PUT for this operation.
> **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).
-### To update the profile photo of the signed-in user
+### To update the profile photo of a contact
|Permission type | Permissions (from least to most privileged) | |:--|:|
-|Delegated (work or school account) | User.ReadWrite, User.ReadWrite.All |
+|Delegated (work or school account) | Contacts.ReadWrite |
|Delegated (personal Microsoft account) | Not supported. |
-|Application | User.ReadWrite.All |
+|Application | Contacts.ReadWrite |
### To update the profile photo of a group
One of the following permissions is required to call this API. To learn more, in
|Delegated (personal Microsoft account) | Not supported. | |Application | Group.ReadWrite.All |
-### To update the profile photo of a contact
+### To update the profile photo of a team
+
+| Permission Type | Permissions (from least to most privileged) |
+| | -- |
+| Delegated (work or school account) | TeamSettingsReadWriteAll |
+| Delegated (personal Microsoft account) | Not supported. |
+| Application | TeamSettingsReadWriteAll |
+
+### To update the profile photo of the signed-in user
|Permission type | Permissions (from least to most privileged) | |:--|:|
-|Delegated (work or school account) | Contacts.ReadWrite |
+|Delegated (work or school account) | User.ReadWrite, User.ReadWrite.All |
|Delegated (personal Microsoft account) | Not supported. |
-|Application | Contacts.ReadWrite |
+|Application | User.ReadWrite.All |
> [!NOTE]
+>
> 1. To update the photo of any user in the organization, your app must have the *User.ReadWrite.All* application permission and call this API under its own identity, not on behalf of a user. To learn more, see [get access without a signed-in user](/graph/auth-v2-service). Updating the photo of the signed-in user only requires *User.ReadWrite* permission. > 2. There is currently a [known issue](/graph/known-issues#groups) with accessing group photos using application permissions. > 3. Updating a user's photo using the Microsoft Graph API is currently not supported in Azure AD B2C tenants.
PUT /me/contacts/{id}/photo/$value
PUT /users/{id | userPrincipalName}/contacts/{id}/photo/$value PUT /me/contactfolders/{contactFolderId}/contacts/{id}/photo/$value PUT /users/{id | userPrincipalName}/contactfolders/{contactFolderId}/contacts/{id}/photo/$value
+PUT /team/{id}/photo/$value
```+ ## Request headers+ | Header | Value | |:|:--| | Authorization | Bearer {token}. Required. | | Content-Type | image/jpeg. Required. | ## Request body+ In the request body, include the binary data of the photo in the request body. ## Response
-If successful, this method returns a `200 OK` response code.
-## Example
-### Request
+If successful, this method returns a `200 OK` response code or a `204 No Content` response code for updating the photo of a **team**.
+
+## Examples
+
+### Example 1: Update the photo of the user
+
+#### Request
+ The following is an example of a request. # [HTTP](#tab/http)
Content-type: image/jpeg
Binary data for the image ```+ # [C#](#tab/csharp)+ [!INCLUDE [sample-code](../includes/snippets/csharp/update-profilephoto-csharp-snippets.md)] [!INCLUDE [sdk-documentation](../includes/snippets/snippets-sdk-documentation-link.md)] # [JavaScript](#tab/javascript)+ [!INCLUDE [sample-code](../includes/snippets/javascript/update-profilephoto-javascript-snippets.md)] [!INCLUDE [sdk-documentation](../includes/snippets/snippets-sdk-documentation-link.md)] # [Java](#tab/java)+ [!INCLUDE [sample-code](../includes/snippets/jav)] [!INCLUDE [sdk-documentation](../includes/snippets/snippets-sdk-documentation-link.md)]
-### Response
-The following 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.
+ <!-- { "blockType": "response" } -->
The following is an example of the response.
HTTP/1.1 200 OK ```
-<!-- uuid: 8fcb5dbc-d5aa-4681-8e31-b001d5168d79
-2015-10-25 14:57:30 UTC -->
+### Example 2: Update the photo of a team
+
+#### Request
+
+The following is an example of a request to update a team photo.
+ <!-- {
- "type": "#page.annotation",
- "description": "Update profilephoto",
- "keywords": "",
- "section": "documentation",
- "tocPath": "",
- "suppressions": [
- ]
+ "blockType": "request",
+ "name": "update_team_photo"
}-->
+```http
+PUT https://graph.microsoft.com/v1.0/teams/172b0cce-e65d-44ce-9a49-91d9f2e8491e/photo/$value
+Content-type: image/jpeg
+
+Binary data for the image
+```
+
+#### Response
+
+The following is an example of the response.
+<!-- {
+ "blockType": "response",
+ "truncated": true
+} -->
+
+```http
+HTTP/1.1 204 No Content
+```
v1.0 Availabilityitem https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/v1.0/resources/availabilityitem.md
+
+ Title: "availabilityItem resource type"
+description: "Indicates the status of a staff member for a given time slot."
+
+ms.localizationpriority: medium
++
+# availabilityItem resource type
+
+Namespace: microsoft.graph
+
+Indicates the status of a [staff member](bookingstaffmember.md) for a given time slot.
+
+## Properties
+
+| Property | Type |Description|
+|:|:--|:-|
+|endDateTime |dateTimeTimeZone |The end time of the time slot.|
+|serviceId |String |Indicates the service ID in case of 1:n appointments. If the appointment is of type 1:n, this field will be present, otherwise, `null`.|
+|status |bookingsAvailabilityStatus |The status of the staff member. Possible values are: `available`, `busy`, `slotsAvailable`, `outOfOffice`, `unknownFutureValue`.|
+|startDateTime |dateTimeTimeZone |The start time of the time slot.|
+
+## JSON representation
+
+The following is a JSON representation of the resource.
+
+<!-- {
+ "blockType": "resource",
+ "@odata.type": "microsoft.graph.availabilityItem"
+}-->
+
+``` json
+{
+ "endDateTime": "DateTimeInfo",
+ "serviceId": "String",
+ "status": "String",
+ "startDateTime": "DateTimeInfo"
+}
+```
v1.0 Bookingappointment https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/v1.0/resources/bookingappointment.md
Namespace: microsoft.graph
Represents a customer appointment for a [bookingService](bookingservice.md), performed by a set of staff members, provided by a Microsoft Bookings business.
+> [!NOTE]
+> If you create a custom app using application permissions, you must follow the [Business rules validation](/graph/bookingsbusiness-business-rules).
## Methods | Method | Return Type |Description| |:|:--|:-|
-|[List appointments](../api/bookingbusiness-list-appointments.md) | [bookingAppointment](bookingappointment.md) collection | Get a list of **bookingAppointment** objects in the specified [bookingBusiness](../resources/bookingbusiness.md). |
-|[Create bookingAppointment](../api/bookingbusiness-post-appointments.md) | [bookingAppointment](bookingappointment.md) | Create a new **bookingAppointment** for the specified [bookingBusiness](../resources/bookingbusiness.md). |
+|[List appointments](../api/bookingbusiness-list-appointments.md) | [bookingAppointment](bookingappointment.md) collection | Get a list of **bookingAppointment** objects in the specified [bookingbusiness](bookingbusiness.md). |
+|[Create bookingAppointment](../api/bookingbusiness-post-appointments.md) | [bookingAppointment](bookingappointment.md) | Create a new **bookingAppointment** for the specified [bookingbusiness](bookingbusiness.md). |
|[Get bookingAppointment](../api/bookingappointment-get.md) | [bookingAppointment](bookingappointment.md) |Read the properties and relationships of **bookingAppointment** object.| |[Update](../api/bookingappointment-update.md) | [bookingAppointment](bookingappointment.md) |Update a **bookingAppointment** object. | |[Delete](../api/bookingappointment-delete.md) | None |Delete a **bookingAppointment** object. | |[Cancel](../api/bookingappointment-cancel.md)|None| Cancel a **bookingAppointment** object.| ## Properties+ | Property | Type |Description| |:|:--|:-| |additionalInformation|String|Additional information that is sent to the customer when an appointment is confirmed.|
-|customers|[bookingCustomerInformation](../resources/bookingcustomerinformation.md) collection|It lists down the customer properties for an appointment. An appointment will contain a list of customer information and each unit will indicate the properties of a customer who is part of that appointment. Optional.|
+|customers|[bookingCustomerInformation](bookingcustomerinformation.md) collection|It lists down the customer properties for an appointment. An appointment will contain a list of customer information and each unit will indicate the properties of a customer who is part of that appointment. Optional.|
|customerTimeZone|String|The time zone of the customer. For a list of possible values, see [dateTimeTimeZone](datetimetimezone.md).| |duration|Duration|The length of the appointment, denoted in [ISO8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. | |endDateTime|[dateTimeTimeZone](datetimetimezone.md)|The date, time, and time zone that the appointment ends.|
Represents a customer appointment for a [bookingService](bookingservice.md), per
|startDateTime|[dateTimeTimeZone](datetimetimezone.md)|The date, time, and time zone that the appointment begins.| ## Relationships+ None. ## JSON representation
The following is a JSON representation of the resource.
"tocPath": "", "suppressions": [] }>--
+-->
v1.0 Bookingbusiness https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/v1.0/resources/bookingbusiness.md
Represents a business in Microsoft Bookings. This is the top level object in the
## Methods
-| Method | Return Type |Description|
+| Method | Return Type |Description|
|:|:--|:-| |[List bookingBusinesses](../api/bookingbusiness-list.md) | [bookingBusiness](bookingbusiness.md) collection |Get a collection of **bookingBusiness** objects in the tenant. | |[Create bookingBusiness](../api/bookingbusiness-post-bookingbusinesses.md) | [bookingBusiness](bookingbusiness.md) | Create a new Microsoft Bookings business. |
Represents a business in Microsoft Bookings. This is the top level object in the
|[Unpublish](../api/bookingbusiness-unpublish.md)|None| Make the scheduling page of this business not available to external customers. Set the **isPublished** property to `false`, and the **publicUrl** property to `null`.| ## Properties
-| Property | Type |Description|
+
+| Property | Type |Description|
|:|:--|:-| |address|[physicalAddress](physicaladdress.md)|The street address of the business. The **address** property, together with **phone** and **webSiteUrl**, appear in the footer of a business scheduling page. The attribute **type** of physicalAddress is not supported in v1.0. Internally we map the addresses to the type `others`.| |businessHours|[bookingWorkHours](bookingworkhours.md) collection|The hours of operation for the business.|
Represents a business in Microsoft Bookings. This is the top level object in the
|webSiteUrl|String|The URL of the business web site. The **webSiteUrl** property, together with **address**, **phone**, appear in the footer of a business scheduling page.| ## Relationships+ | Relationship | Type |Description| |:|:--|:-| |appointments|[bookingAppointment](bookingappointment.md) collection| All the appointments of this business. Read-only. Nullable.|
v1.0 Enums https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/v1.0/resources/enums.md
doc_type: enumPageType
Namespace: microsoft.graph
+### bookingsAvailabilityStatus values
+|Member|
+|:|
+|available|
+|busy|
+|slotsAvailable|
+|outOfOffice|
+|unknownFutureValue|
### crossTenantAccessPolicyTargetConfigurationAccessType values
v1.0 Identity https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/v1.0/resources/identity.md
- Title: Identity resource type+
+ Title: "identity resource type"
ms.localizationpriority: medium
-description: "The identity resource represents an identity of an actor."
+description: "Represents an identity of an actor."
ms.prod: files doc_type: resourcePageType
doc_type: resourcePageType
Namespace: microsoft.graph
-The **identity** resource represents an identity of an _actor_.
-For example, an actor can be a user, device, or application.
+Represents an identity of an _actor_. For example, an actor can be a user, device, or application.
+
+In some circumstances, the unique identifier for the actor might not be available.
+In this case, the **displayName** property for the identity will be returned, but the **id** property will be missing from the resource.
+
+## Properties
+
+| Property | Type | Description |
+|:|:-|:-|
+| displayName | String | The display name of the identity. Note that this might not always be available or up to date. For example, if a user changes their display name, the API might show the new value in a future response, but the items associated with the user won't show up as having changed when using [delta](../api/driveitem-delta.md). |
+| id | String | Unique identifier for the identity. |
## JSON representation
For example, an actor can be a user, device, or application.
} ```
-## Properties
-
-| Property | Type | Description |
-|:|:-|:-|
-| displayName | String | The identity's display name. Note that this may not always be available or up to date. For example, if a user changes their display name, the API may show the new value in a future response, but the items associated with the user won't show up as having changed when using [delta](../api/driveitem-delta.md). |
-| id | String | Unique identifier for the identity. |
-
-## Remarks
-
-In some circumstances, the unique identifier for the actor may not be available.
-In this case, the **displayName** property for the identity will be returned, but the **id** property will be missing from the resource.
- <!-- uuid: 8fcb5dbc-d5aa-4681-8e31-b001d5168d79 2015-10-25 14:57:30 UTC --> <!-- {
v1.0 Indexing Api Overview https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/v1.0/resources/indexing-api-overview.md
The following are current known limitations:
- Organizations are limited to a maximum of 10 connections. - You can create only four `externalItem` resources items per second. - An application is limited to four concurrent operations on a connection.-- Connections have a capacity limit of 700,000 items or ~70 GB of data.
+- Connections have a capacity limit of 5,000,000 items or ~350 GB of data.
- Maximum size of an `externalItem` entity is 4 MB. - Sorting results is not supported.
v1.0 Profilephoto https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/v1.0/resources/profilephoto.md
Title: "profilePhoto resource type"
-description: "A profile photo of a user, group or an Outlook contact accessed from Exchange Online. It's binary data not encoded in base-64."
+description: "Repesents a profile photo of a user, group, team, or Outlook contact accessed from Exchange Online or Azure Active Directory (Azure AD)."
ms.localizationpriority: medium ms.prod: "people"
doc_type: resourcePageType
Namespace: microsoft.graph
-A profile photo of a user, group or an Outlook contact accessed from Exchange Online. It's binary data not encoded in base-64.
+Repesents a profile photo of a user, group, team, or Outlook contact accessed from Exchange Online or Azure Active Directory (Azure AD). The data is binary and not encoded in base-64.
-The supported sizes of HD photos on Exchange Online are as follows: '48x48', '64x64', '96x96', '120x120',
-'240x240', '360x360','432x432', '504x504', and '648x648'.
+The supported sizes of HD photos on Exchange Online are as follows: `48x48`, `64x64`, `96x96`, `120x120`, `240x240`,
+`360x360`,`432x432`, `504x504`, and `648x648`. In Azure AD, photos can be any dimension.
## Methods
-| Method | Return Type |Description|
-|:|:--|:-|
-|[Get profilePhoto](../api/profilephoto-get.md) | [profilePhoto](profilephoto.md) |Get the specified **profilePhoto** or its metadata (profilePhoto properties).|
-|[Update](../api/profilephoto-update.md) | [profilePhoto](profilephoto.md) |Assign a photo to the specified user, group, or contact. The photo should be in binary. It replaces the existing photo, if any.|
+|Method|Return type|Description|
+|:|:|:|
+|[Get profilePhoto](../api/profilephoto-get.md)|[profilePhoto](../resources/profilephoto.md)|Read the properties and relationships of a profile photo object.|
+|[Update profilePhoto](../api/profilephoto-update.md)|[profilePhoto](../resources/profilephoto.md)|Update the properties of a profile photo object.|
> [!NOTE]
->
> Managing users' photos using the Microsoft Graph API is currently not supported in Azure AD B2C tenants. ## Properties
The supported sizes of HD photos on Exchange Online are as follows: '48x48', '64
|width|int32|The width of the photo. Read-only.| ## Relationships
-None
+None.
## JSON representation
Here is a JSON representation of the resource.
```json {
- "id": "240X240",
+ "id": "String",
"height": 240, "width": 240 }
v1.0 Staffavailabilityitem https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/v1.0/resources/staffavailabilityitem.md
+
+ Title: "staffAvailabilityItem resource type"
+description: "Represents the available and busy time slots of a Bookings staff member."
+
+ms.localizationpriority: medium
++
+# staffAvailabilityItem resource type
+
+Namespace: microsoft.graph
+
+ [!INCLUDE [beta-disclaimer](../../includes/beta-disclaimer.md)]
+
+Represents the available and busy time slots of a Microsoft Bookings [staff member](bookingstaffmember.md).
+
+## Properties
+
+| Property | Type |Description|
+|:|:--|:-|
+|availabilityItems |[availabilityItem](availabilityitem.md) collection |Each item in this collection indicates a slot and the status of the staff member.|
+|staffId |String |The ID of the staff member.|
+
+## JSON representation
+
+The following is a JSON representation of the resource.
+
+<!-- {
+ "blockType": "resource",
+ "@odata.type": "microsoft.graph.staffAvailabilityItem"
+}-->
+
+``` json
+{
+ "availabilityItems": [{"@odata.type": "microsoft.graph.availabilityItem"}],
+ "staffId": "String"
+}
+```
v1.0 Team https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/v1.0/resources/team.md
doc_type: resourcePageType
Namespace: microsoft.graph -- A team in Microsoft Teams is a collection of [channel](channel.md) objects. A channel represents a topic, and therefore a logical isolation of discussion, within a team.
For a POST request example, see [Request (create team in migration state)](/micr
|channels|[channel](channel.md) collection|The collection of channels and messages associated with the team.| |installedApps|[teamsAppInstallation](teamsappinstallation.md) collection|The apps installed in this team.| |members|[conversationMember](../resources/conversationmember.md) collection|Members and owners of the team.|
-|operations|[teamsAsyncOperation](teamsasyncoperation.md) collection| The async operations that ran or are running on this team. |
-|[primaryChannel](../api/team-get-primarychannel.md)|[channel](channel.md)| The general channel for the team. |
+|operations|[teamsAsyncOperation](teamsasyncoperation.md) collection| The async operations that ran or are running on this team. |
+|[primaryChannel](../api/team-get-primarychannel.md)|[channel](channel.md)| The general channel for the team. |
|schedule|[schedule](schedule.md)| The schedule of shifts for this team.|
+|photo|[profilePhoto](../resources/profilephoto.md)| The profile photo for the team. |
|template|[teamsTemplate](teamstemplate.md)| The template this team was created from. See [available templates](/MicrosoftTeams/get-started-with-teams-templates). | ## JSON representation
The following is a JSON representation of the resource.
- [Use the Microsoft Graph API to work with Microsoft Teams](teams-api-overview.md) - [Creating a group with a team](/graph/teams-create-group-and-team) - [List all teams](/graph/teams-list-all-teams)-
v1.0 Toc.Yml https://github.com/microsoftgraph/microsoft-graph-docs/commits/main/api-reference/v1.0/toc.yml a/api-reference/v1.0/toc.yml
items:
href: api/bookingbusiness-publish.md - name: Unpublish href: api/bookingbusiness-unpublish.md
+ - name: Get staff availability
+ href: api/bookingbusiness-getstaffavailability.md
- name: Booking appointment href: resources/bookingappointment.md items:
items:
href: api/user-list-joinedteams.md - name: Get primary channel href: api/team-get-primarychannel.md
+ - name: Get team photo
+ href: api/profilephoto-get.md
+ - name: Update team photo
+ href: api/profilephoto-update.md
- name: List all teams href: /graph/teams-list-all-teams?context=graph/api/1.0 - name: Complete migration for team