{ "swagger": "2.0", "info": { "title": "ApiManagementClient", "description": "Use these REST APIs for performing operations on Backend entity in Azure API Management deployment. The Backend entity in API Management represents a backend service that is configured to skip certification chain validation when using a self-signed certificate to test mutual certificate authentication.", "version": "2017-03-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": { "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends": { "get": { "tags": [ "Backends" ], "operationId": "Backend_ListByService", "description": "Lists a collection of backends in the specified service instance.", "x-ms-examples": { "ApiManagementListBackends": { "$ref": "./examples/ApiManagementListBackends.json" } }, "parameters": [ { "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { "name": "$filter", "in": "query", "required": false, "type": "string", "description": "| Field | Supported operators | Supported functions |\n|-------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| host | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |" }, { "$ref": "./apimanagement.json#/parameters/TopQueryParameter" }, { "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, { "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "Lists a collection of Backend entities.", "schema": { "$ref": "#/definitions/BackendCollection" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "./apimanagement.json#/definitions/ErrorResponse" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" }, "x-ms-odata": "#/definitions/BackendContract" } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendid}": { "head": { "tags": [ "Backends" ], "operationId": "Backend_GetEntityTag", "description": "Gets the entity state (Etag) version of the backend specified by its identifier.", "x-ms-examples": { "ApiManagementHeadBackend": { "$ref": "./examples/ApiManagementHeadBackend.json" } }, "parameters": [ { "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { "$ref": "#/parameters/BackendIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, { "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "Specified backend entity exists and current entity state version is present in the ETag header.", "headers": { "ETag": { "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", "type": "string" } } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "./apimanagement.json#/definitions/ErrorResponse" } } } }, "get": { "tags": [ "Backends" ], "operationId": "Backend_Get", "description": "Gets the details of the backend specified by its identifier.", "x-ms-examples": { "ApiManagementGetBackend": { "$ref": "./examples/ApiManagementGetBackend.json" } }, "parameters": [ { "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { "$ref": "#/parameters/BackendIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, { "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "The response body contains the specified Backend entity.", "schema": { "$ref": "#/definitions/BackendContract" }, "headers": { "ETag": { "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", "type": "string" } } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "./apimanagement.json#/definitions/ErrorResponse" } } } }, "put": { "tags": [ "Backends" ], "operationId": "Backend_CreateOrUpdate", "description": "Creates or Updates a backend.", "x-ms-examples": { "ApiManagementCreateBackendServiceFabric": { "$ref": "./examples/ApiManagementCreateBackendServiceFabric.json" }, "ApiManagementCreateBackendProxyBackend": { "$ref": "./examples/ApiManagementCreateBackendProxyBackend.json" } }, "parameters": [ { "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { "$ref": "#/parameters/BackendIdParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { "$ref": "#/definitions/BackendContract" }, "description": "Create parameters." }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, { "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } ], "responses": { "201": { "description": "Backend was successfully created.", "schema": { "$ref": "#/definitions/BackendContract" } }, "200": { "description": "The existing backend was successfully updated.", "schema": { "$ref": "#/definitions/BackendContract" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "./apimanagement.json#/definitions/ErrorResponse" } } } }, "patch": { "tags": [ "Backends" ], "operationId": "Backend_Update", "description": "Updates an existing backend.", "x-ms-examples": { "ApiManagementUpdateBackend": { "$ref": "./examples/ApiManagementUpdateBackend.json" } }, "parameters": [ { "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { "$ref": "#/parameters/BackendIdParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { "$ref": "#/definitions/BackendUpdateParameters" }, "description": "Update parameters." }, { "name": "If-Match", "in": "header", "required": true, "description": "The entity state (Etag) version of the backend to update. A value of \"*\" can be used for If-Match to unconditionally apply the operation.", "type": "string" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, { "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } ], "responses": { "204": { "description": "The existing backend was successfully updated." }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "./apimanagement.json#/definitions/ErrorResponse" } } } }, "delete": { "tags": [ "Backends" ], "operationId": "Backend_Delete", "x-ms-examples": { "ApiManagementDeleteBackend": { "$ref": "./examples/ApiManagementDeleteBackend.json" } }, "description": "Deletes the specified backend.", "parameters": [ { "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { "$ref": "#/parameters/BackendIdParameter" }, { "name": "If-Match", "in": "header", "required": true, "description": "The entity state (Etag) version of the backend to delete. A value of \"*\" can be used for If-Match to unconditionally apply the operation.", "type": "string" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, { "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } ], "responses": { "204": { "description": "The backend was successfully deleted." }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "./apimanagement.json#/definitions/ErrorResponse" } } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendid}/reconnect": { "post": { "tags": [ "Backends" ], "operationId": "Backend_Reconnect", "description": "Notifies the APIM proxy to create a new connection to the backend after the specified timeout. If no timeout was specified, timeout of 2 minutes is used.", "x-ms-examples": { "ApiManagementBackendReconnect": { "$ref": "./examples/ApiManagementBackendReconnect.json" } }, "parameters": [ { "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { "$ref": "#/parameters/BackendIdParameter" }, { "name": "parameters", "in": "body", "required": false, "schema": { "$ref": "#/definitions/BackendReconnectContract" }, "description": "Reconnect request parameters." }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, { "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } ], "responses": { "202": { "description": "Reconnect request accepted." }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "./apimanagement.json#/definitions/ErrorResponse" } } } } } }, "definitions": { "BackendAuthorizationHeaderCredentials": { "properties": { "scheme": { "type": "string", "description": "Authentication Scheme name.", "minLength": 1, "maxLength": 100 }, "parameter": { "type": "string", "description": "Authentication Parameter value.", "minLength": 1, "maxLength": 300 } }, "required": [ "scheme", "parameter" ], "description": "Authorization header information." }, "BackendBaseParameters": { "properties": { "title": { "type": "string", "description": "Backend Title.", "minLength": 1, "maxLength": 300 }, "description": { "type": "string", "description": "Backend Description.", "minLength": 1, "maxLength": 2000 }, "resourceId": { "type": "string", "description": "Management Uri of the Resource in External System. This url can be the Arm Resource Id of Logic Apps, Function Apps or Api Apps.", "minLength": 1, "maxLength": 2000 }, "properties": { "$ref": "#/definitions/BackendProperties", "description": "Backend Properties contract" }, "credentials": { "$ref": "#/definitions/BackendCredentialsContract", "description": "Backend Credentials Contract Properties" }, "proxy": { "$ref": "#/definitions/BackendProxyContract", "description": "Backend Proxy Contract Properties" }, "tls": { "$ref": "#/definitions/BackendTlsProperties", "description": "Backend TLS Properties" } }, "description": "Backend entity base Parameter set." }, "BackendCollection": { "properties": { "value": { "type": "array", "items": { "$ref": "#/definitions/BackendContract" }, "description": "Backend values." }, "nextLink": { "type": "string", "description": "Next page link if any." } }, "description": "Paged Backend list representation." }, "BackendContract": { "properties": { "properties": { "x-ms-client-flatten": true, "$ref": "#/definitions/BackendContractProperties", "description": "Backend entity contract properties." } }, "allOf": [ { "$ref": "./apimanagement.json#/definitions/Resource" } ], "description": "Backend details." }, "BackendContractProperties": { "properties": { "url": { "type": "string", "description": "Runtime Url of the Backend.", "minLength": 1, "maxLength": 2000 }, "protocol": { "type": "string", "enum": [ "http", "soap" ], "x-ms-enum": { "name": "BackendProtocol", "modelAsString": true, "values": [ { "value": "http", "description": "The Backend is a RESTful service." }, { "value": "soap", "description": "The Backend is a SOAP service." } ] }, "description": "Backend communication protocol." } }, "allOf": [ { "$ref": "#/definitions/BackendBaseParameters" } ], "required": [ "url", "protocol" ], "description": "Parameters supplied to the Create Backend operation." }, "BackendCredentialsContract": { "properties": { "certificate": { "type": "array", "items": { "type": "string" }, "maxItems": 32, "description": "List of Client Certificate Thumbprint." }, "query": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "string" } }, "description": "Query Parameter description." }, "header": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "string" } }, "description": "Header Parameter description." }, "authorization": { "description": "Authorization header authentication", "$ref": "#/definitions/BackendAuthorizationHeaderCredentials" } }, "description": "Details of the Credentials used to connect to Backend." }, "BackendProperties": { "properties": { "serviceFabricCluster": { "$ref": "#/definitions/BackendServiceFabricClusterProperties", "description": "Backend Service Fabric Cluster Properties" } }, "description": "Properties specific to the Backend Type." }, "BackendServiceFabricClusterProperties": { "properties": { "clientCertificatethumbprint": { "description": "The client certificate thumbprint for the management endpoint.", "type": "string" }, "maxPartitionResolutionRetries": { "description": "Maximum number of retries while attempting resolve the partition.", "format": "int32", "type": "integer" }, "managementEndpoints": { "type": "array", "items": { "type": "string" }, "description": "The cluster management endpoint." }, "serverCertificateThumbprints": { "type": "array", "items": { "type": "string" }, "description": "Thumbprints of certificates cluster management service uses for tls communication" }, "serverX509Names": { "type": "array", "items": { "$ref": "#/definitions/X509CertificateName" }, "description": "Server X509 Certificate Names Collection" } }, "required": [ "managementEndpoints", "clientCertificatethumbprint" ], "description": "Properties of the Service Fabric Type Backend." }, "X509CertificateName": { "properties": { "name": { "description": "Common Name of the Certificate.", "type": "string" }, "issuerCertificateThumbprint": { "description": "Thumbprint for the Issuer of the Certificate.", "type": "string" } }, "externalDocs": { "url": "https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-windows-cluster-x509-security" }, "description": "Properties of server X509Names." }, "BackendTlsProperties": { "properties": { "validateCertificateChain": { "description": "Flag indicating whether SSL certificate chain validation should be done when using self-signed certificates for this backend host.", "type": "boolean", "default": true }, "validateCertificateName": { "description": "Flag indicating whether SSL certificate name validation should be done when using self-signed certificates for this backend host.", "type": "boolean", "default": true } }, "description": "Properties controlling TLS Certificate Validation." }, "BackendProxyContract": { "externalDocs": { "url": "https://msdn.microsoft.com/en-us/library/system.net.webproxy(v=vs.110).aspx", "description": "Backend entity uses these details to connect to a WebProxy." }, "properties": { "url": { "type": "string", "description": "WebProxy Server AbsoluteUri property which includes the entire URI stored in the Uri instance, including all fragments and query strings.", "minLength": 1, "maxLength": 2000 }, "username": { "type": "string", "description": "Username to connect to the WebProxy server" }, "password": { "type": "string", "description": "Password to connect to the WebProxy Server" } }, "required": [ "url" ], "description": "Details of the Backend WebProxy Server to use in the Request to Backend." }, "BackendUpdateParameters": { "properties": { "properties": { "x-ms-client-flatten": true, "$ref": "#/definitions/BackendUpdateParameterProperties", "description": "Backend entity update contract properties." } }, "description": "Backend update parameters." }, "BackendUpdateParameterProperties": { "properties": { "url": { "type": "string", "description": "Runtime Url of the Backend.", "minLength": 1, "maxLength": 2000 }, "protocol": { "type": "string", "enum": [ "http", "soap" ], "x-ms-enum": { "name": "BackendProtocol", "modelAsString": true, "values": [ { "value": "http", "description": "The Backend is a RESTful service." }, { "value": "soap", "description": "The Backend is a SOAP service." } ] }, "description": "Backend communication protocol." } }, "allOf": [ { "$ref": "#/definitions/BackendBaseParameters" } ], "description": "Parameters supplied to the Update Backend operation." }, "BackendReconnectContract": { "properties": { "properties": { "x-ms-client-flatten": true, "$ref": "#/definitions/BackendReconnectProperties", "description": "Reconnect request properties." } }, "allOf": [ { "$ref": "./apimanagement.json#/definitions/Resource" } ], "description": "Reconnect request parameters." }, "BackendReconnectProperties": { "properties": { "after": { "type": "string", "format": "duration", "description": "Duration in ISO8601 format after which reconnect will be initiated.", "minLength": 1, "maxLength": 2000 } }, "description": "Properties to control reconnect requests." } }, "parameters": { "BackendIdParameter": { "name": "backendid", "in": "path", "required": true, "type": "string", "description": "Identifier of the Backend entity. Must be unique in the current API Management service instance.", "minLength": 1, "maxLength": 255, "pattern": "^[^*#&+:<>?]+$", "x-ms-parameter-location": "method" } } }