ESC
Type to search...

Chat.ReadWrite.WhereInstalled

Export JSON
Export CSV
Copy URL
Print
Application Read/Write User Scope

Allows the app to read and write all chat messages in Microsoft Teams for chats where the associated Teams application is installed, without a signed-in user.

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

Permission Details

Application Permission

Read and write all chat messages for chats where the associated Teams application is installed.

Allows the app to read and write all chat messages in Microsoft Teams for chats where the associated Teams application is installed, without a signed-in user.

Properties

Microsoft Graph v1.0 exact-category-docs

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

Property Type Description
chatType chatType Specifies the type of chat. The possible values are: group, oneOnOne, meeting, unknownFutureValue.
createdDateTime dateTimeOffsetNullable Date and time at which the chat was created. Read-only.
id String The chat's unique identifier. Read-only.
isHiddenForAllMembers BooleanNullable Indicates whether the chat is hidden for all its members. Read-only.
lastUpdatedDateTime dateTimeOffsetNullable Date and time at which the chat was renamed or the list of members was last changed. Read-only.
onlineMeetingInfo teamworkOnlineMeetingInfo Represents details about an online meeting. If the chat isn't associated with an online meeting, the property is empty. Read-only.
tenantId StringNullable The identifier of the tenant in which the chat was created. Read-only.
topic StringNullable (Optional) Subject or topic for the chat. Only available for group chats.
viewpoint chatViewpoint Represents caller-specific information about the chat, such as the last message read date and time. This property is populated only when the request is made in a delegated context.
webUrl StringNullable The URL for the chat in Microsoft Teams. The URL should be treated as an opaque blob, and not parsed. Read-only.
installedApps teamsAppInstallation collection A collection of all the apps in the chat. Nullable.
lastMessagePreview object Preview of the last message sent in the chat. Null if no messages were sent in the chat. Currently, only the list chats operation supports this property.
members conversationMember collection A collection of all the members in the chat. Nullable.
messages chatMessage collection A collection of all the messages in the chat. Nullable.
permissionGrants resourceSpecificPermissionGrant collection A collection of permissions granted to apps for the chat.

Showing 15 of 17 properties.

JSON Representation

Microsoft Graph v1.0 exact-category-docs

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

JSON representation
{
  "createdDateTime": "dateTimeOffset",
  "chatType": "string",
  "id": "string (identifier)",  
  "isHiddenForAllMembers": "Boolean",
  "lastUpdatedDateTime": "dateTimeOffset",
  "onlineMeetingInfo": {
    "@odata.type": "microsoft.graph.teamworkOnlineMeetingInfo"
  },
  "tenantId": "string",
  "topic": "string",
  
  "viewpoint": {
    "@odata.type": "microsoft.graph.chatViewpoint"
  },
  "webUrl": "string",
}

Relationships

Microsoft Graph v1.0 exact-category-docs

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

Relationship Type Description
installedApps teamsAppInstallation collection A collection of all the apps in the chat. Nullable.
lastMessagePreview chatMessageInfo Preview of the last message sent in the chat. Null if no messages were sent in the chat. Currently, only the list chats operation supports this property.
members conversationMember collection A collection of all the members in the chat. Nullable.
messages chatMessage collection A collection of all the messages in the chat. Nullable.
permissionGrants resourceSpecificPermissionGrant collection A collection of permissions granted to apps for the chat.
pinnedMessages pinnedChatMessageInfo collection A collection of all the pinned messages in the chat. Nullable.
tabs teamsTab collection A collection of all the tabs in the chat. Nullable.
chatType chatType Related chatType data exposed by this resource.
operations teamsAsyncOperation collection A collection of all the Teams async operations that ran or are running on the chat. Nullable.

Graph Methods

Delegated access App-only access
No Learn or OpenAPI mapping available

Microsoft Graph v1.0 endpoints are not available from refreshed Microsoft Learn or Microsoft Graph OpenAPI metadata for this permission.

No API methods available for this version.

No Learn or OpenAPI mapping available

Microsoft Graph beta endpoints are not available from refreshed Microsoft Learn or Microsoft Graph OpenAPI metadata for this permission.

No API methods available for this version.

No Microsoft Learn PowerShell mapping available

Microsoft Graph PowerShell v1.0 commands are not available from refreshed Microsoft Learn PowerShell snippets for this permission.

No deterministic PowerShell command map is available for this permission.

Browse PowerShell docs
No Microsoft Learn PowerShell mapping available

Microsoft Graph PowerShell beta commands are not available from refreshed Microsoft Learn PowerShell snippets for this permission.

No deterministic PowerShell command map is available for this permission.

Browse PowerShell docs

Code Examples

C# / .NET SDK
using Azure.Identity;
using Microsoft.Graph;

var scopes = new[] { "Chat.ReadWrite.WhereInstalled" };
var credential = new InteractiveBrowserCredential(
    new InteractiveBrowserCredentialOptions
    {
        ClientId = "YOUR_CLIENT_ID",
        TenantId = "YOUR_TENANT_ID",
        RedirectUri = new Uri("http://localhost")
    });

var graphClient = new GraphServiceClient(credential, scopes);
var response = await graphClient
    .WithUrl("https://graph.microsoft.com/v1.0/chat")
    .GetAsync();
JavaScript
import { Client } from "@microsoft/microsoft-graph-client";
import { InteractiveBrowserCredential } from "@azure/identity";

const credential = new InteractiveBrowserCredential({
  clientId: "YOUR_CLIENT_ID",
  tenantId: "YOUR_TENANT_ID",
  redirectUri: "http://localhost"
});

const token = await credential.getToken(["Chat.ReadWrite.WhereInstalled"]);
const client = Client.init({
  authProvider: (done) => done(null, token.token)
});

const response = await client.api("/chat").get();
PowerShell
Connect-MgGraph -Scopes "Chat.ReadWrite.WhereInstalled"
Invoke-MgGraphRequest -Method GET -Uri "https://graph.microsoft.com/v1.0/chat"
Python
from azure.identity import InteractiveBrowserCredential
import requests

credential = InteractiveBrowserCredential(
    client_id="YOUR_CLIENT_ID",
    tenant_id="YOUR_TENANT_ID"
)

token = credential.get_token("Chat.ReadWrite.WhereInstalled")
response = requests.get(
    "https://graph.microsoft.com/v1.0/chat",
    headers={"Authorization": f"Bearer {token.token}"}
)

print(response.json())

App Registration

1

Navigate to Azure Portal

Go to App registrations in Microsoft Entra admin center

2

Add API Permission

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

3

Select Permission Type

Choose Application permissions and search for Chat.ReadWrite.WhereInstalled

4

Grant Admin Consent

Application permissions always require admin consent.