{ "swagger": "2.0", "info": { "version": "2019-09-16", "title": "HealthcareApisClient", "description": "Use this API to manage Microsoft HealthcareApis services in your Azure subscription." }, "host": "management.azure.com", "schemes": [ "https" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "security": [ { "azure_auth": [ "user_impersonation" ] } ], "securityDefinitions": { "azure_auth": { "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", "description": "Azure Active Directory OAuth2 Flow", "scopes": { "user_impersonation": "impersonate your user account" } } }, "paths": { "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/services/{resourceName}": { "get": { "tags": [ "Resource" ], "description": "Get the metadata of a service instance.", "operationId": "Services_Get", "x-ms-examples": { "Get metadata": { "$ref": "./examples/ServiceGet.json" } }, "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/subscriptionId" }, { "$ref": "#/parameters/resourceGroupName" }, { "$ref": "#/parameters/resourceName" } ], "responses": { "200": { "description": "The body contains all of the properties of the service instance.", "schema": { "$ref": "#/definitions/ServicesDescription" } }, "default": { "description": "Default error response", "schema": { "$ref": "#/definitions/ErrorDetails" } } }, "deprecated": false }, "put": { "tags": [ "Resource" ], "description": "Create or update the metadata of a service instance.", "operationId": "Services_CreateOrUpdate", "x-ms-examples": { "Create or Update a service with all parameters": { "$ref": "./examples/ServiceCreate.json" }, "Create or Update a service with minimum parameters": { "$ref": "./examples/ServiceCreateMinimum.json" } }, "x-ms-long-running-operation": true, "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/subscriptionId" }, { "$ref": "#/parameters/resourceGroupName" }, { "$ref": "#/parameters/resourceName" }, { "name": "serviceDescription", "in": "body", "description": "The service instance metadata.", "required": true, "schema": { "$ref": "#/definitions/ServicesDescription" } } ], "responses": { "200": { "description": "Updated - Put request accepted and an existing resource is being updated; the operation will complete asynchronously.", "schema": { "$ref": "#/definitions/ServicesDescription" } }, "201": { "description": "Created - Put request accepted and a new resource was created; the operation will complete asynchronously.", "schema": { "$ref": "#/definitions/ServicesDescription" } }, "default": { "description": "DefaultErrorResponse", "schema": { "$ref": "#/definitions/ErrorDetails" } } }, "deprecated": false }, "patch": { "tags": [ "Resource" ], "description": "Update the metadata of a service instance.", "operationId": "Services_Update", "x-ms-examples": { "Patch service": { "$ref": "./examples/ServicePatch.json" } }, "x-ms-long-running-operation": true, "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/subscriptionId" }, { "$ref": "#/parameters/resourceGroupName" }, { "$ref": "#/parameters/resourceName" }, { "name": "servicePatchDescription", "in": "body", "description": "The service instance metadata and security metadata.", "required": true, "schema": { "$ref": "#/definitions/ServicesPatchDescription" } } ], "responses": { "200": { "description": "The tags for the resource were updated successfully.", "schema": { "$ref": "#/definitions/ServicesDescription" } }, "default": { "description": "DefaultErrorResponse", "schema": { "$ref": "#/definitions/ErrorDetails" } } }, "deprecated": false }, "delete": { "tags": [ "Resource" ], "description": "Delete a service instance.", "operationId": "Services_Delete", "x-ms-examples": { "Delete service": { "$ref": "./examples/ServiceDelete.json" } }, "x-ms-long-running-operation": true, "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/subscriptionId" }, { "$ref": "#/parameters/resourceGroupName" }, { "$ref": "#/parameters/resourceName" } ], "responses": { "202": { "description": "Accepted - Delete request accepted; the operation will complete asynchronously." }, "204": { "description": "The resource does not exist." }, "default": { "description": "DefaultErrorResponse", "schema": { "$ref": "#/definitions/ErrorDetails" } } } } }, "/subscriptions/{subscriptionId}/providers/Microsoft.HealthcareApis/services": { "get": { "tags": [ "Collection" ], "description": "Get all the service instances in a subscription.", "operationId": "Services_List", "x-ms-examples": { "List all services in subscription": { "$ref": "./examples/ServiceList.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" }, "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/subscriptionId" } ], "responses": { "200": { "description": "This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the service instances in the subscription.", "schema": { "$ref": "#/definitions/ServicesDescriptionListResult" } }, "default": { "description": "DefaultErrorResponse", "schema": { "$ref": "#/definitions/ErrorDetails" } } }, "deprecated": false } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/services": { "get": { "tags": [ "Collection" ], "description": "Get all the service instances in a resource group.", "operationId": "Services_ListByResourceGroup", "x-ms-examples": { "List all services in resource group": { "$ref": "./examples/ServiceListByResourceGroup.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" }, "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/subscriptionId" }, { "$ref": "#/parameters/resourceGroupName" } ], "responses": { "200": { "description": "This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the service instances in the resource group.", "schema": { "$ref": "#/definitions/ServicesDescriptionListResult" } }, "default": { "description": "DefaultErrorResponse", "schema": { "$ref": "#/definitions/ErrorDetails" } } }, "deprecated": false } }, "/providers/Microsoft.HealthcareApis/operations": { "get": { "tags": [ "Proxy" ], "description": "Lists all of the available Healthcare service REST API operations.", "operationId": "Operations_List", "x-ms-examples": { "List operations": { "$ref": "./examples/OperationsList.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" }, "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK. The request has succeeded.", "schema": { "$ref": "#/definitions/OperationListResult" } }, "default": { "description": "DefaultErrorResponse", "schema": { "$ref": "#/definitions/ErrorDetails" } } }, "deprecated": false } }, "/subscriptions/{subscriptionId}/providers/Microsoft.HealthcareApis/checkNameAvailability": { "post": { "tags": [ "Proxy" ], "description": "Check if a service instance name is available.", "operationId": "Services_CheckNameAvailability", "x-ms-examples": { "Check name availability": { "$ref": "./examples/CheckNameAvailabilityPost.json" } }, "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/subscriptionId" }, { "name": "checkNameAvailabilityInputs", "in": "body", "description": "Set the name parameter in the CheckNameAvailabilityParameters structure to the name of the service instance to check.", "required": true, "schema": { "$ref": "#/definitions/CheckNameAvailabilityParameters" } } ], "responses": { "200": { "description": "This is a synchronous operation. The body contains a JSON-serialized response that specifies whether the service name is available. If the name is not available, the body contains the reason.", "schema": { "$ref": "#/definitions/ServicesNameAvailabilityInfo" } }, "default": { "description": "DefaultErrorResponse", "schema": { "$ref": "#/definitions/ErrorDetails" } } }, "deprecated": false } }, "/subscriptions/{subscriptionId}/providers/Microsoft.HealthcareApis/locations/{locationName}/operationresults/{operationResultId}": { "get": { "tags": [ "Resource" ], "description": "Get the operation result for a long running operation.", "operationId": "OperationResults_Get", "x-ms-examples": { "Get operation result": { "$ref": "./examples/OperationResultsGet.json" } }, "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/subscriptionId" }, { "$ref": "#/parameters/locationName" }, { "$ref": "#/parameters/operationResultId" } ], "responses": { "200": { "description": "The body contains all of the properties of the operation result.", "schema": { "$ref": "#/definitions/OperationResultsDescription" } }, "202": { "description": "Accepted - Get request accepted; the operation will complete asynchronously." }, "404": { "description": "No operation result was found matching operationResultId.", "schema": { "$ref": "#/definitions/ErrorDetails" } }, "default": { "description": "Default error response", "schema": { "$ref": "#/definitions/ErrorDetails" } } }, "deprecated": false } } }, "definitions": { "ServicesProperties": { "description": "The properties of a service instance.", "type": "object", "properties": { "provisioningState": { "description": "The provisioning state.", "enum": [ "Deleting", "Succeeded", "Creating", "Accepted", "Verifying", "Updating", "Failed", "Canceled", "Deprovisioned" ], "type": "string", "readOnly": true, "x-ms-enum": { "name": "provisioningState", "modelAsString": true } }, "accessPolicies": { "$ref": "#/definitions/ServiceAccessPoliciesInfo", "description": "The access policies of the service instance." }, "cosmosDbConfiguration": { "$ref": "#/definitions/ServiceCosmosDbConfigurationInfo", "description": "The settings for the Cosmos DB database backing the service." }, "authenticationConfiguration": { "$ref": "#/definitions/ServiceAuthenticationConfigurationInfo", "description": "The authentication configuration for the service instance." }, "corsConfiguration": { "$ref": "#/definitions/ServiceCorsConfigurationInfo", "description": "The settings for the CORS configuration of the service instance." }, "exportConfiguration": { "$ref": "#/definitions/ServiceExportConfigurationInfo", "description": "The settings for the export operation of the service instance." } } }, "ServiceAccessPoliciesInfo": { "description": "The access policies of the service instance.", "type": "array", "items": { "$ref": "#/definitions/ServiceAccessPolicyEntry" } }, "ServiceAccessPolicyEntry": { "description": "An access policy entry.", "properties": { "objectId": { "description": "An Azure AD object ID (User or Apps) that is allowed access to the FHIR service.", "type": "string", "pattern": "^(([0-9A-Fa-f]{8}[-]?(?:[0-9A-Fa-f]{4}[-]?){3}[0-9A-Fa-f]{12}){1})+$" } }, "required": [ "objectId" ] }, "ServiceCosmosDbConfigurationInfo": { "description": "The settings for the Cosmos DB database backing the service.", "type": "object", "properties": { "offerThroughput": { "type": "integer", "description": "The provisioned throughput for the backing database.", "readOnly": false, "minimum": 400 } } }, "ServiceAuthenticationConfigurationInfo": { "description": "Authentication configuration information", "type": "object", "properties": { "authority": { "type": "string", "description": "The authority url for the service", "readOnly": false }, "audience": { "type": "string", "description": "The audience url for the service", "readOnly": false }, "smartProxyEnabled": { "type": "boolean", "description": "If the SMART on FHIR proxy is enabled", "readOnly": false } } }, "ServiceCorsConfigurationInfo": { "description": "The settings for the CORS configuration of the service instance.", "type": "object", "properties": { "origins": { "type": "array", "description": "The origins to be allowed via CORS.", "readOnly": false, "items": { "$ref": "#/definitions/ServiceCorsConfigurationOriginEntry" } }, "headers": { "type": "array", "description": "The headers to be allowed via CORS.", "readOnly": false, "items": { "$ref": "#/definitions/ServiceCorsConfigurationHeaderEntry" } }, "methods": { "type": "array", "description": "The methods to be allowed via CORS.", "readOnly": false, "items": { "$ref": "#/definitions/ServiceCorsConfigurationMethodEntry" } }, "maxAge": { "type": "integer", "description": "The max age to be allowed via CORS.", "readOnly": false, "minimum": 0, "maximum": 99999 }, "allowCredentials": { "type": "boolean", "description": "If credentials are allowed via CORS.", "readOnly": false } } }, "ServiceExportConfigurationInfo": { "description": "Export operation configuration information", "type": "object", "properties": { "storageAccountName": { "type": "string", "description": "The name of the default export storage account.", "readOnly": false } } }, "ServiceCorsConfigurationOriginEntry": { "description": "An origin for CORS.", "type": "string", "pattern": "^(?:(?:(?:[hH][tT][tT][pP](?:[sS]|))\\:\\/\\/(?:[a-zA-Z0-9-]+[.]?)+(?:\\:[0-9]{1,5})?|[*]))$" }, "ServiceCorsConfigurationHeaderEntry": { "description": "A header for CORS.", "type": "string" }, "ServiceCorsConfigurationMethodEntry": { "description": "A method for CORS.", "type": "string" }, "ServicesDescription": { "description": "The description of the service.", "type": "object", "properties": { "properties": { "x-ms-client-flatten": false, "description": "The common properties of a service.", "$ref": "#/definitions/ServicesProperties" } }, "allOf": [ { "$ref": "#/definitions/Resource" } ] }, "ServicesPatchDescription": { "description": "The description of the service.", "type": "object", "properties": { "tags": { "description": "Instance tags", "type": "object", "additionalProperties": { "type": "string" } } } }, "Resource": { "description": "The common properties of a service.", "properties": { "id": { "readOnly": true, "type": "string", "description": "The resource identifier." }, "name": { "readOnly": true, "type": "string", "description": "The resource name.", "pattern": "^[a-z0-9][a-z0-9-]{1,21}[a-z0-9]$" }, "type": { "readOnly": true, "type": "string", "description": "The resource type." }, "kind": { "readOnly": false, "type": "string", "description": "The kind of the service.", "enum": [ "fhir", "fhir-Stu3", "fhir-R4" ], "x-ms-enum": { "name": "kind", "modelAsString": false } }, "location": { "type": "string", "description": "The resource location.", "x-ms-mutability": [ "create", "read" ] }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "The resource tags." }, "etag": { "description": "An etag associated with the resource, used for optimistic concurrency when editing it.", "type": "string" }, "identity": { "type": "object", "description": "Setting indicating whether the service has a managed identity associated with it.", "properties": { "principalId": { "readOnly": true, "type": "string", "description": "The principal ID of the resource identity." }, "tenantId": { "readOnly": true, "type": "string", "description": "The tenant ID of the resource." }, "type": { "description": "Type of identity being specified, currently SystemAssigned and None are allowed.", "type": "string", "enum": [ "SystemAssigned", "None" ], "x-ms-enum": { "name": "ManagedServiceIdentityType", "modelAsString": true } } } } }, "x-ms-azure-resource": true, "required": [ "location", "kind" ] }, "ErrorDetails": { "description": "Error details.", "type": "object", "properties": { "error": { "description": "Object containing error details.", "$ref": "#/definitions/ErrorDetailsInternal" } } }, "ErrorDetailsInternal": { "description": "Error details.", "type": "object", "properties": { "code": { "description": "The error code.", "type": "string", "readOnly": true }, "message": { "description": "The error message.", "type": "string", "readOnly": true }, "target": { "description": "The target of the particular error.", "type": "string", "readOnly": true } } }, "ServicesDescriptionListResult": { "description": "A list of service description objects with a next link.", "type": "object", "properties": { "nextLink": { "description": "The link used to get the next page of service description objects.", "type": "string" }, "value": { "description": "A list of service description objects.", "type": "array", "items": { "$ref": "#/definitions/ServicesDescription" } } } }, "OperationListResult": { "description": "A list of service operations. It contains a list of operations and a URL link to get the next set of results.", "type": "object", "properties": { "nextLink": { "description": "The link used to get the next page of service description objects.", "type": "string" }, "value": { "description": "A list of service operations supported by the Microsoft.HealthcareApis resource provider.", "type": "array", "readOnly": true, "items": { "$ref": "#/definitions/Operation" } } } }, "Operation": { "description": "Service REST API operation.", "type": "object", "properties": { "name": { "readOnly": true, "type": "string", "description": "Operation name: {provider}/{resource}/{read | write | action | delete}" }, "isDataAction": { "description": "Gets or sets a value indicating whether the operation is a data action or not", "type": "boolean" }, "origin": { "readOnly": true, "type": "string", "description": "Default value is 'user,system'." }, "display": { "description": "The information displayed about the operation.", "$ref": "#/definitions/OperationDisplay" }, "properties": { "$ref": "#/definitions/OperationProperties", "description": "Properties of the operation" } } }, "OperationDisplay": { "description": "The object that represents the operation.", "type": "object", "properties": { "provider": { "readOnly": true, "type": "string", "description": "Service provider: Microsoft.HealthcareApis" }, "resource": { "readOnly": true, "type": "string", "description": "Resource Type: Services" }, "operation": { "readOnly": true, "type": "string", "description": "Name of the operation" }, "description": { "readOnly": true, "type": "string", "description": "Friendly description for the operation," } } }, "OperationProperties": { "description": "Operation properties.", "type": "object", "properties": {} }, "CheckNameAvailabilityParameters": { "description": "Input values.", "type": "object", "properties": { "name": { "description": "The name of the service instance to check.", "type": "string" }, "type": { "description": "The fully qualified resource type which includes provider namespace.", "type": "string" } }, "required": [ "name", "type" ] }, "ServicesNameAvailabilityInfo": { "description": "The properties indicating whether a given service name is available.", "type": "object", "properties": { "nameAvailable": { "description": "The value which indicates whether the provided name is available.", "type": "boolean", "readOnly": true }, "reason": { "description": "The reason for unavailability.", "enum": [ "Invalid", "AlreadyExists" ], "type": "string", "readOnly": true, "x-ms-enum": { "name": "ServiceNameUnavailabilityReason", "modelAsString": false } }, "message": { "description": "The detailed reason message.", "type": "string" } } }, "OperationResultsDescription": { "description": "The properties indicating the operation result of an operation on a service.", "type": "object", "properties": { "id": { "description": "The ID of the operation returned.", "readOnly": true, "type": "string" }, "name": { "description": "The name of the operation result.", "readOnly": true, "type": "string" }, "status": { "description": "The status of the operation being performed.", "enum": [ "Canceled", "Succeeded", "Failed", "Requested", "Running" ], "readOnly": true, "type": "string", "x-ms-enum": { "name": "OperationResultStatus", "modelAsString": true } }, "startTime": { "description": "The time that the operation was started.", "readOnly": true, "type": "string" }, "properties": { "x-ms-client-flatten": false, "description": "Additional properties of the operation result." } } } }, "parameters": { "subscriptionId": { "name": "subscriptionId", "in": "path", "description": "The subscription identifier.", "required": true, "type": "string" }, "ApiVersionParameter": { "name": "api-version", "in": "query", "required": true, "type": "string", "description": "Client Api Version." }, "resourceGroupName": { "name": "resourceGroupName", "in": "path", "description": "The name of the resource group that contains the service instance.", "required": true, "type": "string", "x-ms-parameter-location": "method", "pattern": "^[-\\w\\._\\(\\)]+$", "minLength": 1, "maxLength": 90 }, "resourceName": { "name": "resourceName", "in": "path", "description": "The name of the service instance.", "required": true, "type": "string", "x-ms-parameter-location": "method", "minLength": 3, "maxLength": 24 }, "locationName": { "name": "locationName", "in": "path", "description": "The location of the operation.", "required": true, "type": "string", "x-ms-parameter-location": "method" }, "operationResultId": { "name": "operationResultId", "in": "path", "description": "The ID of the operation result to get.", "required": true, "type": "string", "x-ms-parameter-location": "method" } } }