Microsoft Copilot Interaction Export API

Export and archive user interactions with Copilot across Microsoft 365 applications for compliance and auditing.

OpenAPI Specification

microsoft-copilot-interaction-export-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Microsoft Copilot Microsoft 365 Copilot APIs Change Notifications Interaction Export API
  description: REST APIs under the Microsoft Graph /copilot/ namespace that enable secure access to Microsoft 365 Copilot capabilities including retrieval, search, chat, interaction export, and change notifications. These APIs provide production-ready AI capabilities that work directly with Microsoft 365 data while respecting existing permissions, sensitivity labels, compliance controls, and policy enforcement.
  version: 1.0.0
  contact:
    name: Microsoft Graph Support
    url: https://learn.microsoft.com/en-us/graph/overview
  license:
    name: Microsoft API Terms of Use
    url: https://learn.microsoft.com/en-us/legal/microsoft-apis/terms-of-use
  termsOfService: https://learn.microsoft.com/en-us/legal/m365-copilot-apis/terms-of-use
servers:
- url: https://graph.microsoft.com/v1.0
  description: Microsoft Graph v1.0 (production)
- url: https://graph.microsoft.com/beta
  description: Microsoft Graph beta (preview)
security:
- oauth2: []
tags:
- name: Interaction Export
  description: Export and archive user interactions with Copilot across Microsoft 365 applications for compliance and auditing.
  externalDocs:
    url: https://learn.microsoft.com/en-us/microsoftteams/export-teams-content
