Microsoft 365 Chats.chat.Actions API

The chats.chat.Actions API from Microsoft 365 — 8 operation(s) for chats.chat.actions.

Operations 8

POST /chats/{chat-id}/microsoft.graph.completeMigration Invoke action completeMigration #
POST /chats/{chat-id}/microsoft.graph.hideForUser Invoke action hideForUser #
POST /chats/{chat-id}/microsoft.graph.markChatReadForUser Invoke action markChatReadForUser #
POST /chats/{chat-id}/microsoft.graph.markChatUnreadForUser Invoke action markChatUnreadForUser #
POST /chats/{chat-id}/microsoft.graph.removeAllAccessForUser Invoke action removeAllAccessForUser #
POST /chats/{chat-id}/microsoft.graph.sendActivityNotification Invoke action sendActivityNotification #
POST /chats/{chat-id}/microsoft.graph.startMigration Invoke action startMigration #
POST /chats/{chat-id}/microsoft.graph.unhideForUser Invoke action unhideForUser #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/microsoft-365:microsoft-365-chats-chat-actions-api"
All apis
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.

Get an API 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 Specification

microsoft-365-chats-chat-actions-api-openapi.yml Raw ↑
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: {}