Microsoft Office 365 Service Communications API

The Office 365 Service Communications API provides tenant administrators and partners with real-time service health information and Message Center communications. It enables access to the list of subscribed services, current and historical service status, incident details, and planned maintenance notifications for Office 365, Yammer, Dynamics CRM, and Microsoft Intune cloud services.

OpenAPI Specification

microsoft-office-service-communications-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Microsoft Office Integration Microsoft Office 365 Service Communications API
  description: >-
    The Office 365 Service Communications API provides tenant administrators and
    partners with real-time service health information and Message Center
    communications. It enables access to current and historical service status,
    incident details, and planned maintenance notifications for Office 365,
    Yammer, Dynamics CRM, and Microsoft Intune cloud services. The API relies on
    Microsoft Entra ID and the OAuth2 protocol for authentication.
  version: 1.0.0
  contact:
    name: Microsoft
    url: https://learn.microsoft.com/en-us/office/office-365-management-api/office-365-service-communications-api-reference
servers:
  - url: https://manage.office.com/api/v1.0/{tenantId}/ServiceComms
    description: Office 365 Service Communications endpoint
    variables:
      tenantId:
        description: The tenant identifier (domain or GUID)
        default: contoso.com
security:
  - bearerAuth: []
paths:
  /Services:
    get:
      operationId: getServices
      summary: Microsoft Office Integration Get Services
      description: Returns the list of subscribed services.
      parameters:
        - name: $select
          in: query
          required: false
          description: Pick a subset of properties.
          schema:
            type: string
      responses:
        '200':
          description: List of subscribed services.
          content:
            application/json:
              schema:
                type: object
                properties:
                  value:
                    type: array
                    items:
                      $ref: '#/components/schemas/Service'
      tags:
        - Services
  /CurrentStatus:
    get:
      operationId: getCurrentStatus
      summary: Microsoft Office Integration Get Current Status
      description: >-
        Returns the status of the service from the previous 24 hours, including
        any current and ongoing service incidents.
      parameters:
        - name: Workload
          in: query
          required: false
          description: Filter by workload (default is all).
          schema:
            type: string
        - name: $select
          in: query
          required: false
          description: Pick a subset of properties.
          schema:
            type: string
      responses:
        '200':
          description: Current status of services.
          content:
            application/json:
              schema:
                type: object
                properties:
                  value:
                    type: array
                    items:
                      $ref: '#/components/schemas/WorkloadStatus'
      tags:
        - CurrentStatus
  /HistoricalStatus:
    get:
      operationId: getHistoricalStatus
      summary: Microsoft Office Integration Get Historical Status
      description: Returns the historical status of the service, by day, over a certain time range.
      parameters:
        - name: Workload
          in: query
          required: false
          description: Filter by workload (default is all).
          schema:
            type: string
        - name: StatusTime
          in: query
          required: false
          description: Filter by days greater than StatusTime (default ge CurrentTime - 7 days).
          schema:
            type: string
            format: date-time
        - name: $select
          in: query
          required: false
          description: Pick a subset of properties.
          schema:
            type: string
      responses:
        '200':
          description: Historical status of services.
          content:
            application/json:
              schema:
                type: object
                properties:
                  value:
                    type: array
                    items:
                      $ref: '#/components/schemas/WorkloadStatus'
      tags:
        - HistoricalStatus
  /Messages:
    get:
      operationId: getMessages
      summary: Microsoft Office Integration Get Messages
      description: >-
        Returns messages about the service over a certain time range. Use the
        MessageType filter to filter for Service Incident, Planned Maintenance,
        or Message Center messages.
      parameters:
        - name: Workload
          in: query
          required: false
          description: Filter by workload (default is all).
          schema:
            type: string
        - name: StartTime
          in: query
          required: false
          description: Filter by start time (default ge CurrentTime - 7 days).
          schema:
            type: string
            format: date-time
        - name: EndTime
          in: query
          required: false
          description: Filter by end time (default le CurrentTime).
          schema:
            type: string
            format: date-time
        - name: MessageType
          in: query
          required: false
          description: Filter by message type (default is all).
          schema:
            type: string
            enum:
              - Incident
              - PlannedMaintenance
              - MessageCenter
        - name: Id
          in: query
          required: false
          description: Filter by specific message Id.
          schema:
            type: string
        - name: $select
          in: query
          required: false
          description: Pick a subset of properties.
          schema:
            type: string
        - name: $top
          in: query
          required: false
          description: Number of top results to return (default and max 100).
          schema:
            type: integer
            maximum: 100
            default: 100
        - name: $skip
          in: query
          required: false
          description: Number of results to skip (default 0).
          schema:
            type: integer
            default: 0
      responses:
        '200':
          description: List of service messages.
          content:
            application/json:
              schema:
                type: object
                properties:
                  value:
                    type: array
                    items:
                      $ref: '#/components/schemas/Message'
      tags:
        - Messages
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: OAuth2 JWT access token obtained from Microsoft Entra ID with ServiceHealth.Read claim.
  schemas:
    Service:
      type: object
      properties:
        Id:
          type: string
          description: The service identifier.
        DisplayName:
          type: string
          description: The display name of the service.
        FeatureNames:
          type: array
          description: List of features for the service.
          items:
            type: string
    FeatureStatus:
      type: object
      properties:
        Feature:
          type: string
        FeatureGroupDisplayName:
          type: string
        FeatureStatus:
          type: string
          enum:
            - ServiceOperational
            - Investigating
            - ServiceDegradation
            - ServiceInterruption
            - RestoringService
            - ExtendedRecovery
            - InvestigationSuspended
            - ServiceRestored
            - FalsePositive
            - PostIncidentReportPublished
            - InformationAvailable
    WorkloadStatus:
      type: object
      properties:
        Id:
          type: string
        Workload:
          type: string
        StatusDate:
          type: string
          format: date-time
        WorkloadDisplayName:
          type: string
        Status:
          type: string
          enum:
            - ServiceOperational
            - Investigating
            - ServiceDegradation
            - ServiceInterruption
            - RestoringService
            - ExtendedRecovery
            - InvestigationSuspended
            - ServiceRestored
            - FalsePositive
            - PostIncidentReportPublished
            - InformationAvailable
        IncidentIds:
          type: array
          items:
            type: string
        FeatureGroupStatusCollection:
          type: array
          items:
            $ref: '#/components/schemas/FeatureStatus'
    MessageHistory:
      type: object
      properties:
        PublishedTime:
          type: string
          format: date-time
        MessageText:
          type: string
    Message:
      type: object
      properties:
        Id:
          type: string
        Name:
          type: string
        Title:
          type: string
          nullable: true
        StartTime:
          type: string
          format: date-time
        EndTime:
          type: string
          format: date-time
        Status:
          type: string
        Messages:
          type: array
          items:
            $ref: '#/components/schemas/MessageHistory'
        LastUpdatedTime:
          type: string
          format: date-time
        Workload:
          type: string
        WorkloadDisplayName:
          type: string
        Feature:
          type: string
        FeatureDisplayName:
          type: string
        MessageType:
          type: string
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
tags:
  - name: CurrentStatus
  - name: HistoricalStatus
  - name: Messages
  - name: Services