Microsoft 365 Chats.chat.Actions API
The chats.chat.Actions API from Microsoft 365 — 8 operation(s) for chats.chat.actions.
The chats.chat.Actions API from Microsoft 365 — 8 operation(s) for chats.chat.actions.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/microsoft-365:microsoft-365-chats-chat-actions-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Teams Chats.chat.Actions API
version: v1.0
servers:
- url: https://graph.microsoft.com/v1.0/
description: Core
security:
- azureaadv2: []
tags:
- name: chats.chat.Actions
paths:
/chats/{chat-id}/microsoft.graph.completeMigration:
post:
tags:
- chats.chat.Actions
summary: Invoke action completeMigration
description: 'Complete the migration of external messages by removing migration mode from a chat. Complete migration operations were initially restricted to newly created standard channels using migration templates specifically designed for the initial migration process. For more information, see Import third-party platform messages to Teams using Microsoft Graph. After a completeMigration request is made for an existing or new chat, you can start a migration session by calling chat: startMigration. This API supportes the following channel types.'
externalDocs:
description: Find more info here
url: https://learn.microsoft.com/graph/api/chat-completemigration?view=graph-rest-1.0
operationId: chat_completeMigration
parameters:
- name: chat-id
in: path
description: The unique identifier of chat
required: true
style: simple
schema:
type: string
x-ms-docs-key-type: chat
responses:
2XX:
description: Success
default:
$ref: '#/components/responses/error'
x-ms-docs-operation-type: action
/chats/{chat-id}/microsoft.graph.hideForUser:
post:
tags:
- chats.chat.Actions
summary: Invoke action hideForUser
description: Hide a chat for a user.
externalDocs:
description: Find more info here
url: https://learn.microsoft.com/graph/api/chat-hideforuser?view=graph-rest-1.0
operationId: chat_hideGraphFPreUser
parameters:
- name: chat-id
in: path
description: The unique identifier of chat
required: true
style: simple
schema:
type: string
x-ms-docs-key-type: chat
requestBody:
description: Action parameters
content:
application/json:
schema:
type: object
properties:
user:
$ref: '#/components/schemas/microsoft.graph.teamworkUserIdentity'
additionalProperties:
type: object
required: true
responses:
2XX:
description: Success
default:
$ref: '#/components/responses/error'
x-ms-docs-operation-type: action
/chats/{chat-id}/microsoft.graph.markChatReadForUser:
post:
tags:
- chats.chat.Actions
summary: Invoke action markChatReadForUser
description: Mark a chat as read for a user.
externalDocs:
description: Find more info here
url: https://learn.microsoft.com/graph/api/chat-markchatreadforuser?view=graph-rest-1.0
operationId: chat_markChatReadGraphFPreUser
parameters:
- name: chat-id
in: path
description: The unique identifier of chat
required: true
style: simple
schema:
type: string
x-ms-docs-key-type: chat
requestBody:
description: Action parameters
content:
application/json:
schema:
type: object
properties:
user:
$ref: '#/components/schemas/microsoft.graph.teamworkUserIdentity'
additionalProperties:
type: object
required: true
responses:
2XX:
description: Success
default:
$ref: '#/components/responses/error'
x-ms-docs-operation-type: action
/chats/{chat-id}/microsoft.graph.markChatUnreadForUser:
post:
tags:
- chats.chat.Actions
summary: Invoke action markChatUnreadForUser
description: Mark a chat as unread for a user.
externalDocs:
description: Find more info here
url: https://learn.microsoft.com/graph/api/chat-markchatunreadforuser?view=graph-rest-1.0
operationId: chat_markChatUnreadGraphFPreUser
parameters:
- name: chat-id
in: path
description: The unique identifier of chat
required: true
style: simple
schema:
type: string
x-ms-docs-key-type: chat
requestBody:
description: Action parameters
content:
application/json:
schema:
type: object
properties:
user:
$ref: '#/components/schemas/microsoft.graph.teamworkUserIdentity'
lastMessageReadDateTime:
pattern: ^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$
type:
- string
- 'null'
format: date-time
additionalProperties:
type: object
required: true
responses:
2XX:
description: Success
default:
$ref: '#/components/responses/error'
x-ms-docs-operation-type: action
/chats/{chat-id}/microsoft.graph.removeAllAccessForUser:
post:
tags:
- chats.chat.Actions
summary: Invoke action removeAllAccessForUser
description: Remove access to a chat for a user.
externalDocs:
description: Find more info here
url: https://learn.microsoft.com/graph/api/chat-removeallaccessforuser?view=graph-rest-1.0
operationId: chat_removeAllAccessGraphFPreUser
parameters:
- name: chat-id
in: path
description: The unique identifier of chat
required: true
style: simple
schema:
type: string
x-ms-docs-key-type: chat
requestBody:
description: Action parameters
content:
application/json:
schema:
type: object
properties:
user:
$ref: '#/components/schemas/microsoft.graph.teamworkUserIdentity'
additionalProperties:
type: object
required: true
responses:
2XX:
description: Success
default:
$ref: '#/components/responses/error'
x-ms-docs-operation-type: action
/chats/{chat-id}/microsoft.graph.sendActivityNotification:
post:
tags:
- chats.chat.Actions
summary: Invoke action sendActivityNotification
description: Send an activity feed notification in scope of a chat. For more information about sending notifications and the requirements for doing so, see sending Teams activity notifications.
externalDocs:
description: Find more info here
url: https://learn.microsoft.com/graph/api/chat-sendactivitynotification?view=graph-rest-1.0
operationId: chat_sendActivityNotification
parameters:
- name: chat-id
in: path
description: The unique identifier of chat
required: true
style: simple
schema:
type: string
x-ms-docs-key-type: chat
requestBody:
description: Action parameters
content:
application/json:
schema:
type: object
properties:
topic:
$ref: '#/components/schemas/microsoft.graph.teamworkActivityTopic'
activityType:
type:
- string
- 'null'
chainId:
type:
- number
- 'null'
format: int64
previewText:
$ref: '#/components/schemas/microsoft.graph.itemBody'
teamsAppId:
type:
- string
- 'null'
templateParameters:
type: array
items:
$ref: '#/components/schemas/microsoft.graph.keyValuePair'
recipient:
$ref: '#/components/schemas/microsoft.graph.teamworkNotificationRecipient'
iconId:
type:
- string
- 'null'
additionalProperties:
type: object
required: true
responses:
2XX:
description: Success
default:
$ref: '#/components/responses/error'
x-ms-docs-operation-type: action
/chats/{chat-id}/microsoft.graph.startMigration:
post:
tags:
- chats.chat.Actions
summary: Invoke action startMigration
description: 'Start the migration of external messages by enabling migration mode in an existing chat. Import operations were limited to newly created standard channels that were in an empty state. For more information, see Import third-party platform messages to Teams using Microsoft Graph. You can define a minimum timestamp for content migration that enables the import of messages from the past. The specified timestamp must be earlier than the current createdDateTime of the chat. Imported content is always limited by the createdDateTime of the target thread. An optional createdDateTime property in the payload allows you to update this value, but with strict rules: This API supportes the following channel types.'
externalDocs:
description: Find more info here
url: https://learn.microsoft.com/graph/api/chat-startmigration?view=graph-rest-1.0
operationId: chat_startMigration
parameters:
- name: chat-id
in: path
description: The unique identifier of chat
required: true
style: simple
schema:
type: string
x-ms-docs-key-type: chat
requestBody:
description: Action parameters
content:
application/json:
schema:
type: object
properties:
conversationCreationDateTime:
pattern: ^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$
type:
- string
- 'null'
format: date-time
additionalProperties:
type: object
required: true
responses:
2XX:
description: Success
default:
$ref: '#/components/responses/error'
x-ms-docs-operation-type: action
/chats/{chat-id}/microsoft.graph.unhideForUser:
post:
tags:
- chats.chat.Actions
summary: Invoke action unhideForUser
description: Unhide a chat for a user.
externalDocs:
description: Find more info here
url: https://learn.microsoft.com/graph/api/chat-unhideforuser?view=graph-rest-1.0
operationId: chat_unhideGraphFPreUser
parameters:
- name: chat-id
in: path
description: The unique identifier of chat
required: true
style: simple
schema:
type: string
x-ms-docs-key-type: chat
requestBody:
description: Action parameters
content:
application/json:
schema:
type: object
properties:
user:
$ref: '#/components/schemas/microsoft.graph.teamworkUserIdentity'
additionalProperties:
type: object
required: true
responses:
2XX:
description: Success
default:
$ref: '#/components/responses/error'
x-ms-docs-operation-type: action
components:
schemas:
microsoft.graph.ODataErrors.InnerError:
type: object
additionalProperties:
type: object
description: The structure of this object is service-specific
microsoft.graph.teamworkActivityTopic:
title: teamworkActivityTopic
type: object
properties:
source:
$ref: '#/components/schemas/microsoft.graph.teamworkActivityTopicSource'
value:
type: string
description: The topic value. If the value of the source property is entityUrl, this must be a Microsoft Graph URL. If the value is text, this must be a plain text value.
webUrl:
type:
- string
- 'null'
description: The link the user clicks when they select the notification. Optional when source is entityUrl; required when source is text.
additionalProperties:
type: object
microsoft.graph.bodyType:
title: bodyType
enum:
- text
- html
type: string
microsoft.graph.ODataErrors.MainError:
required:
- code
- message
type: object
properties:
code:
type: string
message:
type: string
x-ms-primary-error-message: true
target:
type:
- string
- 'null'
details:
type: array
items:
$ref: '#/components/schemas/microsoft.graph.ODataErrors.ErrorDetails'
innerError:
$ref: '#/components/schemas/microsoft.graph.ODataErrors.InnerError'
additionalProperties:
type: object
microsoft.graph.teamworkNotificationRecipient:
title: teamworkNotificationRecipient
type: object
additionalProperties:
type: object
microsoft.graph.ODataErrors.ODataError:
required:
- error
type: object
properties:
error:
$ref: '#/components/schemas/microsoft.graph.ODataErrors.MainError'
additionalProperties:
type: object
microsoft.graph.teamworkActivityTopicSource:
title: teamworkActivityTopicSource
enum:
- entityUrl
- text
type: string
microsoft.graph.teamworkUserIdentityType:
title: teamworkUserIdentityType
enum:
- aadUser
- onPremiseAadUser
- anonymousGuest
- federatedUser
- personalMicrosoftAccountUser
- skypeUser
- phoneUser
- unknownFutureValue
- emailUser
type: string
microsoft.graph.teamworkUserIdentity:
allOf:
- $ref: '#/components/schemas/microsoft.graph.identity'
- title: teamworkUserIdentity
type: object
properties:
userIdentityType:
$ref: '#/components/schemas/microsoft.graph.teamworkUserIdentityType'
additionalProperties:
type: object
microsoft.graph.keyValuePair:
title: keyValuePair
type: object
properties:
name:
type: string
description: Name for this key-value pair
value:
type:
- string
- 'null'
description: Value for this key-value pair
additionalProperties:
type: object
microsoft.graph.identity:
title: identity
type: object
properties:
displayName:
type:
- string
- 'null'
description: The display name of the identity.For drive items, the display name 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 don't show up as changed when using delta.
id:
type:
- string
- 'null'
description: Unique identifier for the identity or actor. For example, in the access reviews decisions API, this property might record the id of the principal, that is, the group, user, or application that's subject to review.
additionalProperties:
type: object
microsoft.graph.ODataErrors.ErrorDetails:
required:
- code
- message
type: object
properties:
code:
type: string
message:
type: string
target:
type:
- string
- 'null'
additionalProperties:
type: object
microsoft.graph.itemBody:
title: itemBody
type: object
properties:
content:
type:
- string
- 'null'
description: The content of the item.
contentType:
$ref: '#/components/schemas/microsoft.graph.bodyType'
additionalProperties:
type: object
responses:
error:
description: error
content:
application/json:
schema:
$ref: '#/components/schemas/microsoft.graph.ODataErrors.ODataError'
securitySchemes:
azureaadv2:
type: oauth2
flows:
authorizationCode:
authorizationUrl: https://login.microsoftonline.com/common/oauth2/v2.0/authorize
tokenUrl: https://login.microsoftonline.com/common/oauth2/v2.0/token
scopes: {}