paths:
  /copilot/interactionHistory/getAllEnterpriseInteractions:
    get:
      operationId: copilot.interactionHistory.getAllEnterpriseInteractions
      summary: Microsoft Copilot List All Enterprise Copilot Interactions
      description: Retrieve all Copilot interactions across the organization for compliance and auditing purposes. Returns aiInteraction objects representing user prompts and Copilot responses across Microsoft 365 applications. Requires compliance administrator permissions.
      tags:
      - Interaction Export
      externalDocs:
        url: https://learn.microsoft.com/en-us/microsoftteams/export-teams-content
      security:
      - oauth2:
        - AIInteraction.Read.All
      parameters:
      - $ref: '#/components/parameters/authorizationHeader'
      - name: $filter
        in: query
        description: OData filter expression to filter interactions by date range, user, or application.
        schema:
          type: string
        example: createdDateTime ge 2025-01-01T00:00:00Z and createdDateTime le 2025-03-31T23:59:59Z
      - name: $top
        in: query
        description: Maximum number of interactions to return per page.
        schema:
          type: integer
          minimum: 1
          maximum: 999
          default: 50
        example: 10
      - name: $skipToken
        in: query
        description: Pagination token for retrieving the next page of results.
        schema:
          type: string
        example: example_value
      responses:
        '200':
          description: List of Copilot interactions returned successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AiInteractionCollectionResponse'
              examples:
                CopilotInteractionhistoryGetallenterpriseinteractions200Example:
                  summary: Default copilot.interactionHistory.getAllEnterpriseInteractions 200 response
                  x-microcks-default: true
                  value:
                    '@odata.context': example_value
                    '@odata.nextLink': https://www.example.com
                    value:
                    - id: abc123
                      appClass: example_value
                      interactionType: userPrompt
                      conversationType: example_value
                      requestId: '500123'
                      sessionId: '500123'
                      createdDateTime: '2026-01-15T10:30:00Z'
                      etag: example_value
                      locale: example_value
                      attachments: {}
                      contexts: {}
                      links: {}
                      mentions: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  responses:
    Forbidden:
      description: Forbidden. The caller does not have the required permissions or the user does not have a Microsoft 365 Copilot license.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ODataError'
    Unauthorized:
      description: Unauthorized. A valid bearer token is required.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ODataError'
    BadRequest:
      description: Bad request. The request body or parameters are invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ODataError'
    TooManyRequests:
      description: Too many requests. The Retrieval API supports up to 200 requests per user per hour.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ODataError'
  schemas:
    AiInteractionLink:
      type: object
      description: Represents a link that appears in an AI interaction.
      properties:
        displayName:
          type: string
          description: The name of the link.
          example: example_value
        linkType:
          type: string
          description: Information about a link in an app chat or Business Chat (BizChat) interaction.
          example: example_value
        linkUrl:
          type: string
          format: uri
          description: The URL of the link.
          example: https://www.example.com
    ODataError:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              description: The error code.
            message:
              type: string
              description: The error message.
            innerError:
              type: object
              properties:
                date:
                  type: string
                  format: date-time
                request-id:
                  type: string
                client-request-id:
                  type: string
          example: example_value
    AiInteraction:
      type: object
      description: Represents an interaction between a user and Copilot across Microsoft 365 applications.
      properties:
        id:
          type: string
          description: The unique identifier for the interaction message.
          example: abc123
        appClass:
          type: string
          description: The data source for Copilot data. For example, IPM.SkypeTeams.Message.Copilot.Excel or IPM.SkypeTeams.Message.Copilot.Loop.
          example: example_value
        body:
          $ref: '#/components/schemas/ItemBody'
        interactionType:
          type: string
          enum:
          - userPrompt
          - aiResponse
          - unknownFutureValue
          description: Indicates whether the interaction is a user prompt or a Copilot response.
          example: userPrompt
        conversationType:
          type: string
          description: The type of the conversation (e.g., appchat, bizchat).
          example: example_value
        requestId:
          type: string
          description: Identifier that groups a user prompt with its corresponding Copilot response.
          example: '500123'
        sessionId:
          type: string
          description: Thread ID or conversation identifier that maps to all Copilot sessions for the user.
          example: '500123'
        createdDateTime:
          type: string
          format: date-time
          description: The time when the interaction was created.
          example: '2026-01-15T10:30:00Z'
        etag:
          type: string
          description: Timestamp of when the interaction was last modified.
          example: example_value
        locale:
          type: string
          description: The locale of the sender.
          example: example_value
        from:
          $ref: '#/components/schemas/IdentitySet'
        attachments:
          type: array
          description: Collection of documents attached to the interaction, such as cards and images.
          items:
            $ref: '#/components/schemas/AiInteractionAttachment'
          example: []
        contexts:
          type: array
          description: Identifiers that map to all contexts associated with the interaction.
          items:
            $ref: '#/components/schemas/AiInteractionContext'
          example: []
        links:
          type: array
          description: Collection of links that appear in the interaction.
          items:
            $ref: '#/components/schemas/AiInteractionLink'
          example: []
        mentions:
          type: array
          description: Collection of entities mentioned in the interaction, including users and bots.
          items:
            $ref: '#/components/schemas/AiInteractionMention'
          example: []
    AiInteractionMention:
      type: object
      description: Represents a mention of an entity in an AI interaction.
      properties:
        mentioned:
          type: object
          description: The entity mentioned in the message.
          properties:
            user:
              type: object
              properties:
                id:
                  type: string
                displayName:
                  type: string
          example: example_value
        mentionId:
          type: integer
          description: The identifier for the mention.
          example: '500123'
        mentionText:
          type: string
          description: The text mentioned in the message.
          example: example_value
    AiInteractionContext:
      type: object
      description: Represents context associated with an interaction.
      properties:
        contextReference:
          type: string
          description: The full file URL where the interaction happened.
          example: example_value
        contextType:
          type: string
          description: The type of the file.
          example: example_value
        displayName:
          type: string
          description: The name of the file.
          example: example_value
    AiInteractionCollectionResponse:
      type: object
      properties:
        '@odata.context':
          type: string
          description: OData context URL.
          example: example_value
        '@odata.nextLink':
          type: string
          format: uri
          description: URL to retrieve the next page of results.
          example: https://www.example.com
        value:
          type: array
          items:
            $ref: '#/components/schemas/AiInteraction'
          example: []
    IdentitySet:
      type: object
      description: The user, application, or device associated with the interaction.
      properties:
        user:
          type: object
          properties:
            id:
              type: string
              description: The unique identifier of the user.
            displayName:
              type: string
              description: The display name of the user.
          example: example_value
        application:
          type: object
          properties:
            id:
              type: string
              description: The unique identifier of the application.
            displayName:
              type: string
              description: The display name of the application.
          example: example_value
        device:
          type: object
          properties:
            id:
              type: string
              description: The unique identifier of the device.
            displayName:
              type: string
              description: The display name of the device.
          example: example_value
    ItemBody:
      type: object
      description: The body of a message.
      properties:
        contentType:
          type: string
          enum:
          - text
          - html
          description: The type of the content.
          example: text
        content:
          type: string
          description: The content of the body.
          example: example_value
    AiInteractionAttachment:
      type: object
      description: Represents a message attachment such as cards and images.
      properties:
        attachmentId:
          type: string
          description: Identifier for the attachment, unique only within the message scope.
          example: '500123'
        content:
          type: string
          description: The content of the attachment.
          example: example_value
        contentType:
          type: string
          description: The type of the content (e.g., reference, file, image/imageType).
          example: example_value
        contentUrl:
          type: string
          format: uri
          description: The URL of the content.
          example: https://www.example.com
        name:
          type: string
          description: The name of the attachment.
          example: Example Title
  parameters:
    authorizationHeader:
      name: Authorization
      in: header
      required: true
      description: 'Bearer token obtained via OAuth 2.0. Format: Bearer {token}'
      schema:
        type: string
        pattern: ^Bearer\s.+$
  securitySchemes:
    oauth2:
      type: oauth2
      description: OAuth 2.0 authorization using Microsoft identity platform (Azure AD). Requires a Microsoft 365 Copilot license for each user accessing Copilot API functionality.
      flows:
        authorizationCode:
          authorizationUrl: https://login.microsoftonline.com/common/oauth2/v2.0/authorize
          tokenUrl: https://login.microsoftonline.com/common/oauth2/v2.0/token
          scopes:
            Files.Read.All: Read all files the user can access
            Sites.Read.All: Read items in all site collections
            ExternalItem.Read.All: Read external items from Copilot connectors
            Chat.Read: Read user chat messages
            AIInteraction.Read.All: Read all AI interactions for compliance
externalDocs:
  description: Microsoft 365 Copilot APIs Overview
  url: https://learn.microsoft.com/en-us/microsoft-365-copilot/extensibility/copilot-apis-overview