openapi: 3.1.0 info: title: Service Fabric Cluster Management Applications 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: Applications description: Application deployment and lifecycle paths: /Applications: get: operationId: getApplicationInfoList summary: Get Application Info List description: Returns the list of applications created in the Service Fabric cluster. tags: - Applications parameters: - $ref: '#/components/parameters/ApiVersion' - name: ApplicationTypeName in: query schema: type: string description: Filter by application type name - name: ContinuationToken in: query schema: type: string - name: MaxResults in: query schema: type: integer responses: '200': description: List of applications content: application/json: schema: $ref: '#/components/schemas/PagedApplicationInfoList' /Applications/{applicationId}: get: operationId: getApplicationInfo summary: Get Application Info description: Returns information about a specific Service Fabric application. tags: - Applications parameters: - $ref: '#/components/parameters/ApplicationId' - $ref: '#/components/parameters/ApiVersion' responses: '200': description: Application information content: application/json: schema: $ref: '#/components/schemas/ApplicationInfo' '404': description: Application not found /Applications/$/Create: post: operationId: createApplication summary: Create Application description: Creates a Service Fabric application using the specified application description. tags: - Applications parameters: - $ref: '#/components/parameters/ApiVersion' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ApplicationDescription' responses: '201': description: Application created '400': description: Invalid application description '409': description: Application already exists /Applications/{applicationId}/$/Delete: post: operationId: deleteApplication summary: Delete Application description: Deletes an existing Service Fabric application. An application must be created before it can be deleted. tags: - Applications parameters: - $ref: '#/components/parameters/ApplicationId' - $ref: '#/components/parameters/ApiVersion' - name: ForceRemove in: query schema: type: boolean description: Force remove the application without graceful shutdown responses: '200': description: Application deletion initiated '404': description: Application not found /Applications/{applicationId}/$/GetHealth: get: operationId: getApplicationHealth summary: Get Application Health description: Returns the health of the specified Service Fabric application. tags: - Applications 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' ApplicationDescription: type: object required: - Name - TypeName - TypeVersion properties: Name: type: string description: Application URI (e.g., fabric:/MyApp) TypeName: type: string description: Registered application type name TypeVersion: type: string description: Application type version ParameterList: type: array items: type: object properties: Key: type: string Value: type: string description: Override parameters for the application manifest ApplicationInfo: type: object properties: Id: type: string description: Application ID Name: type: string description: Application URI (e.g., fabric:/MyApp) TypeName: type: string description: Application type name TypeVersion: type: string description: Application type version Status: type: string enum: - Invalid - Ready - Upgrading - Creating - Deleting - Failed HealthState: $ref: '#/components/schemas/HealthState' HealthState: type: string enum: - Invalid - Ok - Warning - Error - Unknown description: Service Fabric health state PagedApplicationInfoList: type: object properties: ContinuationToken: type: string nullable: true Items: type: array items: $ref: '#/components/schemas/ApplicationInfo' 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