Service Fabric Health API

Health state queries and reporting

OpenAPI Specification

service-fabric-health-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Service Fabric Cluster Management Applications Health API
  description: The Service Fabric REST API enables cluster management, application lifecycle, service management, and health monitoring for Azure Service Fabric clusters. The API is served by the HTTP gateway running on each cluster node.
  version: '9.1'
  contact:
    name: Azure Service Fabric Documentation
    url: https://docs.microsoft.com/en-us/azure/service-fabric/
  license:
    name: MIT
    url: https://github.com/microsoft/service-fabric/blob/master/LICENSE
servers:
- url: http://{cluster_endpoint}:19080
  description: Service Fabric HTTP Gateway
  variables:
    cluster_endpoint:
      description: Service Fabric cluster endpoint (FQDN or IP)
      default: localhost
tags:
- name: Health
  description: Health state queries and reporting
paths:
  /$/GetClusterHealth:
    get:
      operationId: getClusterHealth
      summary: Get Cluster Health
      description: Returns the health state of the Service Fabric cluster including nodes, applications, and system services.
      tags:
      - Health
      parameters:
      - name: api-version
        in: query
        required: true
        schema:
          type: string
          default: '9.1'
        description: Service Fabric API version
      - name: NodesHealthStateFilter
        in: query
        schema:
          type: integer
          default: 0
        description: Health state filter for nodes (0=Default, 1=Ok, 2=Warning, 4=Error, 65535=All)
      - name: ApplicationsHealthStateFilter
        in: query
        schema:
          type: integer
          default: 0
        description: Health state filter for applications
      responses:
        '200':
          description: Cluster health state
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterHealth'
        '400':
          description: Invalid parameters
        '500':
          description: Internal cluster error
  /Applications/{applicationId}/$/GetHealth:
    get:
      operationId: getApplicationHealth
      summary: Get Application Health
      description: Returns the health of the specified Service Fabric application.
      tags:
      - Health
      parameters:
      - $ref: '#/components/parameters/ApplicationId'
      - $ref: '#/components/parameters/ApiVersion'
      - name: ServicesHealthStateFilter
        in: query
        schema:
          type: integer
          default: 0
      responses:
        '200':
          description: Application health state
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationHealth'
        '404':
          description: Application not found
components:
  schemas:
    ApplicationHealth:
      type: object
      properties:
        Name:
          type: string
        AggregatedHealthState:
          $ref: '#/components/schemas/HealthState'
        ServiceHealthStates:
          type: array
          items:
            type: object
            properties:
              ServiceName:
                type: string
              AggregatedHealthState:
                $ref: '#/components/schemas/HealthState'
        HealthEvents:
          type: array
          items:
            $ref: '#/components/schemas/HealthEvent'
    ApplicationHealthState:
      type: object
      properties:
        Name:
          type: string
          description: Application URI (e.g., fabric:/MyApp)
        AggregatedHealthState:
          $ref: '#/components/schemas/HealthState'
    NodeHealthState:
      type: object
      properties:
        Name:
          type: string
          description: Node name
        AggregatedHealthState:
          $ref: '#/components/schemas/HealthState'
    HealthState:
      type: string
      enum:
      - Invalid
      - Ok
      - Warning
      - Error
      - Unknown
      description: Service Fabric health state
    ClusterHealth:
      type: object
      properties:
        AggregatedHealthState:
          $ref: '#/components/schemas/HealthState'
        NodeHealthStates:
          type: array
          items:
            $ref: '#/components/schemas/NodeHealthState'
        ApplicationHealthStates:
          type: array
          items:
            $ref: '#/components/schemas/ApplicationHealthState'
        HealthEvents:
          type: array
          items:
            $ref: '#/components/schemas/HealthEvent'
    HealthEvent:
      type: object
      properties:
        SourceId:
          type: string
          description: Source reporting the health event
        Property:
          type: string
          description: Property being reported on
        HealthState:
          $ref: '#/components/schemas/HealthState'
        Description:
          type: string
        TimeToLiveInMilliSeconds:
          type: string
          description: Duration in ISO 8601 format
        SequenceNumber:
          type: string
        IsExpired:
          type: boolean
        SourceUtcTimestamp:
          type: string
          format: date-time
        LastModifiedUtcTimestamp:
          type: string
          format: date-time
  parameters:
    ApplicationId:
      name: applicationId
      in: path
      required: true
      schema:
        type: string
      description: Application ID (e.g., fabric:/MyApp)
    ApiVersion:
      name: api-version
      in: query
      required: true
      schema:
        type: string
        default: '9.1'
      description: Service Fabric API version