{ "swagger": "2.0", "info": { "title": "ApiManagementClient", "description": "Use these REST APIs to manage Azure API Management deployment.", "version": "2020-12-01" }, "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": { "/providers/Microsoft.ApiManagement/operations": { "get": { "tags": [ "ApiManagementOperations" ], "description": "Lists all of the available REST API operations of the Microsoft.ApiManagement provider.", "operationId": "ApiManagementOperations_List", "x-ms-examples": { "ApiManagementListOperations": { "$ref": "./examples/ApiManagementListOperations.json" } }, "parameters": [ { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "Success. The response describes the list of operations.", "schema": { "$ref": "#/definitions/OperationListResult" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "./apimanagement.json#/definitions/ErrorResponse" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/skus": { "get": { "tags": [ "ApiManagementServiceSkus" ], "summary": "Gets available SKUs for API Management service", "description": "Gets all available SKU for a given API Management service", "operationId": "ApiManagementServiceSkus_ListAvailableServiceSkus", "x-ms-examples": { "ApiManagementListSKUs-Dedicated": { "$ref": "./examples/ApiManagementListSKUs-Dedicated.json" }, "ApiManagementListSKUs-Consumption": { "$ref": "./examples/ApiManagementListSKUs-Consumption.json" } }, "parameters": [ { "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, { "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "Success. The response describes the list of SKUs.", "schema": { "$ref": "#/definitions/ResourceSkuResults" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "./apimanagement.json#/definitions/ErrorResponse" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/restore": { "post": { "tags": [ "ApiManagementService" ], "operationId": "ApiManagementService_Restore", "description": "Restores a backup of an API Management service created using the ApiManagementService_Backup operation on the current service. This is a long running operation and could take several minutes to complete.", "x-ms-examples": { "ApiManagementRestoreService": { "$ref": "./examples/ApiManagementRestoreService.json" } }, "parameters": [ { "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { "$ref": "#/definitions/ApiManagementServiceBackupRestoreParameters" }, "description": "Parameters supplied to the Restore API Management service from backup operation." }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, { "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "Successfully restored the backup onto the API Management service.", "schema": { "$ref": "#/definitions/ApiManagementServiceResource" } }, "202": { "description": "Accepted: Location header contains the URL where the status of the long running operation can be checked." }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "./apimanagement.json#/definitions/ErrorResponse" } } }, "x-ms-long-running-operation": true, "x-ms-long-running-operation-options": { "final-state-via": "location" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backup": { "post": { "tags": [ "ApiManagementService" ], "operationId": "ApiManagementService_Backup", "description": "Creates a backup of the API Management service to the given Azure Storage Account. This is long running operation and could take several minutes to complete.", "x-ms-examples": { "ApiManagementCreateBackup": { "$ref": "./examples/ApiManagementCreateBackup.json" } }, "parameters": [ { "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { "$ref": "#/definitions/ApiManagementServiceBackupRestoreParameters" }, "description": "Parameters supplied to the ApiManagementService_Backup operation." }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, { "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "Successfully backed up the API Management service to the storage account.", "schema": { "$ref": "#/definitions/ApiManagementServiceResource" } }, "202": { "description": "Accepted: Location header contains the URL where the status of the long running operation can be checked." }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "./apimanagement.json#/definitions/ErrorResponse" } } }, "x-ms-long-running-operation": true, "x-ms-long-running-operation-options": { "final-state-via": "location" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}": { "put": { "tags": [ "ApiManagementService" ], "operationId": "ApiManagementService_CreateOrUpdate", "description": "Creates or updates an API Management service. This is long running operation and could take several minutes to complete.", "x-ms-examples": { "ApiManagementCreateService": { "$ref": "./examples/ApiManagementCreateService.json" }, "ApiManagementCreateMultiRegionServiceWithCustomHostname": { "$ref": "./examples/ApiManagementCreateMultiRegionServiceWithCustomHostname.json" }, "ApiManagementCreateServiceHavingMsi": { "$ref": "./examples/ApiManagementCreateServiceHavingMsi.json" }, "ApiManagementCreateServiceWithSystemCertificates": { "$ref": "./examples/ApiManagementCreateServiceWithSystemCertificates.json" }, "ApiManagementCreateServiceWithUserAssignedIdentity": { "$ref": "./examples/ApiManagementCreateServiceWithUserAssignedIdentity.json" }, "ApiManagementCreateServiceInZones": { "$ref": "./examples/ApiManagementCreateServiceInZones.json" }, "ApiManagementUndelete": { "$ref": "./examples/ApiManagementUndelete.json" }, "ApiManagementCreateServiceWithCustomHostnameKeyVault": { "$ref": "./examples/ApiManagementCreateServiceWithCustomHostnameKeyVault.json" } }, "parameters": [ { "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { "$ref": "#/definitions/ApiManagementServiceResource" }, "description": "Parameters supplied to the CreateOrUpdate API Management service operation." }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, { "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "The service was successfully set up.", "schema": { "$ref": "#/definitions/ApiManagementServiceResource" } }, "201": { "description": "Created", "schema": { "$ref": "#/definitions/ApiManagementServiceResource" } }, "202": { "description": "Accepted the configuration change when updating the service." }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "./apimanagement.json#/definitions/ErrorResponse" } } }, "x-ms-long-running-operation": true }, "patch": { "tags": [ "ApiManagementService" ], "operationId": "ApiManagementService_Update", "description": "Updates an existing API Management service.", "x-ms-examples": { "ApiManagementUpdateServiceDisableTls10": { "$ref": "./examples/ApiManagementUpdateServiceDisableTls10.json" }, "ApiManagementUpdateServicePublisherDetails": { "$ref": "./examples/ApiManagementUpdateServicePublisherDetails.json" } }, "parameters": [ { "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { "$ref": "#/definitions/ApiManagementServiceUpdateParameters" }, "description": "Parameters supplied to the CreateOrUpdate API Management service operation." }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, { "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "The service was successfully updated.", "schema": { "$ref": "#/definitions/ApiManagementServiceResource" } }, "202": { "description": "The service update request was Accepted." }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "./apimanagement.json#/definitions/ErrorResponse" } } }, "x-ms-long-running-operation": true }, "get": { "tags": [ "ApiManagementService" ], "operationId": "ApiManagementService_Get", "description": "Gets an API Management service resource description.", "x-ms-examples": { "ApiManagementServiceGetService": { "$ref": "./examples/ApiManagementServiceGetService.json" }, "ApiManagementServiceGetServiceHavingMsi": { "$ref": "./examples/ApiManagementServiceGetServiceHavingMsi.json" }, "ApiManagementServiceGetMultiRegionInternalVnet": { "$ref": "./examples/ApiManagementServiceGetMultiRegionInternalVnet.json" } }, "parameters": [ { "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, { "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "Successfully got the API Management Service Resource.", "schema": { "$ref": "#/definitions/ApiManagementServiceResource" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "./apimanagement.json#/definitions/ErrorResponse" } } } }, "delete": { "tags": [ "ApiManagementService" ], "operationId": "ApiManagementService_Delete", "description": "Deletes an existing API Management service.", "x-ms-examples": { "ApiManagementServiceDeleteService": { "$ref": "./examples/ApiManagementServiceDeleteService.json" } }, "parameters": [ { "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, { "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "Service was successfully deleted." }, "202": { "description": "The service delete request was Accepted.", "schema": { "$ref": "#/definitions/ApiManagementServiceResource" } }, "204": { "description": "The service does not exist." }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "./apimanagement.json#/definitions/ErrorResponse" } } }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service": { "get": { "tags": [ "ApiManagementService" ], "operationId": "ApiManagementService_ListByResourceGroup", "description": "List all API Management services within a resource group.", "x-ms-examples": { "ApiManagementListServiceBySubscriptionAndResourceGroup": { "$ref": "./examples/ApiManagementListServiceBySubscriptionAndResourceGroup.json" } }, "parameters": [ { "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, { "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "The API Management service list.", "schema": { "$ref": "#/definitions/ApiManagementServiceListResult" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "./apimanagement.json#/definitions/ErrorResponse" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/providers/Microsoft.ApiManagement/service": { "get": { "tags": [ "ApiManagementService" ], "operationId": "ApiManagementService_List", "description": "Lists all API Management services within an Azure subscription.", "x-ms-examples": { "ApiManagementListServiceBySubscription": { "$ref": "./examples/ApiManagementListServiceBySubscription.json" } }, "parameters": [ { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, { "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "The API Management service list.", "schema": { "$ref": "#/definitions/ApiManagementServiceListResult" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "./apimanagement.json#/definitions/ErrorResponse" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/getssotoken": { "post": { "tags": [ "ApiManagementService" ], "operationId": "ApiManagementService_GetSsoToken", "description": "Gets the Single-Sign-On token for the API Management Service which is valid for 5 Minutes.", "x-ms-examples": { "ApiManagementServiceGetSsoToken": { "$ref": "./examples/ApiManagementServiceGetSsoToken.json" } }, "parameters": [ { "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, { "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "OK if successful with the SSO Redirect URI.", "schema": { "x-ms-client-flatten": true, "$ref": "#/definitions/ApiManagementServiceGetSsoTokenResult" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "./apimanagement.json#/definitions/ErrorResponse" } } } } }, "/subscriptions/{subscriptionId}/providers/Microsoft.ApiManagement/checkNameAvailability": { "post": { "tags": [ "ApiManagementService" ], "operationId": "ApiManagementService_CheckNameAvailability", "description": "Checks availability and correctness of a name for an API Management service.", "x-ms-examples": { "ApiManagementServiceCheckNameAvailability": { "$ref": "./examples/ApiManagementServiceCheckNameAvailability.json" } }, "parameters": [ { "name": "parameters", "in": "body", "required": true, "schema": { "$ref": "#/definitions/ApiManagementServiceCheckNameAvailabilityParameters" }, "description": "Parameters supplied to the CheckNameAvailability operation." }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, { "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "The result of check name availability.", "schema": { "$ref": "#/definitions/ApiManagementServiceNameAvailabilityResult" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "./apimanagement.json#/definitions/ErrorResponse" } } } } }, "/subscriptions/{subscriptionId}/providers/Microsoft.ApiManagement/getDomainOwnershipIdentifier": { "post": { "tags": [ "ApiManagementService" ], "operationId": "ApiManagementService_GetDomainOwnershipIdentifier", "description": "Get the custom domain ownership identifier for an API Management service.", "x-ms-examples": { "ApiManagementServiceGetDomainOwnershipIdentifier": { "$ref": "./examples/ApiManagementServiceGetDomainOwnershipIdentifier.json" } }, "parameters": [ { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, { "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "The result of getting domain ownership identifier.", "schema": { "$ref": "#/definitions/ApiManagementServiceGetDomainOwnershipIdentifierResult" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "./apimanagement.json#/definitions/ErrorResponse" } } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/applynetworkconfigurationupdates": { "post": { "tags": [ "ApiManagementService" ], "operationId": "ApiManagementService_ApplyNetworkConfigurationUpdates", "description": "Updates the Microsoft.ApiManagement resource running in the Virtual network to pick the updated DNS changes.", "x-ms-examples": { "ApiManagementApplyNetworkConfigurationUpdates": { "$ref": "./examples/ApiManagementApplyNetworkConfigurationUpdates.json" } }, "parameters": [ { "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { "name": "parameters", "in": "body", "required": false, "schema": { "$ref": "#/definitions/ApiManagementServiceApplyNetworkConfigurationParameters" }, "description": "Parameters supplied to the Apply Network Configuration operation. If the parameters are empty, all the regions in which the Api Management service is deployed will be updated sequentially without incurring downtime in the region." }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, { "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "Network configuration updates were successfully applied on the Api Management service.", "schema": { "$ref": "#/definitions/ApiManagementServiceResource" } }, "202": { "description": "Accepted: Location header contains the URL where the status of the long running operation can be checked." }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "./apimanagement.json#/definitions/ErrorResponse" } } }, "x-ms-long-running-operation": true, "x-ms-long-running-operation-options": { "final-state-via": "location" } } } }, "definitions": { "ResourceSkuResults": { "properties": { "value": { "type": "array", "items": { "$ref": "#/definitions/ResourceSkuResult" }, "description": "The list of skus available for the service." }, "nextLink": { "type": "string", "description": "The uri to fetch the next page of API Management service Skus." } }, "required": [ "value" ], "description": "The API Management service SKUs operation response." }, "ResourceSkuResult": { "properties": { "resourceType": { "readOnly": true, "type": "string", "description": "The type of resource the SKU applies to." }, "sku": { "$ref": "#/definitions/ResourceSku", "readOnly": true, "description": "Specifies API Management SKU." }, "capacity": { "$ref": "#/definitions/ResourceSkuCapacity", "readOnly": true, "description": "Specifies the number of API Management units." } }, "description": "Describes an available API Management service SKU." }, "ResourceSkuCapacity": { "properties": { "minimum": { "type": "integer", "readOnly": true, "format": "int32", "description": "The minimum capacity." }, "maximum": { "type": "integer", "readOnly": true, "format": "int32", "description": "The maximum capacity that can be set." }, "default": { "type": "integer", "readOnly": true, "format": "int32", "description": "The default capacity." }, "scaleType": { "type": "string", "readOnly": true, "description": "The scale type applicable to the sku.", "enum": [ "automatic", "manual", "none" ], "x-ms-enum": { "name": "ResourceSkuCapacityScaleType", "modelAsString": true, "values": [ { "value": "automatic", "description": "Supported scale type automatic." }, { "value": "manual", "description": "Supported scale type manual." }, { "value": "none", "description": "Scaling not supported." } ] } } }, "description": "Describes scaling information of a SKU." }, "ResourceSku": { "properties": { "name": { "type": "string", "description": "Name of the Sku.", "externalDocs": { "url": "https://azure.microsoft.com/en-us/pricing/details/api-management/" }, "enum": [ "Developer", "Standard", "Premium", "Basic", "Consumption", "Isolated" ], "x-ms-enum": { "name": "SkuType", "modelAsString": true, "values": [ { "value": "Developer", "description": "Developer SKU of Api Management." }, { "value": "Standard", "description": "Standard SKU of Api Management." }, { "value": "Premium", "description": "Premium SKU of Api Management." }, { "value": "Basic", "description": "Basic SKU of Api Management." }, { "value": "Consumption", "description": "Consumption SKU of Api Management." }, { "value": "Isolated", "description": "Isolated SKU of Api Management." } ] } } }, "description": "Describes an available API Management SKU." }, "CertificateInformation": { "properties": { "expiry": { "type": "string", "format": "date-time", "description": "Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard." }, "thumbprint": { "type": "string", "description": "Thumbprint of the certificate." }, "subject": { "type": "string", "description": "Subject of the certificate." } }, "required": [ "expiry", "thumbprint", "subject" ], "description": "SSL certificate information." }, "CertificateConfiguration": { "properties": { "encodedCertificate": { "type": "string", "description": "Base64 Encoded certificate." }, "certificatePassword": { "type": "string", "description": "Certificate Password." }, "storeName": { "description": "The System.Security.Cryptography.x509certificates.StoreName certificate store location. Only Root and CertificateAuthority are valid locations.", "type": "string", "enum": [ "CertificateAuthority", "Root" ] }, "certificate": { "$ref": "#/definitions/CertificateInformation", "description": "Certificate information." } }, "required": [ "storeName" ], "description": "Certificate configuration which consist of non-trusted intermediates and root certificates." }, "HostnameConfiguration": { "properties": { "type": { "type": "string", "description": "Hostname type.", "enum": [ "Proxy", "Portal", "Management", "Scm", "DeveloperPortal" ], "x-ms-enum": { "name": "HostnameType", "modelAsString": true } }, "hostName": { "type": "string", "description": "Hostname to configure on the Api Management service." }, "keyVaultId": { "type": "string", "description": "Url to the KeyVault Secret containing the Ssl Certificate. If absolute Url containing version is provided, auto-update of ssl certificate will not work. This requires Api Management service to be configured with aka.ms/apimmsi. The secret should be of type *application/x-pkcs12*" }, "identityClientId": { "type": "string", "description": "System or User Assigned Managed identity clientId as generated by Azure AD, which has GET access to the keyVault containing the SSL certificate." }, "encodedCertificate": { "type": "string", "description": "Base64 Encoded certificate." }, "certificatePassword": { "type": "string", "description": "Certificate Password." }, "defaultSslBinding": { "type": "boolean", "description": "Specify true to setup the certificate associated with this Hostname as the Default SSL Certificate. If a client does not send the SNI header, then this will be the certificate that will be challenged. The property is useful if a service has multiple custom hostname enabled and it needs to decide on the default ssl certificate. The setting only applied to Proxy Hostname Type.", "default": false }, "negotiateClientCertificate": { "type": "boolean", "description": "Specify true to always negotiate client certificate on the hostname. Default Value is false.", "default": false }, "certificate": { "$ref": "#/definitions/CertificateInformation", "description": "Certificate information." } }, "required": [ "type", "hostName" ], "description": "Custom hostname configuration." }, "VirtualNetworkConfiguration": { "properties": { "vnetid": { "readOnly": true, "type": "string", "description": "The virtual network ID. This is typically a GUID. Expect a null GUID by default." }, "subnetname": { "readOnly": true, "type": "string", "description": "The name of the subnet." }, "subnetResourceId": { "type": "string", "pattern": "^/subscriptions/[^/]*/resourceGroups/[^/]*/providers/Microsoft.(ClassicNetwork|Network)/virtualNetworks/[^/]*/subnets/[^/]*$", "description": "The full resource ID of a subnet in a virtual network to deploy the API Management service in." } }, "description": "Configuration of a virtual network to which API Management service is deployed." }, "AdditionalLocation": { "properties": { "location": { "type": "string", "description": "The location name of the additional region among Azure Data center regions." }, "sku": { "$ref": "#/definitions/ApiManagementServiceSkuProperties", "description": "SKU properties of the API Management service." }, "zones": { "type": "array", "items": { "type": "string" }, "description": "A list of availability zones denoting where the resource needs to come from." }, "publicIPAddresses": { "type": "array", "items": { "type": "string" }, "readOnly": true, "description": "Public Static Load Balanced IP addresses of the API Management service in the additional location. Available only for Basic, Standard, Premium and Isolated SKU." }, "privateIPAddresses": { "type": "array", "items": { "type": "string" }, "readOnly": true, "description": "Private Static Load Balanced IP addresses of the API Management service which is deployed in an Internal Virtual Network in a particular additional location. Available only for Basic, Standard, Premium and Isolated SKU." }, "virtualNetworkConfiguration": { "$ref": "#/definitions/VirtualNetworkConfiguration", "description": "Virtual network configuration for the location." }, "gatewayRegionalUrl": { "type": "string", "description": "Gateway URL of the API Management service in the Region.", "readOnly": true }, "disableGateway": { "type": "boolean", "description": "Property only valid for an Api Management service deployed in multiple locations. This can be used to disable the gateway in this additional location.", "default": false } }, "required": [ "location", "sku" ], "description": "Description of an additional API Management resource location." }, "ApiManagementServiceBackupRestoreParameters": { "properties": { "storageAccount": { "type": "string", "description": "Azure Cloud Storage account (used to place/retrieve the backup) name." }, "accessKey": { "type": "string", "description": "Azure Cloud Storage account (used to place/retrieve the backup) access key." }, "containerName": { "type": "string", "description": "Azure Cloud Storage blob container name used to place/retrieve the backup." }, "backupName": { "type": "string", "description": "The name of the backup file to create." } }, "required": [ "storageAccount", "accessKey", "containerName", "backupName" ], "description": "Parameters supplied to the Backup/Restore of an API Management service operation." }, "ApiManagementServiceProperties": { "properties": { "publisherEmail": { "type": "string", "description": "Publisher email.", "maxLength": 100 }, "publisherName": { "type": "string", "description": "Publisher name.", "maxLength": 100 } }, "allOf": [ { "$ref": "#/definitions/ApiManagementServiceBaseProperties" } ], "required": [ "publisherEmail", "publisherName" ], "description": "Properties of an API Management service resource description." }, "ApiManagementServiceUpdateProperties": { "properties": { "publisherEmail": { "type": "string", "description": "Publisher email.", "maxLength": 100 }, "publisherName": { "type": "string", "description": "Publisher name.", "maxLength": 100 } }, "allOf": [ { "$ref": "#/definitions/ApiManagementServiceBaseProperties" } ], "description": "Properties of an API Management service resource description." }, "ApiManagementServiceBaseProperties": { "properties": { "notificationSenderEmail": { "type": "string", "description": "Email address from which the notification will be sent.", "maxLength": 100 }, "provisioningState": { "type": "string", "description": "The current provisioning state of the API Management service which can be one of the following: Created/Activating/Succeeded/Updating/Failed/Stopped/Terminating/TerminationFailed/Deleted.", "readOnly": true }, "targetProvisioningState": { "type": "string", "description": "The provisioning state of the API Management service, which is targeted by the long running operation started on the service.", "readOnly": true }, "createdAtUtc": { "type": "string", "format": "date-time", "description": "Creation UTC date of the API Management service.The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.", "readOnly": true }, "gatewayUrl": { "type": "string", "description": "Gateway URL of the API Management service.", "readOnly": true }, "gatewayRegionalUrl": { "type": "string", "description": "Gateway URL of the API Management service in the Default Region.", "readOnly": true }, "portalUrl": { "type": "string", "description": "Publisher portal endpoint Url of the API Management service.", "readOnly": true }, "managementApiUrl": { "type": "string", "description": "Management API endpoint URL of the API Management service.", "readOnly": true }, "scmUrl": { "type": "string", "description": "SCM endpoint URL of the API Management service.", "readOnly": true }, "developerPortalUrl": { "type": "string", "description": "DEveloper Portal endpoint URL of the API Management service.", "readOnly": true }, "hostnameConfigurations": { "type": "array", "items": { "$ref": "#/definitions/HostnameConfiguration" }, "description": "Custom hostname configuration of the API Management service." }, "publicIPAddresses": { "type": "array", "items": { "type": "string" }, "readOnly": true, "description": "Public Static Load Balanced IP addresses of the API Management service in Primary region. Available only for Basic, Standard, Premium and Isolated SKU." }, "privateIPAddresses": { "type": "array", "items": { "type": "string" }, "readOnly": true, "description": "Private Static Load Balanced IP addresses of the API Management service in Primary region which is deployed in an Internal Virtual Network. Available only for Basic, Standard, Premium and Isolated SKU." }, "virtualNetworkConfiguration": { "$ref": "#/definitions/VirtualNetworkConfiguration", "description": "Virtual network configuration of the API Management service." }, "additionalLocations": { "type": "array", "items": { "$ref": "#/definitions/AdditionalLocation" }, "description": "Additional datacenter locations of the API Management service." }, "customProperties": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Custom properties of the API Management service.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168` will disable the cipher TLS_RSA_WITH_3DES_EDE_CBC_SHA for all TLS(1.0, 1.1 and 1.2).
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11` can be used to disable just TLS 1.1.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10` can be used to disable TLS 1.0 on an API Management service.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11` can be used to disable just TLS 1.1 for communications with backends.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10` can be used to disable TLS 1.0 for communications with backends.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2` can be used to enable HTTP2 protocol on an API Management service.
Not specifying any of these properties on PATCH operation will reset omitted properties' values to their defaults. For all the settings except Http2 the default value is `True` if the service was created on or before April 1st 2018 and `False` otherwise. Http2 setting's default value is `False`.

You can disable any of next ciphers by using settings `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name]`: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA. For example, `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256`:`false`. The default value is `true` for them. Note: next ciphers can't be disabled since they are required by Azure CloudService internal components: TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_GCM_SHA384" }, "certificates": { "type": "array", "items": { "$ref": "#/definitions/CertificateConfiguration" }, "description": "List of Certificates that need to be installed in the API Management service. Max supported certificates that can be installed is 10." }, "enableClientCertificate": { "type": "boolean", "description": "Property only meant to be used for Consumption SKU Service. This enforces a client certificate to be presented on each request to the gateway. This also enables the ability to authenticate the certificate in the policy on the gateway.", "default": false }, "disableGateway": { "type": "boolean", "description": "Property only valid for an Api Management service deployed in multiple locations. This can be used to disable the gateway in master region.", "default": false }, "virtualNetworkType": { "type": "string", "description": "The type of VPN in which API Management service needs to be configured in. None (Default Value) means the API Management service is not part of any Virtual Network, External means the API Management deployment is set up inside a Virtual Network having an Internet Facing Endpoint, and Internal means that API Management deployment is setup inside a Virtual Network having an Intranet Facing Endpoint only.", "default": "None", "enum": [ "None", "External", "Internal" ], "x-ms-enum": { "name": "VirtualNetworkType", "modelAsString": true, "values": [ { "value": "None", "description": "The service is not part of any Virtual Network." }, { "value": "External", "description": "The service is part of Virtual Network and it is accessible from Internet." }, { "value": "Internal", "description": "The service is part of Virtual Network and it is only accessible from within the virtual network." } ] } }, "apiVersionConstraint": { "$ref": "#/definitions/ApiVersionConstraint", "description": "Control Plane Apis version constraint for the API Management service." }, "restore": { "type": "boolean", "description": "Undelete Api Management Service if it was previously soft-deleted. If this flag is specified and set to True all other properties will be ignored.", "default": false } }, "description": "Base Properties of an API Management service resource description." }, "ApiVersionConstraint": { "properties": { "minApiVersion": { "type": "string", "description": "Limit control plane API calls to API Management service with version equal to or newer than this value.", "example": "2019-01-01" } }, "description": "Control Plane Apis version constraint for the API Management service." }, "ApiManagementServiceSkuProperties": { "properties": { "name": { "type": "string", "description": "Name of the Sku.", "externalDocs": { "url": "https://azure.microsoft.com/en-us/pricing/details/api-management/" }, "enum": [ "Developer", "Standard", "Premium", "Basic", "Consumption", "Isolated" ], "x-ms-enum": { "name": "SkuType", "modelAsString": true, "values": [ { "value": "Developer", "description": "Developer SKU of Api Management." }, { "value": "Standard", "description": "Standard SKU of Api Management." }, { "value": "Premium", "description": "Premium SKU of Api Management." }, { "value": "Basic", "description": "Basic SKU of Api Management." }, { "value": "Consumption", "description": "Consumption SKU of Api Management." }, { "value": "Isolated", "description": "Isolated SKU of Api Management." } ] } }, "capacity": { "type": "integer", "format": "int32", "description": "Capacity of the SKU (number of deployed units of the SKU). For Consumption SKU capacity must be specified as 0." } }, "required": [ "name", "capacity" ], "description": "API Management service resource SKU properties." }, "ApiManagementServiceResource": { "properties": { "properties": { "x-ms-client-flatten": true, "$ref": "#/definitions/ApiManagementServiceProperties", "description": "Properties of the API Management service." }, "sku": { "$ref": "#/definitions/ApiManagementServiceSkuProperties", "description": "SKU properties of the API Management service." }, "identity": { "$ref": "#/definitions/ApiManagementServiceIdentity", "description": "Managed service identity of the Api Management service." }, "location": { "type": "string", "description": "Resource location.", "x-ms-mutability": [ "read", "create" ] }, "etag": { "type": "string", "description": "ETag of the resource.", "readOnly": true }, "zones": { "type": "array", "items": { "type": "string" }, "description": "A list of availability zones denoting where the resource needs to come from." } }, "allOf": [ { "$ref": "#/definitions/ApimResource" } ], "required": [ "location", "sku", "properties" ], "description": "A single API Management service resource in List or Get response." }, "ApimResource": { "description": "The Resource definition.", "properties": { "id": { "readOnly": true, "type": "string", "description": "Resource ID." }, "name": { "type": "string", "description": "Resource name.", "readOnly": true }, "type": { "readOnly": true, "type": "string", "description": "Resource type for API Management resource is set to Microsoft.ApiManagement." }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Resource tags." } }, "x-ms-azure-resource": true }, "ApiManagementServiceUpdateParameters": { "properties": { "properties": { "x-ms-client-flatten": true, "$ref": "#/definitions/ApiManagementServiceUpdateProperties", "description": "Properties of the API Management service." }, "sku": { "$ref": "#/definitions/ApiManagementServiceSkuProperties", "description": "SKU properties of the API Management service." }, "identity": { "$ref": "#/definitions/ApiManagementServiceIdentity", "description": "Managed service identity of the Api Management service." }, "etag": { "type": "string", "description": "ETag of the resource.", "readOnly": true } }, "allOf": [ { "$ref": "#/definitions/ApimResource" } ], "description": "Parameter supplied to Update Api Management Service." }, "ApiManagementServiceListResult": { "properties": { "value": { "type": "array", "items": { "$ref": "#/definitions/ApiManagementServiceResource" }, "description": "Result of the List API Management services operation." }, "nextLink": { "type": "string", "description": "Link to the next set of results. Not empty if Value contains incomplete list of API Management services." } }, "required": [ "value" ], "description": "The response of the List API Management services operation." }, "ApiManagementServiceGetSsoTokenResult": { "properties": { "redirectUri": { "type": "string", "description": "Redirect URL to the Publisher Portal containing the SSO token." } }, "description": "The response of the GetSsoToken operation." }, "ApiManagementServiceCheckNameAvailabilityParameters": { "properties": { "name": { "type": "string", "description": "The name to check for availability." } }, "required": [ "name" ], "description": "Parameters supplied to the CheckNameAvailability operation." }, "ApiManagementServiceNameAvailabilityResult": { "properties": { "nameAvailable": { "type": "boolean", "description": "True if the name is available and can be used to create a new API Management service; otherwise false.", "readOnly": true }, "message": { "type": "string", "description": "If reason == invalid, provide the user with the reason why the given name is invalid, and provide the resource naming requirements so that the user can select a valid name. If reason == AlreadyExists, explain that is already in use, and direct them to select a different name.", "readOnly": true }, "reason": { "type": "string", "description": "Invalid indicates the name provided does not match the resource provider’s naming requirements (incorrect length, unsupported characters, etc.) AlreadyExists indicates that the name is already in use and is therefore unavailable.", "enum": [ "Valid", "Invalid", "AlreadyExists" ], "x-ms-enum": { "name": "NameAvailabilityReason", "modelAsString": false } } }, "description": "Response of the CheckNameAvailability operation." }, "ApiManagementServiceGetDomainOwnershipIdentifierResult": { "properties": { "domainOwnershipIdentifier": { "type": "string", "description": "The domain ownership identifier value.", "readOnly": true } }, "description": "Response of the GetDomainOwnershipIdentifier operation." }, "ApiManagementServiceApplyNetworkConfigurationParameters": { "properties": { "location": { "type": "string", "description": "Location of the Api Management service to update for a multi-region service. For a service deployed in a single region, this parameter is not required." } }, "description": "Parameter supplied to the Apply Network configuration operation." }, "ApiManagementServiceIdentity": { "description": "Identity properties of the Api Management service resource.", "properties": { "type": { "type": "string", "description": "The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the service.", "enum": [ "SystemAssigned", "UserAssigned", "SystemAssigned, UserAssigned", "None" ], "x-ms-enum": { "name": "ApimIdentityType", "modelAsString": true } }, "principalId": { "type": "string", "format": "uuid", "readOnly": true, "description": "The principal id of the identity." }, "tenantId": { "type": "string", "format": "uuid", "readOnly": true, "description": "The client tenant id of the identity." }, "userAssignedIdentities": { "description": "The list of user identities associated with the resource. The user identity \r\ndictionary key references will be ARM resource ids in the form: \r\n'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/\r\n providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.", "type": "object", "additionalProperties": { "$ref": "#/definitions/UserIdentityProperties" } } }, "required": [ "type" ] }, "UserIdentityProperties": { "type": "object", "properties": { "principalId": { "description": "The principal id of user assigned identity.", "type": "string" }, "clientId": { "description": "The client id of user assigned identity.", "type": "string" } } }, "Operation": { "description": "REST API operation", "type": "object", "properties": { "name": { "description": "Operation name: {provider}/{resource}/{operation}", "type": "string" }, "display": { "description": "The object that describes the operation.", "properties": { "provider": { "description": "Friendly name of the resource provider", "type": "string" }, "operation": { "description": "Operation type: read, write, delete, listKeys/action, etc.", "type": "string" }, "resource": { "description": "Resource type on which the operation is performed.", "type": "string" }, "description": { "description": "Friendly name of the operation", "type": "string" } } }, "origin": { "type": "string", "description": "The operation origin." }, "properties": { "type": "object", "x-ms-client-flatten": true, "description": "The operation properties." } } }, "OperationListResult": { "description": "Result of the request to list REST API operations. It contains a list of operations and a URL nextLink to get the next set of results.", "properties": { "value": { "type": "array", "items": { "$ref": "#/definitions/Operation" }, "description": "List of operations supported by the resource provider." }, "nextLink": { "type": "string", "description": "URL to get the next set of operation list results if there are any." } } } }, "parameters": {} }