Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Important
APIs under the /beta version are subject to change. Use of these APIs in production applications is not supported.
The Microsoft 365 Copilot Chat API allows you to create and continue multi-turn conversations with Microsoft 365 Copilot, while respecting the defined access controls within the organization. Use the Chat API to integrate Microsoft 365 Copilot into your generative AI solutions.
This documentation covers creating Copilot conversations using the Chat API. Learn how to continue synchronous conversations or streamed conversations with the Chat API.
Permissions
Choose the permission or permissions marked as least privileged for this API. Use a higher privileged permission or permissions only if your app requires it. For details about delegated and application permissions, see Permission types. To learn more about these permissions, see the permissions reference.
| Permission type | Least privileged permissions | Higher privileged permissions |
|---|---|---|
| Delegated (work or school account) | Sites.Read.All, Mail.Read, People.Read.All, OnlineMeetingTranscript.Read.All, Chat.Read, ChannelMessage.Read.All, ExternalItem.Read.All* | Not supported. |
| Delegated (personal Microsoft account) | Not supported. | Not supported. |
| Application | Not supported. | Not supported. |
* You need all of these Microsoft Graph permissions to successfully call the Microsoft 365 Copilot Chat API.
HTTP request
POST https://graph.microsoft.com/beta/copilot/conversations
Request headers
| Name | Description |
|---|---|
Authorization |
Bearer {token}. Required. Learn more about authentication and authorization. |
Content-Type |
application/json. Required. |
Request body
In the request body, supply an empty JSON body.
Response
If successful, this action returns a 201 Created response code and a copilotConversation in the response body.
Example
The following example shows how to create a Copilot conversation through the Microsoft 365 Copilot Chat API. Once the conversation is created, the id in the response body is used as a path parameter for continuing the conversation, using either the synchronous endpoint or the streamed endpoint.
Request
The following example shows the request.
POST https://graph.microsoft.com/beta/copilot/conversations
Content-Type: application/json
{}
Response
The following example shows the response.
HTTP/1.1 201 Created
Content-Type: application/json
{
"id": "0d110e7e-2b7e-4270-a899-fd2af6fde333",
"createdDateTime": "2025-09-30T15:28:46.1560062Z",
"displayName": "",
"status": "active",
"turnCount": 0
}