{
  "swagger": "2.0",
  "schemes": [
    "https"
  ],
  "host": "management.azure.com",
  "info": {
    "description": "Use these REST APIs for performing operations on API entity and their Operations associated with your Azure API Management deployment.",
    "title": "ApiManagementClient",
    "version": "2017-03-01",
    "x-apisguru-categories": [
      "cloud"
    ],
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_assets.onestore.ms_cdnfiles_onestorerolling-1606-01000_shell_v3_images_logo_microsoft.png"
    },
    "x-origin": [
      {
        "format": "swagger",
        "url": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimapis.json",
        "version": "2.0"
      }
    ],
    "x-preferred": false,
    "x-providerName": "azure.com",
    "x-serviceName": "apimanagement-apimapis",
    "x-tags": [
      "Azure",
      "Microsoft"
    ]
  },
  "consumes": [
    "application/json"
  ],
  "produces": [
    "application/json"
  ],
  "securityDefinitions": {
    "azure_auth": {
      "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
      "description": "Azure Active Directory OAuth2 Flow.",
      "flow": "implicit",
      "scopes": {
        "user_impersonation": "impersonate your user account"
      },
      "type": "oauth2"
    }
  },
  "security": [
    {
      "azure_auth": [
        "user_impersonation"
      ]
    }
  ],
  "parameters": {
    "ApiIdParameter": {
      "description": "API identifier. Must be unique in the current API Management service instance.",
      "in": "path",
      "maxLength": 256,
      "minLength": 1,
      "name": "apiId",
      "pattern": "^[^*#&+:<>?]+$",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "ApiIdRevParameter": {
      "description": "API revision identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number.",
      "in": "path",
      "maxLength": 256,
      "minLength": 1,
      "name": "apiId",
      "pattern": "^[^*#&+:<>?]+$",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "AttachmentIdParameter": {
      "description": "Attachment identifier within an Issue. Must be unique in the current Issue.",
      "in": "path",
      "maxLength": 256,
      "minLength": 1,
      "name": "attachmentId",
      "pattern": "^[^*#&+:<>?]+$",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "CommentIdParameter": {
      "description": "Comment identifier within an Issue. Must be unique in the current Issue.",
      "in": "path",
      "maxLength": 256,
      "minLength": 1,
      "name": "commentId",
      "pattern": "^[^*#&+:<>?]+$",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "IfMatch": {
      "description": "ETag of the Entity. ETag should match the current entity state from the header response of the GET request or it should be * for unconditional update.",
      "in": "header",
      "name": "If-Match",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "IssueIdParameter": {
      "description": "Issue identifier. Must be unique in the current API Management service instance.",
      "in": "path",
      "maxLength": 256,
      "minLength": 1,
      "name": "issueId",
      "pattern": "^[^*#&+:<>?]+$",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "OperationIdParameter": {
      "description": "Operation identifier within an API. Must be unique in the current API Management service instance.",
      "in": "path",
      "maxLength": 256,
      "minLength": 1,
      "name": "operationId",
      "pattern": "^[^*#&+:<>?]+$",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "SchemaIdParameter": {
      "description": "Schema identifier within an API. Must be unique in the current API Management service instance.",
      "in": "path",
      "maxLength": 256,
      "minLength": 1,
      "name": "schemaId",
      "pattern": "^[^*#&+:<>?]+$",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method"
    }
  },
  "paths": {
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis": {
      "get": {
        "description": "Lists all APIs of the API Management service instance.",
        "externalDocs": {
          "url": "https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-create-apis"
        },
        "operationId": "Api_ListByService",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "| Field       | Supported operators    | Supported functions               |\n|-------------|------------------------|-----------------------------------|\n| id          | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |\n| name        | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |\n| description | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |\n| serviceUrl  | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |\n| path        | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |",
            "in": "query",
            "name": "$filter",
            "required": false,
            "type": "string"
          },
          {
            "description": "Number of records to return.",
            "format": "int32",
            "in": "query",
            "minimum": 1,
            "name": "$top",
            "required": false,
            "type": "integer",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "Number of records to skip.",
            "format": "int32",
            "in": "query",
            "minimum": 0,
            "name": "$skip",
            "required": false,
            "type": "integer",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          },
          {
            "default": false,
            "description": "Include full ApiVersionSet resource in response",
            "in": "query",
            "name": "expandApiVersionSet",
            "required": false,
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "Paged Result response of Apis.",
            "schema": {
              "$ref": "#/definitions/ApiCollection"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "Apis"
        ],
        "x-ms-examples": {
          "ApiManagementListApis": {
            "parameters": {
              "api-version": "2017-03-01",
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "nextLink": "",
                  "value": [
                    {
                      "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1",
                      "name": "a1",
                      "properties": {
                        "apiRevision": "1",
                        "apiVersionSetId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/api-version-sets/c48f96c9-1385-4e2d-b410-5ab591ce0fc4",
                        "displayName": "api1",
                        "isCurrent": true,
                        "path": "api1",
                        "protocols": [
                          "https"
                        ],
                        "serviceUrl": "http://echoapi.cloudapp.net/api"
                      },
                      "type": "Microsoft.ApiManagement/service/apis"
                    },
                    {
                      "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5a73933b8f27f7cc82a2d533",
                      "name": "5a73933b8f27f7cc82a2d533",
                      "properties": {
                        "apiRevision": "1",
                        "apiVersion": "v1",
                        "apiVersionSetId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/api-version-sets/c48f96c9-1385-4e2d-b410-5ab591ce0fc4",
                        "displayName": "api1",
                        "isCurrent": true,
                        "path": "api1",
                        "protocols": [
                          "https"
                        ],
                        "serviceUrl": "http://echoapi.cloudapp.net/api"
                      },
                      "type": "Microsoft.ApiManagement/service/apis"
                    },
                    {
                      "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api",
                      "name": "echo-api",
                      "properties": {
                        "apiRevision": "1",
                        "displayName": "Echo API",
                        "isCurrent": true,
                        "path": "echo",
                        "protocols": [
                          "https"
                        ],
                        "serviceUrl": "http://echoapi.cloudapp.net/api"
                      },
                      "type": "Microsoft.ApiManagement/service/apis"
                    },
                    {
                      "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5a7390baa5816a110435aee0",
                      "name": "5a7390baa5816a110435aee0",
                      "properties": {
                        "apiRevision": "1",
                        "description": "A sample API that uses a petstore as an example to demonstrate features in the swagger-2.0 specification",
                        "displayName": "Swagger Petstore Extensive",
                        "isCurrent": true,
                        "path": "vvv",
                        "protocols": [
                          "https"
                        ],
                        "serviceUrl": "http://petstore.swagger.wordnik.com/api"
                      },
                      "type": "Microsoft.ApiManagement/service/apis"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-odata": "#/definitions/ApiContract",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}": {
      "delete": {
        "description": "Deletes the specified API of the API Management service instance.",
        "operationId": "Api_Delete",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdRevParameter"
          },
          {
            "description": "ETag of the API Entity. ETag should match the current entity state from the header response of the GET request or it should be * for unconditional update.",
            "in": "header",
            "name": "If-Match",
            "required": true,
            "type": "string"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "The API was successfully deleted."
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "Apis"
        ],
        "x-ms-examples": {
          "ApiManagementDeleteApi.json": {
            "parameters": {
              "If-Match": "*",
              "api-version": "2017-03-01",
              "apiId": "echo-api",
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "204": {}
            }
          }
        }
      },
      "get": {
        "description": "Gets the details of the API specified by its identifier.",
        "operationId": "Api_Get",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdRevParameter"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "application/vnd.sun.wadl+xml",
          "application/vnd.swagger.doc+json",
          "application/wsdl+xml"
        ],
        "responses": {
          "200": {
            "description": "The response body contains the specified API entity.",
            "headers": {
              "ETag": {
                "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/ApiContract"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "Apis"
        ],
        "x-ms-examples": {
          "ApiManagementGetApiContract": {
            "parameters": {
              "api-version": "2017-03-01",
              "apiId": "57d1f7558aa04f15146d9d8a",
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a",
                  "name": "57d1f7558aa04f15146d9d8a",
                  "properties": {
                    "apiRevision": "1",
                    "displayName": "Service",
                    "isCurrent": true,
                    "isOnline": true,
                    "path": "schulte",
                    "protocols": [
                      "https"
                    ],
                    "serviceUrl": "https://api.plexonline.com/DataSource/Service.asmx",
                    "subscriptionKeyParameterNames": {
                      "header": "Ocp-Apim-Subscription-Key",
                      "query": "subscription-key"
                    },
                    "type": "soap"
                  },
                  "type": "Microsoft.ApiManagement/service/apis"
                }
              }
            }
          }
        }
      },
      "head": {
        "description": "Gets the entity state (Etag) version of the API specified by its identifier.",
        "operationId": "Api_GetEntityTag",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdParameter"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Specified API 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": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "Apis"
        ],
        "x-ms-examples": {
          "ApiManagementHeadApi": {
            "parameters": {
              "api-version": "2017-03-01",
              "apiId": "57d1f7558aa04f15146d9d8a",
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "headers": {
                  "etag": "AAAAAAAAAAa="
                }
              }
            }
          }
        }
      },
      "patch": {
        "description": "Updates the specified API of the API Management service instance.",
        "operationId": "Api_Update",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdRevParameter"
          },
          {
            "description": "API Update Contract parameters.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ApiUpdateContract"
            }
          },
          {
            "description": "ETag of the API entity. ETag should match the current entity state in the header response of the GET request or it should be * for unconditional update.",
            "in": "header",
            "name": "If-Match",
            "required": true,
            "type": "string"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "The API was successfully updated."
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "Apis"
        ],
        "x-ms-examples": {
          "ApiManagementUpdateApi.json": {
            "parameters": {
              "If-Match": "*",
              "api-version": "2017-03-01",
              "apiId": "echo-api",
              "parameters": {
                "properties": {
                  "displayName": "Echo API New",
                  "path": "newecho",
                  "serviceUrl": "http://echoapi.cloudapp.net/api2"
                }
              },
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "204": {}
            }
          }
        }
      },
      "put": {
        "consumes": [
          "application/json",
          "application/vnd.sun.wadl+xml",
          "application/vnd.swagger.doc+json",
          "application/wsdl+xml"
        ],
        "description": "Creates new or updates existing specified API of the API Management service instance.",
        "operationId": "Api_CreateOrUpdate",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdRevParameter"
          },
          {
            "description": "Create or update parameters.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ApiCreateOrUpdateParameter"
            }
          },
          {
            "description": "ETag of the Api Entity. For Create Api Etag should not be specified. For Update Etag should match the existing Entity or it can be * for unconditional update.",
            "in": "header",
            "name": "If-Match",
            "required": false,
            "type": "string"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "API was successfully updated.",
            "headers": {
              "ETag": {
                "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/ApiContract"
            }
          },
          "201": {
            "description": "API was successfully created.",
            "headers": {
              "ETag": {
                "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/ApiContract"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "Apis"
        ],
        "x-ms-examples": {
          "ApiManagementCreateApi": {
            "parameters": {
              "api-version": "2017-03-01",
              "apiId": "tempgroup",
              "parameters": {
                "properties": {
                  "authenticationSettings": {
                    "oAuth2": {
                      "authorizationServerId": "authorizationServerId2283",
                      "scope": "oauth2scope2580"
                    }
                  },
                  "description": "apidescription5200",
                  "displayName": "apiname1463",
                  "path": "newapiPath",
                  "protocols": [
                    "https",
                    "http"
                  ],
                  "serviceUrl": "http://newechoapi.cloudapp.net/api",
                  "subscriptionKeyParameterNames": {
                    "header": "header4520",
                    "query": "query3037"
                  }
                }
              },
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419",
                  "name": "apiid9419",
                  "properties": {
                    "apiRevision": "1",
                    "authenticationSettings": {
                      "oAuth2": {
                        "authorizationServerId": "authorizationServerId2283",
                        "scope": "oauth2scope2580"
                      }
                    },
                    "description": "apidescription5200",
                    "displayName": "apiname1463",
                    "isCurrent": true,
                    "isOnline": true,
                    "path": "newapiPath",
                    "protocols": [
                      "http",
                      "https"
                    ],
                    "serviceUrl": "http://newechoapi.cloudapp.net/api",
                    "subscriptionKeyParameterNames": {
                      "header": "header4520",
                      "query": "query3037"
                    }
                  },
                  "type": "Microsoft.ApiManagement/service/apis"
                }
              },
              "201": {
                "body": {
                  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419",
                  "name": "apiid9419",
                  "properties": {
                    "apiRevision": "1",
                    "authenticationSettings": {
                      "oAuth2": {
                        "authorizationServerId": "authorizationServerId2283",
                        "scope": "oauth2scope2580"
                      }
                    },
                    "description": "apidescription5200",
                    "displayName": "apiname1463",
                    "isCurrent": true,
                    "isOnline": true,
                    "path": "newapiPath",
                    "protocols": [
                      "http",
                      "https"
                    ],
                    "serviceUrl": "http://newechoapi.cloudapp.net/api",
                    "subscriptionKeyParameterNames": {
                      "header": "header4520",
                      "query": "query3037"
                    }
                  },
                  "type": "Microsoft.ApiManagement/service/apis"
                }
              }
            }
          },
          "ApiManagementCreateApiRevision": {
            "parameters": {
              "api-version": "2017-03-01",
              "apiId": "5a838fd48f33670ed070d77c;rev=4",
              "parameters": {
                "properties": {
                  "description": "This is a sample server Petstore server.  You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/).  For this sample, you can use the api key `special-key` to test the authorization filters.",
                  "displayName": "Swagger Petstore V2",
                  "isCurrent": false,
                  "path": "petstore2",
                  "protocols": [
                    "https"
                  ],
                  "serviceUrl": "http://petstore.swagger.io/v4",
                  "subscriptionKeyParameterNames": {
                    "header": "Ocp-Apim-Subscription-Key",
                    "query": "subscription-key"
                  }
                }
              },
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5a838fd48f33670ed070d77c;rev=4",
                  "name": "5a838fd48f33670ed070d77c;rev=4",
                  "properties": {
                    "apiRevision": "4",
                    "description": "This is a sample server Petstore server.  You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/).  For this sample, you can use the api key `special-key` to test the authorization filters.",
                    "displayName": "Swagger Petstore 2",
                    "path": "petstore2",
                    "protocols": [
                      "https"
                    ],
                    "serviceUrl": "http://petstore.swagger.io/v4",
                    "subscriptionKeyParameterNames": {
                      "header": "Ocp-Apim-Subscription-Key",
                      "query": "subscription-key"
                    }
                  },
                  "type": "Microsoft.ApiManagement/service/apis"
                }
              },
              "201": {
                "body": {
                  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5a838fd48f33670ed070d77c;rev=4",
                  "name": "5a838fd48f33670ed070d77c;rev=4",
                  "properties": {
                    "apiRevision": "4",
                    "description": "This is a sample server Petstore server.  You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/).  For this sample, you can use the api key `special-key` to test the authorization filters.",
                    "displayName": "Swagger Petstore 2",
                    "path": "petstore2",
                    "protocols": [
                      "https"
                    ],
                    "serviceUrl": "http://petstore.swagger.io/v4",
                    "subscriptionKeyParameterNames": {
                      "header": "Ocp-Apim-Subscription-Key",
                      "query": "subscription-key"
                    }
                  },
                  "type": "Microsoft.ApiManagement/service/apis"
                }
              }
            }
          },
          "ApiManagementCreateApiUsingSwaggerImport": {
            "parameters": {
              "api-version": "2017-03-01",
              "apiId": "petstore",
              "parameters": {
                "properties": {
                  "contentFormat": "swagger-link-json",
                  "contentValue": "http://petstore.swagger.io/v2/swagger.json",
                  "path": "petstore"
                }
              },
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/petstoreapi",
                  "name": "petstoreapi",
                  "properties": {
                    "apiRevision": "1",
                    "description": "This is a sample server Petstore server.  You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/).  For this sample, you can use the api key `special-key` to test the authorization filters.",
                    "displayName": "Swagger Petstore",
                    "isCurrent": true,
                    "path": "petstore",
                    "protocols": [
                      "http"
                    ],
                    "serviceUrl": "http://petstore.swagger.io/v2",
                    "subscriptionKeyParameterNames": {
                      "header": "Ocp-Apim-Subscription-Key",
                      "query": "subscription-key"
                    }
                  },
                  "type": "Microsoft.ApiManagement/service/apis"
                }
              },
              "201": {
                "body": {
                  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/petstoreapi",
                  "name": "petstoreapi",
                  "properties": {
                    "apiRevision": "1",
                    "description": "This is a sample server Petstore server.  You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/).  For this sample, you can use the api key `special-key` to test the authorization filters.",
                    "displayName": "Swagger Petstore",
                    "isCurrent": true,
                    "path": "petstore",
                    "protocols": [
                      "http"
                    ],
                    "serviceUrl": "http://petstore.swagger.io/v2",
                    "subscriptionKeyParameterNames": {
                      "header": "Ocp-Apim-Subscription-Key",
                      "query": "subscription-key"
                    }
                  },
                  "type": "Microsoft.ApiManagement/service/apis"
                }
              }
            }
          },
          "ApiManagementCreateApiUsingWadlImport": {
            "parameters": {
              "api-version": "2017-03-01",
              "apiId": "petstore",
              "parameters": {
                "properties": {
                  "contentFormat": "wadl-link-json",
                  "contentValue": "https://developer.cisco.com/media/wae-release-6-2-api-reference/wae-collector-rest-api/application.wadl",
                  "path": "collector"
                }
              },
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/collectorwadl",
                  "name": "collectorwadl",
                  "properties": {
                    "apiRevision": "1",
                    "description": "",
                    "displayName": "http://localhost:8080/collector-northbound",
                    "isCurrent": true,
                    "path": "collector",
                    "protocols": [
                      "https"
                    ],
                    "serviceUrl": "http://localhost:8080/collector-northbound",
                    "subscriptionKeyParameterNames": {
                      "header": "Ocp-Apim-Subscription-Key",
                      "query": "subscription-key"
                    }
                  },
                  "type": "Microsoft.ApiManagement/service/apis"
                }
              },
              "201": {
                "body": {
                  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/collectorwadl",
                  "name": "collectorwadl",
                  "properties": {
                    "apiRevision": "1",
                    "description": "",
                    "displayName": "http://localhost:8080/collector-northbound",
                    "isCurrent": true,
                    "path": "collector",
                    "protocols": [
                      "https"
                    ],
                    "serviceUrl": "http://localhost:8080/collector-northbound",
                    "subscriptionKeyParameterNames": {
                      "header": "Ocp-Apim-Subscription-Key",
                      "query": "subscription-key"
                    }
                  },
                  "type": "Microsoft.ApiManagement/service/apis"
                }
              }
            }
          },
          "ApiManagementCreateApiUsingWsdlImport": {
            "parameters": {
              "api-version": "2017-03-01",
              "apiId": "soapApi",
              "parameters": {
                "properties": {
                  "contentFormat": "wsdl-link",
                  "contentValue": "http://www.webservicex.net/CurrencyConvertor.asmx?WSDL",
                  "path": "currency",
                  "wsdlSelector": {
                    "wsdlEndpointName": "CurrencyConvertorSoap",
                    "wsdlServiceName": "CurrencyConvertor"
                  }
                }
              },
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/soapApi",
                  "name": "soapApi",
                  "properties": {
                    "apiRevision": "1",
                    "displayName": "CurrencyConvertor",
                    "isCurrent": true,
                    "path": "currency",
                    "protocols": [
                      "https"
                    ],
                    "serviceUrl": "http://www.webservicex.net",
                    "subscriptionKeyParameterNames": {
                      "header": "Ocp-Apim-Subscription-Key",
                      "query": "subscription-key"
                    }
                  },
                  "type": "Microsoft.ApiManagement/service/apis"
                }
              },
              "201": {
                "body": {
                  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/soapApi",
                  "name": "soapApi",
                  "properties": {
                    "apiRevision": "1",
                    "displayName": "CurrencyConvertor",
                    "isCurrent": true,
                    "path": "currency",
                    "protocols": [
                      "https"
                    ],
                    "serviceUrl": "http://www.webservicex.net",
                    "subscriptionKeyParameterNames": {
                      "header": "Ocp-Apim-Subscription-Key",
                      "query": "subscription-key"
                    }
                  },
                  "type": "Microsoft.ApiManagement/service/apis"
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics": {
      "get": {
        "description": "Lists all diagnostics of an API.",
        "operationId": "ApiDiagnostic_ListByService",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdParameter"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          },
          {
            "description": "| Field       | Supported operators    | Supported functions               |\n|-------------|------------------------|-----------------------------------|\n| id          | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |",
            "in": "query",
            "name": "$filter",
            "required": false,
            "type": "string"
          },
          {
            "description": "Number of records to return.",
            "format": "int32",
            "in": "query",
            "minimum": 1,
            "name": "$top",
            "required": false,
            "type": "integer",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "Number of records to skip.",
            "format": "int32",
            "in": "query",
            "minimum": 0,
            "name": "$skip",
            "required": false,
            "type": "integer",
            "x-ms-parameter-location": "method"
          }
        ],
        "responses": {
          "200": {
            "description": "Paged Result response of diagnostics for an API.",
            "schema": {
              "description": "Paged Diagnostic list representation.",
              "properties": {
                "nextLink": {
                  "description": "Next page link if any.",
                  "type": "string"
                },
                "value": {
                  "description": "Page values.",
                  "items": {
                    "allOf": [
                      {
                        "description": "The Resource definition.",
                        "properties": {
                          "id": {
                            "description": "Resource ID.",
                            "readOnly": true,
                            "type": "string"
                          },
                          "name": {
                            "description": "Resource name.",
                            "readOnly": true,
                            "type": "string"
                          },
                          "type": {
                            "description": "Resource type for API Management resource.",
                            "readOnly": true,
                            "type": "string"
                          }
                        },
                        "x-ms-azure-resource": true
                      }
                    ],
                    "description": "Diagnostic details.",
                    "properties": {
                      "properties": {
                        "description": "Diagnostic Entity Properties",
                        "properties": {
                          "enabled": {
                            "description": "Indicates whether a diagnostic should receive data or not.",
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "enabled"
                        ]
                      }
                    }
                  },
                  "type": "array"
                }
              }
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "ApiDiagnostics"
        ],
        "x-ms-examples": {
          "ApiManagementListApiDiagnostics": {
            "parameters": {
              "api-version": "2017-03-01",
              "apiId": "57d1f7558aa04f15146d9d8a",
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "nextLink": "",
                  "value": [
                    {
                      "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/diagnostics/default",
                      "name": "default",
                      "properties": {
                        "enabled": false
                      },
                      "type": "Microsoft.ApiManagement/service/apis/diagnostics"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-odata": "./apimdiagnostics.json#/definitions/DiagnosticContract",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics/{diagnosticId}": {
      "delete": {
        "description": "Deletes the specified Diagnostic from an API.",
        "operationId": "ApiDiagnostic_Delete",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdParameter"
          },
          {
            "description": "Diagnostic identifier. Must be unique in the current API Management service instance.",
            "in": "path",
            "maxLength": 256,
            "minLength": 1,
            "name": "diagnosticId",
            "pattern": "^[^*#&+:<>?]+$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "ETag of the Diagnostic Entity. ETag should match the current entity state from the header response of the GET request or it should be * for unconditional update.",
            "in": "header",
            "name": "If-Match",
            "required": true,
            "type": "string"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "The Diagnostic was successfully deleted."
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "ApiDiagnostics"
        ],
        "x-ms-examples": {
          "ApiManagementDeleteApiDiagnostic": {
            "parameters": {
              "If-Match": "*",
              "api-version": "2017-03-01",
              "apiId": "57d1f7558aa04f15146d9d8a",
              "diagnosticId": "default",
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "204": {}
            }
          }
        }
      },
      "get": {
        "description": "Gets the details of the Diagnostic for an API specified by its identifier.",
        "operationId": "ApiDiagnostic_Get",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdParameter"
          },
          {
            "description": "Diagnostic identifier. Must be unique in the current API Management service instance.",
            "in": "path",
            "maxLength": 256,
            "minLength": 1,
            "name": "diagnosticId",
            "pattern": "^[^*#&+:<>?]+$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The response body contains the specified Diagnostic entity.",
            "headers": {
              "ETag": {
                "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
                "type": "string"
              }
            },
            "schema": {
              "allOf": [
                {
                  "description": "The Resource definition.",
                  "properties": {
                    "id": {
                      "description": "Resource ID.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "name": {
                      "description": "Resource name.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "type": {
                      "description": "Resource type for API Management resource.",
                      "readOnly": true,
                      "type": "string"
                    }
                  },
                  "x-ms-azure-resource": true
                }
              ],
              "description": "Diagnostic details.",
              "properties": {
                "properties": {
                  "description": "Diagnostic Entity Properties",
                  "properties": {
                    "enabled": {
                      "description": "Indicates whether a diagnostic should receive data or not.",
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "enabled"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "ApiDiagnostics"
        ],
        "x-ms-examples": {
          "ApiManagementGetApiDiagnostic": {
            "parameters": {
              "api-version": "2017-03-01",
              "apiId": "57d1f7558aa04f15146d9d8a",
              "diagnosticId": "default",
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/diagnostics/default",
                  "name": "default",
                  "properties": {
                    "enabled": false
                  },
                  "type": "Microsoft.ApiManagement/service/apis/diagnostics"
                }
              }
            }
          }
        }
      },
      "head": {
        "description": "Gets the entity state (Etag) version of the Diagnostic for an API specified by its identifier.",
        "operationId": "ApiDiagnostic_Head",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdParameter"
          },
          {
            "description": "Diagnostic identifier. Must be unique in the current API Management service instance.",
            "in": "path",
            "maxLength": 256,
            "minLength": 1,
            "name": "diagnosticId",
            "pattern": "^[^*#&+:<>?]+$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Operation completed successfully.",
            "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": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "ApiDiagnostics"
        ],
        "x-ms-examples": {
          "ApiManagementHeadApiDiagnostic": {
            "parameters": {
              "api-version": "2017-03-01",
              "apiId": "57d1f7558aa04f15146d9d8a",
              "diagnosticId": "default",
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "headers": {
                  "etag": "AAAAAAAAAAa="
                }
              }
            }
          }
        }
      },
      "patch": {
        "description": "Updates the details of the Diagnostic for an API specified by its identifier.",
        "operationId": "ApiDiagnostic_Update",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdParameter"
          },
          {
            "description": "Diagnostic identifier. Must be unique in the current API Management service instance.",
            "in": "path",
            "maxLength": 256,
            "minLength": 1,
            "name": "diagnosticId",
            "pattern": "^[^*#&+:<>?]+$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "Diagnostic Update parameters.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "allOf": [
                {
                  "description": "The Resource definition.",
                  "properties": {
                    "id": {
                      "description": "Resource ID.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "name": {
                      "description": "Resource name.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "type": {
                      "description": "Resource type for API Management resource.",
                      "readOnly": true,
                      "type": "string"
                    }
                  },
                  "x-ms-azure-resource": true
                }
              ],
              "description": "Diagnostic details.",
              "properties": {
                "properties": {
                  "description": "Diagnostic Entity Properties",
                  "properties": {
                    "enabled": {
                      "description": "Indicates whether a diagnostic should receive data or not.",
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "enabled"
                  ]
                }
              }
            }
          },
          {
            "description": "ETag of the Diagnostic Entity. ETag should match the current entity state from the header response of the GET request or it should be * for unconditional update.",
            "in": "header",
            "name": "If-Match",
            "required": true,
            "type": "string"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "The Diagnostic was successfully updated."
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "ApiDiagnostics"
        ],
        "x-ms-examples": {
          "ApiManagementUpdateApiDiagnostic": {
            "parameters": {
              "If-Match": "*",
              "api-version": "2017-03-01",
              "apiId": "57d1f7558aa04f15146d9d8a",
              "diagnosticId": "default",
              "parameters": {
                "properties": {
                  "enabled": false
                }
              },
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "204": {}
            }
          }
        }
      },
      "put": {
        "description": "Creates a new Diagnostic for an API or updates an existing one.",
        "operationId": "ApiDiagnostic_CreateOrUpdate",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdParameter"
          },
          {
            "description": "Diagnostic identifier. Must be unique in the current API Management service instance.",
            "in": "path",
            "maxLength": 256,
            "minLength": 1,
            "name": "diagnosticId",
            "pattern": "^[^*#&+:<>?]+$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "Create parameters.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "allOf": [
                {
                  "description": "The Resource definition.",
                  "properties": {
                    "id": {
                      "description": "Resource ID.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "name": {
                      "description": "Resource name.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "type": {
                      "description": "Resource type for API Management resource.",
                      "readOnly": true,
                      "type": "string"
                    }
                  },
                  "x-ms-azure-resource": true
                }
              ],
              "description": "Diagnostic details.",
              "properties": {
                "properties": {
                  "description": "Diagnostic Entity Properties",
                  "properties": {
                    "enabled": {
                      "description": "Indicates whether a diagnostic should receive data or not.",
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "enabled"
                  ]
                }
              }
            }
          },
          {
            "description": "ETag of the Diagnostic Entity. ETag should match the current entity state from the header response of the GET request or it should be * for unconditional update.",
            "in": "header",
            "name": "If-Match",
            "required": false,
            "type": "string"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Diagnostic was successfully updated.",
            "schema": {
              "allOf": [
                {
                  "description": "The Resource definition.",
                  "properties": {
                    "id": {
                      "description": "Resource ID.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "name": {
                      "description": "Resource name.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "type": {
                      "description": "Resource type for API Management resource.",
                      "readOnly": true,
                      "type": "string"
                    }
                  },
                  "x-ms-azure-resource": true
                }
              ],
              "description": "Diagnostic details.",
              "properties": {
                "properties": {
                  "description": "Diagnostic Entity Properties",
                  "properties": {
                    "enabled": {
                      "description": "Indicates whether a diagnostic should receive data or not.",
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "enabled"
                  ]
                }
              }
            }
          },
          "201": {
            "description": "Diagnostic was successfully created.",
            "schema": {
              "allOf": [
                {
                  "description": "The Resource definition.",
                  "properties": {
                    "id": {
                      "description": "Resource ID.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "name": {
                      "description": "Resource name.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "type": {
                      "description": "Resource type for API Management resource.",
                      "readOnly": true,
                      "type": "string"
                    }
                  },
                  "x-ms-azure-resource": true
                }
              ],
              "description": "Diagnostic details.",
              "properties": {
                "properties": {
                  "description": "Diagnostic Entity Properties",
                  "properties": {
                    "enabled": {
                      "description": "Indicates whether a diagnostic should receive data or not.",
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "enabled"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "ApiDiagnostics"
        ],
        "x-ms-examples": {
          "ApiManagementCreateApiDiagnostic": {
            "parameters": {
              "api-version": "2017-03-01",
              "apiId": "57d1f7558aa04f15146d9d8a",
              "diagnosticId": "default",
              "parameters": {
                "properties": {
                  "enabled": true
                }
              },
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/diagnostics/default",
                  "name": "default",
                  "properties": {
                    "enabled": true
                  },
                  "type": "Microsoft.ApiManagement/service/apis/diagnostics"
                }
              },
              "201": {
                "body": {
                  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/diagnostics/default",
                  "name": "default",
                  "properties": {
                    "enabled": true
                  },
                  "type": "Microsoft.ApiManagement/service/apis/diagnostics"
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics/{diagnosticId}/loggers": {
      "get": {
        "description": "Lists all loggers associated with the specified Diagnostic of an API.",
        "operationId": "ApiDiagnosticLogger_ListByService",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdParameter"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          },
          {
            "description": "Diagnostic identifier. Must be unique in the current API Management service instance.",
            "in": "path",
            "maxLength": 256,
            "minLength": 1,
            "name": "diagnosticId",
            "pattern": "^[^*#&+:<>?]+$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "| Field       | Supported operators    | Supported functions               |\n|-------------|------------------------|-----------------------------------|\n| id          | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |\n| type        | eq                     |                                   |",
            "in": "query",
            "name": "$filter",
            "required": false,
            "type": "string"
          },
          {
            "description": "Number of records to return.",
            "format": "int32",
            "in": "query",
            "minimum": 1,
            "name": "$top",
            "required": false,
            "type": "integer",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "Number of records to skip.",
            "format": "int32",
            "in": "query",
            "minimum": 0,
            "name": "$skip",
            "required": false,
            "type": "integer",
            "x-ms-parameter-location": "method"
          }
        ],
        "responses": {
          "200": {
            "description": "Paged Result response of loggers assigned to the specified Diagnostic.",
            "schema": {
              "description": "Paged Logger list representation.",
              "properties": {
                "count": {
                  "description": "Total record count number across all pages.",
                  "format": "int64",
                  "type": "integer"
                },
                "nextLink": {
                  "description": "Next page link if any.",
                  "type": "string"
                },
                "value": {
                  "description": "Logger values.",
                  "items": {
                    "allOf": [
                      {
                        "description": "The Resource definition.",
                        "properties": {
                          "id": {
                            "description": "Resource ID.",
                            "readOnly": true,
                            "type": "string"
                          },
                          "name": {
                            "description": "Resource name.",
                            "readOnly": true,
                            "type": "string"
                          },
                          "type": {
                            "description": "Resource type for API Management resource.",
                            "readOnly": true,
                            "type": "string"
                          }
                        },
                        "x-ms-azure-resource": true
                      }
                    ],
                    "description": "Logger details.",
                    "properties": {
                      "properties": {
                        "description": "The Logger entity in API Management represents an event sink that you can use to log API Management events. Currently the Logger entity supports logging API Management events to Azure Event Hubs.",
                        "properties": {
                          "credentials": {
                            "additionalProperties": {
                              "type": "string"
                            },
                            "description": "The name and SendRule connection string of the event hub for azureEventHub logger.\nInstrumentation key for applicationInsights logger.",
                            "example": {
                              "connectionString": "Endpoint=sb://contoso-ns.servicebus.windows.net/;SharedAccessKeyName=Sender;SharedAccessKey=...",
                              "name": "apim"
                            },
                            "type": "object"
                          },
                          "description": {
                            "description": "Logger description.",
                            "maxLength": 256,
                            "type": "string"
                          },
                          "isBuffered": {
                            "description": "Whether records are buffered in the logger before publishing. Default is assumed to be true.",
                            "type": "boolean"
                          },
                          "loggerType": {
                            "description": "Logger type.",
                            "enum": [
                              "azureEventHub",
                              "applicationInsights"
                            ],
                            "type": "string",
                            "x-ms-enum": {
                              "modelAsString": true,
                              "name": "LoggerType",
                              "values": [
                                {
                                  "description": "Azure Event Hub as log destination.",
                                  "value": "azureEventHub"
                                },
                                {
                                  "description": "Azure Application Insights as log destination.",
                                  "value": "applicationInsights"
                                }
                              ]
                            }
                          },
                          "sampling": {
                            "description": "Sampling settings contract.",
                            "properties": {
                              "properties": {
                                "description": "Sampling settings for an ApplicationInsights logger.",
                                "properties": {
                                  "evaluationInterval": {
                                    "description": "Rate re-evaluation interval in ISO8601 format.",
                                    "format": "duration",
                                    "maxLength": 2000,
                                    "minLength": 1,
                                    "type": "string"
                                  },
                                  "initialPercentage": {
                                    "description": "Initial sampling rate.",
                                    "format": "double",
                                    "type": "number"
                                  },
                                  "maxPercentage": {
                                    "description": "Maximum allowed rate of sampling.",
                                    "format": "double",
                                    "type": "number"
                                  },
                                  "maxTelemetryItemsPerSecond": {
                                    "description": "Target rate of telemetry items per second.",
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "minPercentage": {
                                    "description": "Minimum allowed rate of sampling.",
                                    "format": "double",
                                    "type": "number"
                                  },
                                  "movingAverageRatio": {
                                    "description": "Moving average ration assigned to most recent value.",
                                    "format": "double",
                                    "type": "number"
                                  },
                                  "percentage": {
                                    "description": "Rate of sampling for fixed-rate sampling.",
                                    "format": "double",
                                    "type": "number"
                                  },
                                  "percentageDecreaseTimeout": {
                                    "description": "Duration in ISO8601 format after which it's allowed to lower the sampling rate.",
                                    "format": "duration",
                                    "maxLength": 2000,
                                    "minLength": 1,
                                    "type": "string"
                                  },
                                  "percentageIncreaseTimeout": {
                                    "description": "Duration in ISO8601 format after which it's allowed to increase the sampling rate.",
                                    "format": "duration",
                                    "maxLength": 2000,
                                    "minLength": 1,
                                    "type": "string"
                                  },
                                  "samplingType": {
                                    "description": "Sampling type.",
                                    "enum": [
                                      "fixed",
                                      "adaptive"
                                    ],
                                    "type": "string",
                                    "x-ms-enum": {
                                      "modelAsString": true,
                                      "name": "SamplingType",
                                      "values": [
                                        {
                                          "description": "Fixed-rate sampling.",
                                          "value": "fixed"
                                        },
                                        {
                                          "description": "Sampling with a dynamically adjustable rate.",
                                          "value": "adaptive"
                                        }
                                      ]
                                    }
                                  }
                                }
                              }
                            }
                          }
                        },
                        "required": [
                          "loggerType",
                          "credentials"
                        ]
                      }
                    }
                  },
                  "type": "array"
                }
              }
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "ApiDiagnosticLoggers"
        ],
        "x-ms-examples": {
          "ApiManagementListApiDiagnosticLoggers": {
            "parameters": {
              "api-version": "2017-03-01",
              "apiId": "57d1f7558aa04f15146d9d8a",
              "diagnosticId": "default",
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "nextLink": "",
                  "value": [
                    {
                      "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/diagnostics/default/loggers/applicationinsights",
                      "name": "applicationinsights",
                      "properties": {
                        "credentials": {
                          "instrumentationKey": "{{5a.......2a}}"
                        },
                        "description": null,
                        "isBuffered": false,
                        "loggerType": "applicationInsights"
                      },
                      "type": "Microsoft.ApiManagement/service/apis/diagnostics/loggers"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-odata": "./apimloggers.json#/definitions/LoggerContract",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics/{diagnosticId}/loggers/{loggerid}": {
      "delete": {
        "description": "Deletes the specified Logger from Diagnostic for an API.",
        "operationId": "ApiDiagnosticLogger_Delete",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdParameter"
          },
          {
            "description": "Diagnostic identifier. Must be unique in the current API Management service instance.",
            "in": "path",
            "maxLength": 256,
            "minLength": 1,
            "name": "diagnosticId",
            "pattern": "^[^*#&+:<>?]+$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "Logger identifier. Must be unique in the API Management service instance.",
            "in": "path",
            "maxLength": 256,
            "name": "loggerid",
            "pattern": "^[^*#&+:<>?]+$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "The Logger was successfully detached from Diagnostic."
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "ApiDiagnosticLoggers"
        ],
        "x-ms-examples": {
          "ApiManagementDeleteApiDiagnosticLogger": {
            "parameters": {
              "api-version": "2017-03-01",
              "apiId": "57d1f7558aa04f15146d9d8a",
              "diagnosticId": "default",
              "loggerid": "applicationinsights",
              "parameters": {},
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "204": {}
            }
          }
        }
      },
      "head": {
        "description": "Checks that logger entity specified by identifier is associated with the diagnostics entity.",
        "operationId": "ApiDiagnosticLogger_CheckEntityExists",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdParameter"
          },
          {
            "description": "Diagnostic identifier. Must be unique in the current API Management service instance.",
            "in": "path",
            "maxLength": 256,
            "minLength": 1,
            "name": "diagnosticId",
            "pattern": "^[^*#&+:<>?]+$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "Logger identifier. Must be unique in the API Management service instance.",
            "in": "path",
            "maxLength": 256,
            "name": "loggerid",
            "pattern": "^[^*#&+:<>?]+$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "Entity exists"
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "ApiDiagnosticLoggers"
        ],
        "x-ms-examples": {
          "ApiManagementHeadApiDiagnosticLogger": {
            "parameters": {
              "api-version": "2017-03-01",
              "apiId": "57d1f7558aa04f15146d9d8a",
              "diagnosticId": "default",
              "loggerid": "templateLogger",
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "204": {}
            }
          }
        }
      },
      "put": {
        "description": "Attaches a logger to a diagnostic for an API.",
        "operationId": "ApiDiagnosticLogger_CreateOrUpdate",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdParameter"
          },
          {
            "description": "Diagnostic identifier. Must be unique in the current API Management service instance.",
            "in": "path",
            "maxLength": 256,
            "minLength": 1,
            "name": "diagnosticId",
            "pattern": "^[^*#&+:<>?]+$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "Logger identifier. Must be unique in the API Management service instance.",
            "in": "path",
            "maxLength": 256,
            "name": "loggerid",
            "pattern": "^[^*#&+:<>?]+$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Logger to Diagnostic link was successfully updated.",
            "schema": {
              "allOf": [
                {
                  "description": "The Resource definition.",
                  "properties": {
                    "id": {
                      "description": "Resource ID.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "name": {
                      "description": "Resource name.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "type": {
                      "description": "Resource type for API Management resource.",
                      "readOnly": true,
                      "type": "string"
                    }
                  },
                  "x-ms-azure-resource": true
                }
              ],
              "description": "Logger details.",
              "properties": {
                "properties": {
                  "description": "The Logger entity in API Management represents an event sink that you can use to log API Management events. Currently the Logger entity supports logging API Management events to Azure Event Hubs.",
                  "properties": {
                    "credentials": {
                      "additionalProperties": {
                        "type": "string"
                      },
                      "description": "The name and SendRule connection string of the event hub for azureEventHub logger.\nInstrumentation key for applicationInsights logger.",
                      "example": {
                        "connectionString": "Endpoint=sb://contoso-ns.servicebus.windows.net/;SharedAccessKeyName=Sender;SharedAccessKey=...",
                        "name": "apim"
                      },
                      "type": "object"
                    },
                    "description": {
                      "description": "Logger description.",
                      "maxLength": 256,
                      "type": "string"
                    },
                    "isBuffered": {
                      "description": "Whether records are buffered in the logger before publishing. Default is assumed to be true.",
                      "type": "boolean"
                    },
                    "loggerType": {
                      "description": "Logger type.",
                      "enum": [
                        "azureEventHub",
                        "applicationInsights"
                      ],
                      "type": "string",
                      "x-ms-enum": {
                        "modelAsString": true,
                        "name": "LoggerType",
                        "values": [
                          {
                            "description": "Azure Event Hub as log destination.",
                            "value": "azureEventHub"
                          },
                          {
                            "description": "Azure Application Insights as log destination.",
                            "value": "applicationInsights"
                          }
                        ]
                      }
                    },
                    "sampling": {
                      "description": "Sampling settings contract.",
                      "properties": {
                        "properties": {
                          "description": "Sampling settings for an ApplicationInsights logger.",
                          "properties": {
                            "evaluationInterval": {
                              "description": "Rate re-evaluation interval in ISO8601 format.",
                              "format": "duration",
                              "maxLength": 2000,
                              "minLength": 1,
                              "type": "string"
                            },
                            "initialPercentage": {
                              "description": "Initial sampling rate.",
                              "format": "double",
                              "type": "number"
                            },
                            "maxPercentage": {
                              "description": "Maximum allowed rate of sampling.",
                              "format": "double",
                              "type": "number"
                            },
                            "maxTelemetryItemsPerSecond": {
                              "description": "Target rate of telemetry items per second.",
                              "format": "int32",
                              "type": "integer"
                            },
                            "minPercentage": {
                              "description": "Minimum allowed rate of sampling.",
                              "format": "double",
                              "type": "number"
                            },
                            "movingAverageRatio": {
                              "description": "Moving average ration assigned to most recent value.",
                              "format": "double",
                              "type": "number"
                            },
                            "percentage": {
                              "description": "Rate of sampling for fixed-rate sampling.",
                              "format": "double",
                              "type": "number"
                            },
                            "percentageDecreaseTimeout": {
                              "description": "Duration in ISO8601 format after which it's allowed to lower the sampling rate.",
                              "format": "duration",
                              "maxLength": 2000,
                              "minLength": 1,
                              "type": "string"
                            },
                            "percentageIncreaseTimeout": {
                              "description": "Duration in ISO8601 format after which it's allowed to increase the sampling rate.",
                              "format": "duration",
                              "maxLength": 2000,
                              "minLength": 1,
                              "type": "string"
                            },
                            "samplingType": {
                              "description": "Sampling type.",
                              "enum": [
                                "fixed",
                                "adaptive"
                              ],
                              "type": "string",
                              "x-ms-enum": {
                                "modelAsString": true,
                                "name": "SamplingType",
                                "values": [
                                  {
                                    "description": "Fixed-rate sampling.",
                                    "value": "fixed"
                                  },
                                  {
                                    "description": "Sampling with a dynamically adjustable rate.",
                                    "value": "adaptive"
                                  }
                                ]
                              }
                            }
                          }
                        }
                      }
                    }
                  },
                  "required": [
                    "loggerType",
                    "credentials"
                  ]
                }
              }
            }
          },
          "201": {
            "description": "Logger was successfully attached to Diagnostic.",
            "schema": {
              "allOf": [
                {
                  "description": "The Resource definition.",
                  "properties": {
                    "id": {
                      "description": "Resource ID.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "name": {
                      "description": "Resource name.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "type": {
                      "description": "Resource type for API Management resource.",
                      "readOnly": true,
                      "type": "string"
                    }
                  },
                  "x-ms-azure-resource": true
                }
              ],
              "description": "Logger details.",
              "properties": {
                "properties": {
                  "description": "The Logger entity in API Management represents an event sink that you can use to log API Management events. Currently the Logger entity supports logging API Management events to Azure Event Hubs.",
                  "properties": {
                    "credentials": {
                      "additionalProperties": {
                        "type": "string"
                      },
                      "description": "The name and SendRule connection string of the event hub for azureEventHub logger.\nInstrumentation key for applicationInsights logger.",
                      "example": {
                        "connectionString": "Endpoint=sb://contoso-ns.servicebus.windows.net/;SharedAccessKeyName=Sender;SharedAccessKey=...",
                        "name": "apim"
                      },
                      "type": "object"
                    },
                    "description": {
                      "description": "Logger description.",
                      "maxLength": 256,
                      "type": "string"
                    },
                    "isBuffered": {
                      "description": "Whether records are buffered in the logger before publishing. Default is assumed to be true.",
                      "type": "boolean"
                    },
                    "loggerType": {
                      "description": "Logger type.",
                      "enum": [
                        "azureEventHub",
                        "applicationInsights"
                      ],
                      "type": "string",
                      "x-ms-enum": {
                        "modelAsString": true,
                        "name": "LoggerType",
                        "values": [
                          {
                            "description": "Azure Event Hub as log destination.",
                            "value": "azureEventHub"
                          },
                          {
                            "description": "Azure Application Insights as log destination.",
                            "value": "applicationInsights"
                          }
                        ]
                      }
                    },
                    "sampling": {
                      "description": "Sampling settings contract.",
                      "properties": {
                        "properties": {
                          "description": "Sampling settings for an ApplicationInsights logger.",
                          "properties": {
                            "evaluationInterval": {
                              "description": "Rate re-evaluation interval in ISO8601 format.",
                              "format": "duration",
                              "maxLength": 2000,
                              "minLength": 1,
                              "type": "string"
                            },
                            "initialPercentage": {
                              "description": "Initial sampling rate.",
                              "format": "double",
                              "type": "number"
                            },
                            "maxPercentage": {
                              "description": "Maximum allowed rate of sampling.",
                              "format": "double",
                              "type": "number"
                            },
                            "maxTelemetryItemsPerSecond": {
                              "description": "Target rate of telemetry items per second.",
                              "format": "int32",
                              "type": "integer"
                            },
                            "minPercentage": {
                              "description": "Minimum allowed rate of sampling.",
                              "format": "double",
                              "type": "number"
                            },
                            "movingAverageRatio": {
                              "description": "Moving average ration assigned to most recent value.",
                              "format": "double",
                              "type": "number"
                            },
                            "percentage": {
                              "description": "Rate of sampling for fixed-rate sampling.",
                              "format": "double",
                              "type": "number"
                            },
                            "percentageDecreaseTimeout": {
                              "description": "Duration in ISO8601 format after which it's allowed to lower the sampling rate.",
                              "format": "duration",
                              "maxLength": 2000,
                              "minLength": 1,
                              "type": "string"
                            },
                            "percentageIncreaseTimeout": {
                              "description": "Duration in ISO8601 format after which it's allowed to increase the sampling rate.",
                              "format": "duration",
                              "maxLength": 2000,
                              "minLength": 1,
                              "type": "string"
                            },
                            "samplingType": {
                              "description": "Sampling type.",
                              "enum": [
                                "fixed",
                                "adaptive"
                              ],
                              "type": "string",
                              "x-ms-enum": {
                                "modelAsString": true,
                                "name": "SamplingType",
                                "values": [
                                  {
                                    "description": "Fixed-rate sampling.",
                                    "value": "fixed"
                                  },
                                  {
                                    "description": "Sampling with a dynamically adjustable rate.",
                                    "value": "adaptive"
                                  }
                                ]
                              }
                            }
                          }
                        }
                      }
                    }
                  },
                  "required": [
                    "loggerType",
                    "credentials"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "ApiDiagnosticLoggers"
        ],
        "x-ms-examples": {
          "ApiManagementCreateApiDiagnosticLogger": {
            "parameters": {
              "api-version": "2017-03-01",
              "apiId": "57d1f7558aa04f15146d9d8a",
              "diagnosticId": "default",
              "loggerid": "applicationinsights",
              "parameters": {},
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/diagnostics/default/loggers/applicationinsights",
                  "name": "applicationinsights",
                  "properties": {
                    "credentials": {
                      "instrumentationKey": "{{5a.......2a}}"
                    },
                    "description": null,
                    "isBuffered": false,
                    "loggerType": "applicationInsights"
                  },
                  "type": "Microsoft.ApiManagement/service/apis/diagnostics/loggers"
                }
              },
              "201": {
                "body": {
                  "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/diagnostics/default/loggers/applicationinsights",
                  "name": "applicationinsights",
                  "properties": {
                    "credentials": {
                      "instrumentationKey": "{{5a.......2a}}"
                    },
                    "description": null,
                    "isBuffered": false,
                    "loggerType": "applicationInsights"
                  },
                  "type": "Microsoft.ApiManagement/service/apis/diagnostics/loggers"
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues": {
      "get": {
        "description": "Lists all issues associated with the specified API.",
        "operationId": "ApiIssues_ListByService",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdParameter"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          },
          {
            "description": "| Field       | Supported operators    | Supported functions               |\n|-------------|------------------------|-----------------------------------|\n| id          | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |\n| state        | eq                     |                                   |\n| userId          | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |",
            "in": "query",
            "name": "$filter",
            "required": false,
            "type": "string"
          },
          {
            "description": "Number of records to return.",
            "format": "int32",
            "in": "query",
            "minimum": 1,
            "name": "$top",
            "required": false,
            "type": "integer",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "Number of records to skip.",
            "format": "int32",
            "in": "query",
            "minimum": 0,
            "name": "$skip",
            "required": false,
            "type": "integer",
            "x-ms-parameter-location": "method"
          }
        ],
        "responses": {
          "200": {
            "description": "Paged Result response of issues for the API.",
            "schema": {
              "$ref": "#/definitions/IssueCollection"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "ApiIssues"
        ],
        "x-ms-examples": {
          "ApiManagementListApiIssues": {
            "parameters": {
              "api-version": "2017-03-01",
              "apiId": "57d1f7558aa04f15146d9d8a",
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "nextLink": "",
                  "value": [
                    {
                      "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc",
                      "name": "57d2ef278aa04f0ad01d6cdc",
                      "properties": {
                        "apiId": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a",
                        "createdDate": "2018-02-01T22:21:20.467Z",
                        "description": "New API issue description",
                        "state": "open",
                        "title": "New API issue",
                        "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1"
                      },
                      "type": "Microsoft.ApiManagement/service/apis/issues"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-odata": "#/definitions/IssueContract",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}": {
      "delete": {
        "description": "Deletes the specified Issue from an API.",
        "operationId": "ApiIssue_Delete",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdParameter"
          },
          {
            "$ref": "#/parameters/IssueIdParameter"
          },
          {
            "description": "ETag of the Issue Entity. ETag should match the current entity state from the header response of the GET request or it should be * for unconditional update.",
            "in": "header",
            "name": "If-Match",
            "required": true,
            "type": "string"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "The Issue was successfully deleted."
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "ApiIssues"
        ],
        "x-ms-examples": {
          "ApiManagementDeleteApiIssue": {
            "parameters": {
              "If-Match": "*",
              "api-version": "2017-03-01",
              "apiId": "57d1f7558aa04f15146d9d8a",
              "issueId": "57d2ef278aa04f0ad01d6cdc",
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "204": {}
            }
          }
        }
      },
      "get": {
        "description": "Gets the details of the Issue for an API specified by its identifier.",
        "operationId": "ApiIssue_Get",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdParameter"
          },
          {
            "$ref": "#/parameters/IssueIdParameter"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The response body contains the specified Issue entity.",
            "headers": {
              "ETag": {
                "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/IssueContract"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "ApiIssues"
        ],
        "x-ms-examples": {
          "ApiManagementGetApiIssue": {
            "parameters": {
              "api-version": "2017-03-01",
              "apiId": "57d2ef278aa04f0888cba3f3",
              "issueId": "57d2ef278aa04f0ad01d6cdc",
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc",
                  "name": "57d2ef278aa04f0ad01d6cdc",
                  "properties": {
                    "apiId": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a",
                    "createdDate": "2018-02-01T22:21:20.467Z",
                    "description": "New API issue description",
                    "state": "open",
                    "title": "New API issue",
                    "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1"
                  },
                  "type": "Microsoft.ApiManagement/service/apis/issues"
                }
              }
            }
          }
        }
      },
      "head": {
        "description": "Gets the entity state (Etag) version of the Issue for an API specified by its identifier.",
        "operationId": "ApiIssue_Head",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdParameter"
          },
          {
            "$ref": "#/parameters/IssueIdParameter"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Operation completed successfully.",
            "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": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "ApiIssues"
        ],
        "x-ms-examples": {
          "ApiManagementHeadApiIssue": {
            "parameters": {
              "api-version": "2017-03-01",
              "apiId": "57d2ef278aa04f0888cba3f3",
              "issueId": "57d2ef278aa04f0ad01d6cdc",
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "headers": {
                  "etag": "AAAAAAAAAAa="
                }
              }
            }
          }
        }
      },
      "put": {
        "description": "Creates a new Issue for an API or updates an existing one.",
        "operationId": "ApiIssue_CreateOrUpdate",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdParameter"
          },
          {
            "$ref": "#/parameters/IssueIdParameter"
          },
          {
            "description": "Create parameters.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/IssueContract"
            }
          },
          {
            "description": "ETag of the Issue Entity. ETag should match the current entity state from the header response of the GET request or it should be * for unconditional update.",
            "in": "header",
            "name": "If-Match",
            "required": false,
            "type": "string"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Issue was successfully updated.",
            "schema": {
              "$ref": "#/definitions/IssueContract"
            }
          },
          "201": {
            "description": "Issue was successfully created.",
            "schema": {
              "$ref": "#/definitions/IssueContract"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "ApiIssues"
        ],
        "x-ms-examples": {
          "ApiManagementCreateApiIssue": {
            "parameters": {
              "api-version": "2017-03-01",
              "apiId": "57d1f7558aa04f15146d9d8a",
              "issueId": "57d2ef278aa04f0ad01d6cdc",
              "parameters": {
                "properties": {
                  "createdDate": "2018-02-01T22:21:20.467Z",
                  "description": "New API issue description",
                  "state": "open",
                  "title": "New API issue",
                  "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1"
                }
              },
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc",
                  "name": "57d2ef278aa04f0ad01d6cdc",
                  "properties": {
                    "createdDate": "2018-02-01T22:21:20.467Z",
                    "description": "New API issue description",
                    "state": "open",
                    "title": "New API issue",
                    "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1"
                  },
                  "type": "Microsoft.ApiManagement/service/apis/issues"
                }
              },
              "201": {
                "body": {
                  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc",
                  "name": "57d2ef278aa04f0ad01d6cdc",
                  "properties": {
                    "createdDate": "2018-02-01T22:21:20.467Z",
                    "description": "New API issue description",
                    "state": "open",
                    "title": "New API issue",
                    "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1"
                  },
                  "type": "Microsoft.ApiManagement/service/apis/issues"
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/attachments": {
      "get": {
        "description": "Lists all comments for the Issue associated with the specified API.",
        "operationId": "ApiIssueAttachments_ListByService",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdParameter"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/IssueIdParameter"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          },
          {
            "description": "| Field       | Supported operators    | Supported functions               |\n|-------------|------------------------|-----------------------------------|\n| id          | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |\n| userId          | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |",
            "in": "query",
            "name": "$filter",
            "required": false,
            "type": "string"
          },
          {
            "description": "Number of records to return.",
            "format": "int32",
            "in": "query",
            "minimum": 1,
            "name": "$top",
            "required": false,
            "type": "integer",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "Number of records to skip.",
            "format": "int32",
            "in": "query",
            "minimum": 0,
            "name": "$skip",
            "required": false,
            "type": "integer",
            "x-ms-parameter-location": "method"
          }
        ],
        "responses": {
          "200": {
            "description": "Paged Result response of issue comments for the API.",
            "schema": {
              "$ref": "#/definitions/IssueAttachmentCollection"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "ApiIssueAttachments"
        ],
        "x-ms-examples": {
          "ApiManagementListApiIssueAttachments": {
            "parameters": {
              "api-version": "2017-03-01",
              "apiId": "57d1f7558aa04f15146d9d8a",
              "issueId": "57d2ef278aa04f0ad01d6cdc",
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "nextLink": "",
                  "value": [
                    {
                      "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc/attachments/57d2ef278aa04f0888cba3f3",
                      "name": "57d2ef278aa04f0888cba3f3",
                      "properties": {
                        "content": "https://.../image.jpg",
                        "contentFormat": "link",
                        "title": "Issue attachment."
                      },
                      "type": "Microsoft.ApiManagement/service/apis/issues/attachments"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-odata": "#/definitions/IssueAttachmentContract",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/attachments/{attachmentId}": {
      "delete": {
        "description": "Deletes the specified comment from an Issue.",
        "operationId": "ApiIssueAttachment_Delete",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdParameter"
          },
          {
            "$ref": "#/parameters/IssueIdParameter"
          },
          {
            "$ref": "#/parameters/AttachmentIdParameter"
          },
          {
            "description": "ETag of the Issue Entity. ETag should match the current entity state from the header response of the GET request or it should be * for unconditional update.",
            "in": "header",
            "name": "If-Match",
            "required": true,
            "type": "string"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "The issue Attachment was successfully deleted."
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "ApiIssueAttachments"
        ],
        "x-ms-examples": {
          "ApiManagementDeleteApiIssueAttachment": {
            "parameters": {
              "If-Match": "*",
              "api-version": "2017-03-01",
              "apiId": "57d1f7558aa04f15146d9d8a",
              "attachmentId": "57d2ef278aa04f0888cba3f3",
              "issueId": "57d2ef278aa04f0ad01d6cdc",
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "204": {}
            }
          }
        }
      },
      "get": {
        "description": "Gets the details of the issue Attachment for an API specified by its identifier.",
        "operationId": "ApiIssueAttachment_Get",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdParameter"
          },
          {
            "$ref": "#/parameters/IssueIdParameter"
          },
          {
            "$ref": "#/parameters/AttachmentIdParameter"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The response body contains the specified issue Attachment entity.",
            "headers": {
              "ETag": {
                "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/IssueAttachmentContract"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "ApiIssueAttachments"
        ],
        "x-ms-examples": {
          "ApiManagementGetApiIssueAttachment": {
            "parameters": {
              "api-version": "2017-03-01",
              "apiId": "57d2ef278aa04f0888cba3f3",
              "attachmentId": "57d2ef278aa04f0888cba3f3",
              "issueId": "57d2ef278aa04f0ad01d6cdc",
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc/attachments/57d2ef278aa04f0888cba3f3",
                  "name": "57d2ef278aa04f0888cba3f3",
                  "properties": {
                    "content": "https://.../image.jpg",
                    "contentFormat": "link",
                    "title": "Issue attachment."
                  },
                  "type": "Microsoft.ApiManagement/service/apis/issues/attachments"
                }
              }
            }
          }
        }
      },
      "head": {
        "description": "Gets the entity state (Etag) version of the issue Attachment for an API specified by its identifier.",
        "operationId": "ApiIssuAttachment_Head",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdParameter"
          },
          {
            "$ref": "#/parameters/IssueIdParameter"
          },
          {
            "$ref": "#/parameters/AttachmentIdParameter"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Operation completed successfully.",
            "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": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "ApiIssueAttachmentss"
        ],
        "x-ms-examples": {
          "ApiManagementHeadApiIssueAttachment": {
            "parameters": {
              "api-version": "2017-03-01",
              "apiId": "57d2ef278aa04f0888cba3f3",
              "attachmentId": "57d2ef278aa04f0888cba3f3",
              "issueId": "57d2ef278aa04f0ad01d6cdc",
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "headers": {
                  "etag": "AAAAAAAAAAa="
                }
              }
            }
          }
        }
      },
      "put": {
        "description": "Creates a new Attachment for the Issue in an API or updates an existing one.",
        "operationId": "ApiIssueAttachment_CreateOrUpdate",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdParameter"
          },
          {
            "$ref": "#/parameters/IssueIdParameter"
          },
          {
            "$ref": "#/parameters/AttachmentIdParameter"
          },
          {
            "description": "Create parameters.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/IssueAttachmentContract"
            }
          },
          {
            "description": "ETag of the Issue Entity. ETag should match the current entity state from the header response of the GET request or it should be * for unconditional update.",
            "in": "header",
            "name": "If-Match",
            "required": false,
            "type": "string"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Issue Attachment was successfully updated.",
            "schema": {
              "$ref": "#/definitions/IssueAttachmentContract"
            }
          },
          "201": {
            "description": "Issue Attachment was successfully created.",
            "schema": {
              "$ref": "#/definitions/IssueAttachmentContract"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "ApiIssueAttachmentss"
        ],
        "x-ms-examples": {
          "ApiManagementCreateApiIssueAttachment": {
            "parameters": {
              "api-version": "2017-03-01",
              "apiId": "57d1f7558aa04f15146d9d8a",
              "attachmentId": "57d2ef278aa04f0888cba3f3",
              "issueId": "57d2ef278aa04f0ad01d6cdc",
              "parameters": {
                "properties": {
                  "content": "IEJhc2U2NA==",
                  "contentFormat": "image/jpeg",
                  "title": "Issue attachment."
                }
              },
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc/attachments/57d2ef278aa04f0888cba3f3",
                  "name": "57d2ef278aa04f0888cba3f3",
                  "properties": {
                    "content": "https://.../image.jpg",
                    "contentFormat": "link",
                    "title": "Issue attachment."
                  },
                  "type": "Microsoft.ApiManagement/service/apis/issues/attachments"
                }
              },
              "201": {
                "body": {
                  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc/attachments/57d2ef278aa04f0888cba3f3",
                  "name": "57d2ef278aa04f0888cba3f3",
                  "properties": {
                    "content": "https://.../image.jpg",
                    "contentFormat": "link",
                    "title": "Issue attachment."
                  },
                  "type": "Microsoft.ApiManagement/service/apis/issues/attachments"
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/comments": {
      "get": {
        "description": "Lists all comments for the Issue associated with the specified API.",
        "operationId": "ApiIssueComments_ListByService",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdParameter"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/IssueIdParameter"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          },
          {
            "description": "| Field       | Supported operators    | Supported functions               |\n|-------------|------------------------|-----------------------------------|\n| id          | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |\n| userId          | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |",
            "in": "query",
            "name": "$filter",
            "required": false,
            "type": "string"
          },
          {
            "description": "Number of records to return.",
            "format": "int32",
            "in": "query",
            "minimum": 1,
            "name": "$top",
            "required": false,
            "type": "integer",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "Number of records to skip.",
            "format": "int32",
            "in": "query",
            "minimum": 0,
            "name": "$skip",
            "required": false,
            "type": "integer",
            "x-ms-parameter-location": "method"
          }
        ],
        "responses": {
          "200": {
            "description": "Paged Result response of issue comments for the API.",
            "schema": {
              "$ref": "#/definitions/IssueCommentCollection"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "ApiIssueComments"
        ],
        "x-ms-examples": {
          "ApiManagementListApiIssueComments": {
            "parameters": {
              "api-version": "2017-03-01",
              "apiId": "57d1f7558aa04f15146d9d8a",
              "issueId": "57d2ef278aa04f0ad01d6cdc",
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "nextLink": "",
                  "value": [
                    {
                      "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc/comments/599e29ab193c3c0bd0b3e2fb",
                      "name": "599e29ab193c3c0bd0b3e2fb",
                      "properties": {
                        "createdDate": "2018-02-01T22:21:20.467Z",
                        "text": "Issue comment.",
                        "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1"
                      },
                      "type": "Microsoft.ApiManagement/service/apis/issues/comments"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-odata": "#/definitions/IssueCommentContract",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/comments/{commentId}": {
      "delete": {
        "description": "Deletes the specified comment from an Issue.",
        "operationId": "ApiIssueComment_Delete",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdParameter"
          },
          {
            "$ref": "#/parameters/IssueIdParameter"
          },
          {
            "$ref": "#/parameters/CommentIdParameter"
          },
          {
            "description": "ETag of the Issue Entity. ETag should match the current entity state from the header response of the GET request or it should be * for unconditional update.",
            "in": "header",
            "name": "If-Match",
            "required": true,
            "type": "string"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "The issue Comment was successfully deleted."
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "ApiIssueComments"
        ],
        "x-ms-examples": {
          "ApiManagementDeleteApiIssueComment": {
            "parameters": {
              "If-Match": "*",
              "api-version": "2017-03-01",
              "apiId": "57d1f7558aa04f15146d9d8a",
              "commentId": "599e29ab193c3c0bd0b3e2fb",
              "issueId": "57d2ef278aa04f0ad01d6cdc",
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "204": {}
            }
          }
        }
      },
      "get": {
        "description": "Gets the details of the issue Comment for an API specified by its identifier.",
        "operationId": "ApiIssueComment_Get",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdParameter"
          },
          {
            "$ref": "#/parameters/IssueIdParameter"
          },
          {
            "$ref": "#/parameters/CommentIdParameter"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The response body contains the specified issue Comment entity.",
            "headers": {
              "ETag": {
                "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/IssueCommentContract"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "ApiIssueComments"
        ],
        "x-ms-examples": {
          "ApiManagementGetApiIssueComment": {
            "parameters": {
              "api-version": "2017-03-01",
              "apiId": "57d2ef278aa04f0888cba3f3",
              "commentId": "599e29ab193c3c0bd0b3e2fb",
              "issueId": "57d2ef278aa04f0ad01d6cdc",
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc/comments/599e29ab193c3c0bd0b3e2fb",
                  "name": "599e29ab193c3c0bd0b3e2fb",
                  "properties": {
                    "createdDate": "2018-02-01T22:21:20.467Z",
                    "text": "Issue comment.",
                    "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1"
                  },
                  "type": "Microsoft.ApiManagement/service/apis/issues/comments"
                }
              }
            }
          }
        }
      },
      "head": {
        "description": "Gets the entity state (Etag) version of the issue Comment for an API specified by its identifier.",
        "operationId": "ApiIssuComment_Head",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdParameter"
          },
          {
            "$ref": "#/parameters/IssueIdParameter"
          },
          {
            "$ref": "#/parameters/CommentIdParameter"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Operation completed successfully.",
            "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": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "ApiIssueCommentss"
        ],
        "x-ms-examples": {
          "ApiManagementHeadApiIssueComment": {
            "parameters": {
              "api-version": "2017-03-01",
              "apiId": "57d2ef278aa04f0888cba3f3",
              "commentId": "599e29ab193c3c0bd0b3e2fb",
              "issueId": "57d2ef278aa04f0ad01d6cdc",
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "headers": {
                  "etag": "AAAAAAAAAAa="
                }
              }
            }
          }
        }
      },
      "put": {
        "description": "Creates a new Comment for the Issue in an API or updates an existing one.",
        "operationId": "ApiIssueComment_CreateOrUpdate",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdParameter"
          },
          {
            "$ref": "#/parameters/IssueIdParameter"
          },
          {
            "$ref": "#/parameters/CommentIdParameter"
          },
          {
            "description": "Create parameters.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/IssueCommentContract"
            }
          },
          {
            "description": "ETag of the Issue Entity. ETag should match the current entity state from the header response of the GET request or it should be * for unconditional update.",
            "in": "header",
            "name": "If-Match",
            "required": false,
            "type": "string"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Issue Comment was successfully updated.",
            "schema": {
              "$ref": "#/definitions/IssueCommentContract"
            }
          },
          "201": {
            "description": "Issue Comment was successfully created.",
            "schema": {
              "$ref": "#/definitions/IssueCommentContract"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "ApiIssueCommentss"
        ],
        "x-ms-examples": {
          "ApiManagementCreateApiIssueComment": {
            "parameters": {
              "api-version": "2017-03-01",
              "apiId": "57d1f7558aa04f15146d9d8a",
              "commentId": "599e29ab193c3c0bd0b3e2fb",
              "issueId": "57d2ef278aa04f0ad01d6cdc",
              "parameters": {
                "properties": {
                  "createdDate": "2018-02-01T22:21:20.467Z",
                  "text": "Issue comment.",
                  "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1"
                }
              },
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc/comments/599e29ab193c3c0bd0b3e2fb",
                  "name": "599e29ab193c3c0bd0b3e2fb",
                  "properties": {
                    "createdDate": "2018-02-01T22:21:20.467Z",
                    "text": "Issue comment.",
                    "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1"
                  },
                  "type": "Microsoft.ApiManagement/service/apis/issues/comments"
                }
              },
              "201": {
                "body": {
                  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc/comments/599e29ab193c3c0bd0b3e2fb",
                  "name": "599e29ab193c3c0bd0b3e2fb",
                  "properties": {
                    "createdDate": "2018-02-01T22:21:20.467Z",
                    "text": "Issue comment.",
                    "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1"
                  },
                  "type": "Microsoft.ApiManagement/service/apis/issues/comments"
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations": {
      "get": {
        "description": "Lists a collection of the operations for the specified API.",
        "operationId": "ApiOperation_ListByApi",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdRevParameter"
          },
          {
            "description": "| Field       | Supported operators    | Supported functions               |\n|-------------|------------------------|-----------------------------------|\n| name        | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |\n| method      | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |\n| description | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |\n| urlTemplate | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |",
            "in": "query",
            "name": "$filter",
            "required": false,
            "type": "string"
          },
          {
            "description": "Number of records to return.",
            "format": "int32",
            "in": "query",
            "minimum": 1,
            "name": "$top",
            "required": false,
            "type": "integer",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "Number of records to skip.",
            "format": "int32",
            "in": "query",
            "minimum": 0,
            "name": "$skip",
            "required": false,
            "type": "integer",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "A collection of operation summary entities at the API level.",
            "schema": {
              "$ref": "#/definitions/OperationCollection"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "Operations"
        ],
        "x-ms-examples": {
          "ApiManagementListApiOperations": {
            "parameters": {
              "api-version": "2017-03-01",
              "apiId": "57d2ef278aa04f0888cba3f3",
              "operationId": "57d2ef278aa04f0ad01d6cdc",
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "nextLink": "",
                  "value": [
                    {
                      "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d2ef278aa04f0888cba3f3/operations/57d2ef278aa04f0ad01d6cdc",
                      "name": "57d2ef278aa04f0ad01d6cdc",
                      "properties": {
                        "displayName": "CancelOrder",
                        "method": "POST",
                        "urlTemplate": "/?soapAction=http://tempuri.org/IFazioService/CancelOrder"
                      },
                      "type": "Microsoft.ApiManagement/service/apis/operations"
                    },
                    {
                      "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d2ef278aa04f0888cba3f3/operations/57d2ef278aa04f0ad01d6cda",
                      "name": "57d2ef278aa04f0ad01d6cda",
                      "properties": {
                        "displayName": "GetMostRecentOrder",
                        "method": "POST",
                        "urlTemplate": "/?soapAction=http://tempuri.org/IFazioService/GetMostRecentOrder"
                      },
                      "type": "Microsoft.ApiManagement/service/apis/operations"
                    },
                    {
                      "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d2ef278aa04f0888cba3f3/operations/57d2ef278aa04f0ad01d6cd9",
                      "name": "57d2ef278aa04f0ad01d6cd9",
                      "properties": {
                        "displayName": "GetOpenOrders",
                        "method": "POST",
                        "urlTemplate": "/?soapAction=http://tempuri.org/IFazioService/GetOpenOrders"
                      },
                      "type": "Microsoft.ApiManagement/service/apis/operations"
                    },
                    {
                      "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d2ef278aa04f0888cba3f3/operations/57d2ef278aa04f0ad01d6cdb",
                      "name": "57d2ef278aa04f0ad01d6cdb",
                      "properties": {
                        "displayName": "GetOrder",
                        "method": "POST",
                        "urlTemplate": "/?soapAction=http://tempuri.org/IFazioService/GetOrder"
                      },
                      "type": "Microsoft.ApiManagement/service/apis/operations"
                    },
                    {
                      "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d2ef278aa04f0888cba3f3/operations/57d2ef278aa04f0ad01d6cd8",
                      "name": "57d2ef278aa04f0ad01d6cd8",
                      "properties": {
                        "displayName": "submitOrder",
                        "method": "POST",
                        "urlTemplate": "/?soapAction=http://tempuri.org/IFazioService/submitOrder"
                      },
                      "type": "Microsoft.ApiManagement/service/apis/operations"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-odata": "#/definitions/OperationContract",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}": {
      "delete": {
        "description": "Deletes the specified operation in the API.",
        "operationId": "ApiOperation_Delete",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdRevParameter"
          },
          {
            "$ref": "#/parameters/OperationIdParameter"
          },
          {
            "description": "ETag of the API Operation Entity. ETag should match the current entity state from the header response of the GET request or it should be * for unconditional update.",
            "in": "header",
            "name": "If-Match",
            "required": true,
            "type": "string"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "The operation was successfully deleted."
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "Operations"
        ],
        "x-ms-examples": {
          "ApiManagementDeleteApiOperation": {
            "parameters": {
              "If-Match": "*",
              "api-version": "2017-03-01",
              "apiId": "57d2ef278aa04f0888cba3f3",
              "operationId": "57d2ef278aa04f0ad01d6cdc",
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "204": {}
            }
          }
        }
      },
      "get": {
        "description": "Gets the details of the API Operation specified by its identifier.",
        "operationId": "ApiOperation_Get",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdRevParameter"
          },
          {
            "$ref": "#/parameters/OperationIdParameter"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The response body contains the specified Operation entity.",
            "headers": {
              "ETag": {
                "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/OperationContract"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "Operations"
        ],
        "x-ms-examples": {
          "ApiManagementGetApiOperation": {
            "parameters": {
              "api-version": "2017-03-01",
              "apiId": "57d2ef278aa04f0888cba3f3",
              "operationId": "57d2ef278aa04f0ad01d6cdc",
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d2ef278aa04f0888cba3f3/operations/57d2ef278aa04f0ad01d6cdc",
                  "name": "57d2ef278aa04f0ad01d6cdc",
                  "properties": {
                    "displayName": "CancelOrder",
                    "method": "POST",
                    "request": {
                      "description": "IFazioService_CancelOrder_InputMessage",
                      "headers": [],
                      "queryParameters": [],
                      "representations": [
                        {
                          "contentType": "text/xml",
                          "sample": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<Envelope xmlns=\"http://schemas.xmlsoap.org/soap/envelope/\">\r\n  <Body>\r\n    <CancelOrder xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://tempuri.org/\">\r\n      <orderId>1</orderId>\r\n    </CancelOrder>\r\n  </Body>\r\n</Envelope>",
                          "schemaId": "6980a395-f08b-4a59-8295-1440cbd909b8",
                          "typeName": "CancelOrder"
                        }
                      ]
                    },
                    "responses": [
                      {
                        "description": "IFazioService_CancelOrder_OutputMessage",
                        "headers": [],
                        "representations": [
                          {
                            "contentType": "text/xml",
                            "sample": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<Envelope xmlns=\"http://schemas.xmlsoap.org/soap/envelope/\">\r\n  <Body>\r\n    <CancelOrderResponse xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://tempuri.org/\">\r\n      <CancelOrderResult>1</CancelOrderResult>\r\n    </CancelOrderResponse>\r\n  </Body>\r\n</Envelope>",
                            "schemaId": "6980a395-f08b-4a59-8295-1440cbd909b8",
                            "typeName": "CancelOrderResponse"
                          }
                        ],
                        "statusCode": 200
                      }
                    ],
                    "templateParameters": [],
                    "urlTemplate": "/?soapAction=http://tempuri.org/IFazioService/CancelOrder"
                  },
                  "type": "Microsoft.ApiManagement/service/apis/operations"
                }
              }
            }
          }
        }
      },
      "head": {
        "description": "Gets the entity state (Etag) version of the API operation specified by its identifier.",
        "operationId": "ApiOperation_GetEntityTag",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdParameter"
          },
          {
            "$ref": "#/parameters/OperationIdParameter"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Specified API operation 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": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "Operations"
        ],
        "x-ms-examples": {
          "ApiManagementHeadApiOperation": {
            "parameters": {
              "api-version": "2017-03-01",
              "apiId": "57d2ef278aa04f0888cba3f3",
              "operationId": "57d2ef278aa04f0ad01d6cdc",
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "headers": {
                  "etag": "AAAAAAAAAAa="
                }
              }
            }
          }
        }
      },
      "patch": {
        "description": "Updates the details of the operation in the API specified by its identifier.",
        "operationId": "ApiOperation_Update",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdRevParameter"
          },
          {
            "$ref": "#/parameters/OperationIdParameter"
          },
          {
            "description": "API Operation Update parameters.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/OperationUpdateContract"
            }
          },
          {
            "description": "ETag of the API Operation Entity. ETag should match the current entity state from the header response of the GET request or it should be * for unconditional update.",
            "in": "header",
            "name": "If-Match",
            "required": true,
            "type": "string"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "The operation was successfully updated."
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "Operations"
        ],
        "x-ms-examples": {
          "ApiManagementUpdateApiOperation": {
            "parameters": {
              "If-Match": "*",
              "api-version": "2017-03-01",
              "apiId": "echo-api",
              "operationId": "operationId",
              "parameters": {
                "properties": {
                  "displayName": "Retrieve resource",
                  "method": "GET",
                  "request": {
                    "queryParameters": [
                      {
                        "defaultValue": "sample",
                        "description": "A sample parameter that is required and has a default value of \"sample\".",
                        "name": "param1",
                        "required": true,
                        "type": "string",
                        "values": [
                          "sample"
                        ]
                      }
                    ]
                  },
                  "responses": [
                    {
                      "description": "Returned in all cases.",
                      "headers": [],
                      "representations": [],
                      "statusCode": 200
                    },
                    {
                      "description": "Server Error.",
                      "headers": [],
                      "representations": [],
                      "statusCode": 500
                    }
                  ],
                  "templateParameters": [],
                  "urlTemplate": "/resource"
                }
              },
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "204": {}
            }
          }
        }
      },
      "put": {
        "description": "Creates a new operation in the API or updates an existing one.",
        "operationId": "ApiOperation_CreateOrUpdate",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdRevParameter"
          },
          {
            "$ref": "#/parameters/OperationIdParameter"
          },
          {
            "description": "Create parameters.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/OperationContract"
            }
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Operation was successfully updated.",
            "schema": {
              "$ref": "#/definitions/OperationContract"
            }
          },
          "201": {
            "description": "Operation was successfully created.",
            "schema": {
              "$ref": "#/definitions/OperationContract"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "Operations"
        ],
        "x-ms-examples": {
          "ApiManagementCreateApiOperation": {
            "parameters": {
              "api-version": "2017-03-01",
              "apiId": "PetStoreTemplate2",
              "operationId": "newoperations",
              "parameters": {
                "name": "newoperation",
                "properties": {
                  "description": "This can only be done by the logged in user.",
                  "displayName": "createUser2",
                  "method": "POST",
                  "request": {
                    "description": "Created user object",
                    "headers": [],
                    "queryParameters": [],
                    "representations": [
                      {
                        "contentType": "application/json",
                        "schemaId": "592f6c1d0af5840ca8897f0c",
                        "typeName": "User"
                      }
                    ]
                  },
                  "responses": [
                    {
                      "description": "successful operation",
                      "headers": [],
                      "representations": [
                        {
                          "contentType": "application/xml"
                        },
                        {
                          "contentType": "application/json"
                        }
                      ],
                      "statusCode": 200
                    }
                  ],
                  "templateParameters": [],
                  "urlTemplate": "/user1"
                }
              },
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/PetStoreTemplate2/operations/newoperations",
                  "name": "newoperations",
                  "properties": {
                    "description": "This can only be done by the logged in user.",
                    "displayName": "createUser2",
                    "method": "POST",
                    "request": {
                      "description": "Created user object",
                      "headers": [],
                      "queryParameters": [],
                      "representations": [
                        {
                          "contentType": "application/json",
                          "schemaId": "592f6c1d0af5840ca8897f0c",
                          "typeName": "User"
                        }
                      ]
                    },
                    "responses": [
                      {
                        "description": "successful operation",
                        "headers": [],
                        "representations": [
                          {
                            "contentType": "application/xml"
                          },
                          {
                            "contentType": "application/json"
                          }
                        ],
                        "statusCode": 200
                      }
                    ],
                    "templateParameters": [],
                    "urlTemplate": "/user1"
                  },
                  "type": "Microsoft.ApiManagement/service/apis/operations"
                }
              },
              "201": {
                "body": {
                  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/PetStoreTemplate2/operations/newoperations",
                  "name": "newoperations",
                  "properties": {
                    "description": "This can only be done by the logged in user.",
                    "displayName": "createUser2",
                    "method": "POST",
                    "request": {
                      "description": "Created user object",
                      "headers": [],
                      "queryParameters": [],
                      "representations": [
                        {
                          "contentType": "application/json",
                          "schemaId": "592f6c1d0af5840ca8897f0c",
                          "typeName": "User"
                        }
                      ]
                    },
                    "responses": [
                      {
                        "description": "successful operation",
                        "headers": [],
                        "representations": [
                          {
                            "contentType": "application/xml"
                          },
                          {
                            "contentType": "application/json"
                          }
                        ],
                        "statusCode": 200
                      }
                    ],
                    "templateParameters": [],
                    "urlTemplate": "/user1"
                  },
                  "type": "Microsoft.ApiManagement/service/apis/operations"
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/policies": {
      "get": {
        "description": "Get the list of policy configuration at the API Operation level.",
        "operationId": "ApiOperationPolicy_ListByOperation",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdRevParameter"
          },
          {
            "$ref": "#/parameters/OperationIdParameter"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Api Operations Policy Collection.",
            "schema": {
              "description": "The response of the list policy operation.",
              "properties": {
                "nextLink": {
                  "description": "Next page link if any.",
                  "type": "string"
                },
                "value": {
                  "description": "Policy Contract value.",
                  "items": {
                    "allOf": [
                      {
                        "description": "The Resource definition.",
                        "properties": {
                          "id": {
                            "description": "Resource ID.",
                            "readOnly": true,
                            "type": "string"
                          },
                          "name": {
                            "description": "Resource name.",
                            "readOnly": true,
                            "type": "string"
                          },
                          "type": {
                            "description": "Resource type for API Management resource.",
                            "readOnly": true,
                            "type": "string"
                          }
                        },
                        "x-ms-azure-resource": true
                      }
                    ],
                    "description": "Policy Contract details.",
                    "properties": {
                      "properties": {
                        "description": "Policy contract Properties.",
                        "properties": {
                          "policyContent": {
                            "description": "Json escaped Xml Encoded contents of the Policy.",
                            "type": "string"
                          }
                        },
                        "required": [
                          "policyContent"
                        ]
                      }
                    }
                  },
                  "type": "array"
                }
              }
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "ApiOperationPolicies"
        ],
        "x-ms-examples": {
          "ApiManagementListApiOperationPolicies": {
            "parameters": {
              "api-version": "2017-03-01",
              "apiId": "599e2953193c3c0bd0b3e2fa",
              "operationId": "599e29ab193c3c0bd0b3e2fb",
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "nextLink": "",
                  "value": [
                    {
                      "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/599e2953193c3c0bd0b3e2fa/operations/599e29ab193c3c0bd0b3e2fb/policies/policy",
                      "name": "policy",
                      "properties": {
                        "policyContent": "<!--\r\n    IMPORTANT:\r\n    - Policy elements can appear only within the <inbound>, <outbound>, <backend> section elements.\r\n    - Only the <forward-request> policy element can appear within the <backend> section element.\r\n    - To apply a policy to the incoming request (before it is forwarded to the backend service), place a corresponding policy element within the <inbound> section element.\r\n    - To apply a policy to the outgoing response (before it is sent back to the caller), place a corresponding policy element within the <outbound> section element.\r\n    - To add a policy position the cursor at the desired insertion point and click on the round button associated with the policy.\r\n    - To remove a policy, delete the corresponding policy statement from the policy document.\r\n    - Position the <base> element within a section element to inherit all policies from the corresponding section element in the enclosing scope.\r\n    - Remove the <base> element to prevent inheriting policies from the corresponding section element in the enclosing scope.\r\n    - Policies are applied in the order of their appearance, from the top down.\r\n-->\r\n<policies>\r\n  <inbound>\r\n    <validate-jwt header-name=\"dd\">\r\n      <required-claims>\r\n        <claim name=\"bla\" separator=\"\">\r\n          <value>xxx</value>\r\n        </claim>\r\n      </required-claims>\r\n    </validate-jwt>\r\n    <base />\r\n  </inbound>\r\n  <backend>\r\n    <base />\r\n  </backend>\r\n  <outbound>\r\n    <base />\r\n  </outbound>\r\n</policies>"
                      },
                      "type": "Microsoft.ApiManagement/service/apis/operations/policies"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/policies/{policyId}": {
      "delete": {
        "description": "Deletes the policy configuration at the Api Operation.",
        "operationId": "ApiOperationPolicy_Delete",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdParameter"
          },
          {
            "$ref": "#/parameters/OperationIdParameter"
          },
          {
            "description": "The entity state (Etag) version of the Api Operation Policy to delete. A value of \"*\" can be used for If-Match to unconditionally apply the operation.",
            "in": "header",
            "name": "If-Match",
            "required": true,
            "type": "string"
          },
          {
            "description": "The identifier of the Policy.",
            "enum": [
              "policy"
            ],
            "in": "path",
            "name": "policyId",
            "required": true,
            "type": "string",
            "x-ms-enum": {
              "modelAsString": true,
              "name": "PolicyIdName"
            },
            "x-ms-parameter-location": "method"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "Successfully deleted the policy configuration at the API Operation level."
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "ApiOperationPolicies"
        ],
        "x-ms-examples": {
          "ApiManagementDeleteOperationPolicy": {
            "parameters": {
              "If-Match": "*",
              "api-version": "2017-03-01",
              "apiId": "testapi",
              "operationId": "testoperation",
              "policyId": "policy",
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "204": {}
            }
          }
        }
      },
      "get": {
        "description": "Get the policy configuration at the API Operation level.",
        "operationId": "ApiOperationPolicy_Get",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdRevParameter"
          },
          {
            "$ref": "#/parameters/OperationIdParameter"
          },
          {
            "description": "The identifier of the Policy.",
            "enum": [
              "policy"
            ],
            "in": "path",
            "name": "policyId",
            "required": true,
            "type": "string",
            "x-ms-enum": {
              "modelAsString": true,
              "name": "PolicyIdName"
            },
            "x-ms-parameter-location": "method"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "application/vnd.ms-azure-apim.policy+xml",
          "application/vnd.ms-azure-apim.policy.raw+xml"
        ],
        "responses": {
          "200": {
            "description": "Api Operation Policy information.",
            "headers": {
              "ETag": {
                "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
                "type": "string"
              }
            },
            "schema": {
              "allOf": [
                {
                  "description": "The Resource definition.",
                  "properties": {
                    "id": {
                      "description": "Resource ID.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "name": {
                      "description": "Resource name.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "type": {
                      "description": "Resource type for API Management resource.",
                      "readOnly": true,
                      "type": "string"
                    }
                  },
                  "x-ms-azure-resource": true
                }
              ],
              "description": "Policy Contract details.",
              "properties": {
                "properties": {
                  "description": "Policy contract Properties.",
                  "properties": {
                    "policyContent": {
                      "description": "Json escaped Xml Encoded contents of the Policy.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "policyContent"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "ApiOperationPolicies"
        ],
        "x-ms-examples": {
          "ApiManagementGetApiOperationPolicy": {
            "parameters": {
              "api-version": "2017-03-01",
              "apiId": "5600b539c53f5b0062040001",
              "operationId": "5600b53ac53f5b0062080006",
              "policyId": "policy",
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5600b539c53f5b0062040001/operations/5600b53ac53f5b0062080006/policies/policy",
                  "name": "policy",
                  "properties": {
                    "policyContent": "<policies>\r\n  <inbound>\r\n    <base />\r\n  </inbound>\r\n  <backend>\r\n    <base />\r\n  </backend>\r\n  <outbound>\r\n    <base />\r\n    <set-header name=\"X-My-Sample\" exists-action=\"override\">\r\n      <value>This is a sample</value>\r\n      <!-- for multiple headers with the same name add additional value elements -->\r\n    </set-header>\r\n    <jsonp callback-parameter-name=\"ProcessResponse\" />\r\n  </outbound>\r\n</policies>"
                  },
                  "type": "Microsoft.ApiManagement/service/apis/operations/policies"
                }
              }
            }
          }
        }
      },
      "head": {
        "description": "Gets the entity state (Etag) version of the API operation policy specified by its identifier.",
        "operationId": "ApiOperationPolicy_GetEntityTag",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdParameter"
          },
          {
            "$ref": "#/parameters/OperationIdParameter"
          },
          {
            "description": "The identifier of the Policy.",
            "enum": [
              "policy"
            ],
            "in": "path",
            "name": "policyId",
            "required": true,
            "type": "string",
            "x-ms-enum": {
              "modelAsString": true,
              "name": "PolicyIdName"
            },
            "x-ms-parameter-location": "method"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Specified API operation policy 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": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "ApiOperationPolicies"
        ],
        "x-ms-examples": {
          "ApiManagementHeadApiOperationPolicy": {
            "parameters": {
              "api-version": "2017-03-01",
              "apiId": "5600b539c53f5b0062040001",
              "operationId": "5600b53ac53f5b0062080006",
              "policyId": "policy",
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "headers": {
                  "etag": "AAAAAAAAAAa="
                }
              }
            }
          }
        }
      },
      "put": {
        "consumes": [
          "application/json",
          "application/vnd.ms-azure-apim.policy+xml",
          "application/vnd.ms-azure-apim.policy.raw+xml"
        ],
        "description": "Creates or updates policy configuration for the API Operation level.",
        "operationId": "ApiOperationPolicy_CreateOrUpdate",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdRevParameter"
          },
          {
            "$ref": "#/parameters/OperationIdParameter"
          },
          {
            "description": "The identifier of the Policy.",
            "enum": [
              "policy"
            ],
            "in": "path",
            "name": "policyId",
            "required": true,
            "type": "string",
            "x-ms-enum": {
              "modelAsString": true,
              "name": "PolicyIdName"
            },
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The policy contents to apply.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "allOf": [
                {
                  "description": "The Resource definition.",
                  "properties": {
                    "id": {
                      "description": "Resource ID.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "name": {
                      "description": "Resource name.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "type": {
                      "description": "Resource type for API Management resource.",
                      "readOnly": true,
                      "type": "string"
                    }
                  },
                  "x-ms-azure-resource": true
                }
              ],
              "description": "Policy Contract details.",
              "properties": {
                "properties": {
                  "description": "Policy contract Properties.",
                  "properties": {
                    "policyContent": {
                      "description": "Json escaped Xml Encoded contents of the Policy.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "policyContent"
                  ]
                }
              }
            }
          },
          {
            "description": "The entity state (Etag) version of the Api Operation policy to update. A value of \"*\" can be used for If-Match to unconditionally apply the operation.",
            "in": "header",
            "name": "If-Match",
            "required": true,
            "type": "string"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Api Operation policy configuration of the tenant was successfully updated.",
            "schema": {
              "allOf": [
                {
                  "description": "The Resource definition.",
                  "properties": {
                    "id": {
                      "description": "Resource ID.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "name": {
                      "description": "Resource name.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "type": {
                      "description": "Resource type for API Management resource.",
                      "readOnly": true,
                      "type": "string"
                    }
                  },
                  "x-ms-azure-resource": true
                }
              ],
              "description": "Policy Contract details.",
              "properties": {
                "properties": {
                  "description": "Policy contract Properties.",
                  "properties": {
                    "policyContent": {
                      "description": "Json escaped Xml Encoded contents of the Policy.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "policyContent"
                  ]
                }
              }
            }
          },
          "201": {
            "description": "Api Operation policy configuration was successfully created.",
            "schema": {
              "allOf": [
                {
                  "description": "The Resource definition.",
                  "properties": {
                    "id": {
                      "description": "Resource ID.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "name": {
                      "description": "Resource name.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "type": {
                      "description": "Resource type for API Management resource.",
                      "readOnly": true,
                      "type": "string"
                    }
                  },
                  "x-ms-azure-resource": true
                }
              ],
              "description": "Policy Contract details.",
              "properties": {
                "properties": {
                  "description": "Policy contract Properties.",
                  "properties": {
                    "policyContent": {
                      "description": "Json escaped Xml Encoded contents of the Policy.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "policyContent"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "ApiOperationPolicies"
        ],
        "x-ms-examples": {
          "ApiManagementCreateApiOperationPolicy": {
            "parameters": {
              "If-Match": "*",
              "api-version": "2017-03-01",
              "apiId": "5600b57e7e8880006a040001",
              "operationId": "5600b57e7e8880006a080001",
              "parameters": {
                "properties": {
                  "policyContent": "<policies> <inbound /> <backend>    <forward-request />  </backend>  <outbound /></policies>"
                }
              },
              "policyId": "policy",
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5600b57e7e8880006a040001/operations/5600b57e7e8880006a080001/policies/policy",
                  "name": "policy",
                  "properties": {
                    "policyContent": "<policies>\r\n  <inbound />\r\n  <backend>\r\n    <forward-request />\r\n  </backend>\r\n  <outbound />\r\n</policies>"
                  },
                  "type": "Microsoft.ApiManagement/service/apis/operations/policies"
                }
              },
              "201": {
                "body": {
                  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5600b57e7e8880006a040001/operations/5600b57e7e8880006a080001/policies/policy",
                  "name": "policy",
                  "properties": {
                    "policyContent": "<policies>\r\n  <inbound />\r\n  <backend>\r\n    <forward-request />\r\n  </backend>\r\n  <outbound />\r\n</policies>"
                  },
                  "type": "Microsoft.ApiManagement/service/apis/operations/policies"
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/policies": {
      "get": {
        "description": "Get the policy configuration at the API level.",
        "operationId": "ApiPolicy_ListByApi",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdParameter"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Apis Policy Collection.",
            "headers": {
              "ETag": {
                "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
                "type": "string"
              }
            },
            "schema": {
              "description": "The response of the list policy operation.",
              "properties": {
                "nextLink": {
                  "description": "Next page link if any.",
                  "type": "string"
                },
                "value": {
                  "description": "Policy Contract value.",
                  "items": {
                    "allOf": [
                      {
                        "description": "The Resource definition.",
                        "properties": {
                          "id": {
                            "description": "Resource ID.",
                            "readOnly": true,
                            "type": "string"
                          },
                          "name": {
                            "description": "Resource name.",
                            "readOnly": true,
                            "type": "string"
                          },
                          "type": {
                            "description": "Resource type for API Management resource.",
                            "readOnly": true,
                            "type": "string"
                          }
                        },
                        "x-ms-azure-resource": true
                      }
                    ],
                    "description": "Policy Contract details.",
                    "properties": {
                      "properties": {
                        "description": "Policy contract Properties.",
                        "properties": {
                          "policyContent": {
                            "description": "Json escaped Xml Encoded contents of the Policy.",
                            "type": "string"
                          }
                        },
                        "required": [
                          "policyContent"
                        ]
                      }
                    }
                  },
                  "type": "array"
                }
              }
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "ApiPolicy"
        ],
        "x-ms-examples": {
          "ApiManagementListApiPolicies": {
            "parameters": {
              "api-version": "2017-03-01",
              "apiId": "5600b59475ff190048040001",
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "nextLink": "",
                  "value": [
                    {
                      "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5600b59475ff190048040001/policies/policy",
                      "name": "policy",
                      "properties": {
                        "policyContent": "<!--\r\n    IMPORTANT:\r\n    - Policy elements can appear only within the <inbound>, <outbound>, <backend> section elements.\r\n    - Only the <forward-request> policy element can appear within the <backend> section element.\r\n    - To apply a policy to the incoming request (before it is forwarded to the backend service), place a corresponding policy element within the <inbound> section element.\r\n    - To apply a policy to the outgoing response (before it is sent back to the caller), place a corresponding policy element within the <outbound> section element.\r\n    - To add a policy position the cursor at the desired insertion point and click on the round button associated with the policy.\r\n    - To remove a policy, delete the corresponding policy statement from the policy document.\r\n    - Position the <base> element within a section element to inherit all policies from the corresponding section element in the enclosing scope.\r\n    - Remove the <base> element to prevent inheriting policies from the corresponding section element in the enclosing scope.\r\n    - Policies are applied in the order of their appearance, from the top down.\r\n-->\r\n<policies>\r\n  <inbound>\r\n    <quota-by-key calls=\"5\" bandwidth=\"2\" renewal-period=\"&#x9;P3Y6M4DT12H30M5S\" counter-key=\"ba\" />\r\n    <base />\r\n  </inbound>\r\n  <backend>\r\n    <base />\r\n  </backend>\r\n  <outbound>\r\n    <log-to-eventhub logger-id=\"apimService1\" partition-key=\"@(context.Subscription.Id)\">\r\n@{\r\n\tRandom Random = new Random();\r\n\t\t\t\tconst string Chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz \";                \r\n                return string.Join(\",\", DateTime.UtcNow, new string(\r\n                    Enumerable.Repeat(Chars, Random.Next(2150400))\r\n                              .Select(s =&gt; s[Random.Next(s.Length)])\r\n                              .ToArray()));\r\n          }                           \r\n                        </log-to-eventhub>\r\n    <base />\r\n  </outbound>\r\n</policies>"
                      },
                      "type": "Microsoft.ApiManagement/service/apis/policies"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/policies/{policyId}": {
      "delete": {
        "description": "Deletes the policy configuration at the Api.",
        "operationId": "ApiPolicy_Delete",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdRevParameter"
          },
          {
            "description": "The identifier of the Policy.",
            "enum": [
              "policy"
            ],
            "in": "path",
            "name": "policyId",
            "required": true,
            "type": "string",
            "x-ms-enum": {
              "modelAsString": true,
              "name": "PolicyIdName"
            },
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The entity state (Etag) version of the Api policy to update. A value of \"*\" can be used for If-Match to unconditionally apply the operation.",
            "in": "header",
            "name": "If-Match",
            "required": true,
            "type": "string"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "Successfully deleted the policy configuration at the API level."
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "ApiPolicy"
        ],
        "x-ms-examples": {
          "ApiManagementDeleteApiPolicy": {
            "parameters": {
              "If-Match": "*",
              "api-version": "2017-03-01",
              "apiId": "loggerId",
              "policyId": "policy",
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "204": {}
            }
          }
        }
      },
      "get": {
        "description": "Get the policy configuration at the API level.",
        "operationId": "ApiPolicy_Get",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdRevParameter"
          },
          {
            "description": "The identifier of the Policy.",
            "enum": [
              "policy"
            ],
            "in": "path",
            "name": "policyId",
            "required": true,
            "type": "string",
            "x-ms-enum": {
              "modelAsString": true,
              "name": "PolicyIdName"
            },
            "x-ms-parameter-location": "method"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "application/vnd.ms-azure-apim.policy+xml",
          "application/vnd.ms-azure-apim.policy.raw+xml"
        ],
        "responses": {
          "200": {
            "description": "Api Policy information.",
            "headers": {
              "ETag": {
                "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
                "type": "string"
              }
            },
            "schema": {
              "allOf": [
                {
                  "description": "The Resource definition.",
                  "properties": {
                    "id": {
                      "description": "Resource ID.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "name": {
                      "description": "Resource name.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "type": {
                      "description": "Resource type for API Management resource.",
                      "readOnly": true,
                      "type": "string"
                    }
                  },
                  "x-ms-azure-resource": true
                }
              ],
              "description": "Policy Contract details.",
              "properties": {
                "properties": {
                  "description": "Policy contract Properties.",
                  "properties": {
                    "policyContent": {
                      "description": "Json escaped Xml Encoded contents of the Policy.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "policyContent"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "ApiPolicy"
        ],
        "x-ms-examples": {
          "ApiManagementGetApiPolicy": {
            "parameters": {
              "api-version": "2017-03-01",
              "apiId": "5600b59475ff190048040001",
              "policyId": "policy",
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5600b59475ff190048040001/policies/policy",
                  "name": "policy",
                  "properties": {
                    "policyContent": "<!--\r\n    IMPORTANT:\r\n    - Policy elements can appear only within the <inbound>, <outbound>, <backend> section elements.\r\n    - Only the <forward-request> policy element can appear within the <backend> section element.\r\n    - To apply a policy to the incoming request (before it is forwarded to the backend service), place a corresponding policy element within the <inbound> section element.\r\n    - To apply a policy to the outgoing response (before it is sent back to the caller), place a corresponding policy element within the <outbound> section element.\r\n    - To add a policy position the cursor at the desired insertion point and click on the round button associated with the policy.\r\n    - To remove a policy, delete the corresponding policy statement from the policy document.\r\n    - Position the <base> element within a section element to inherit all policies from the corresponding section element in the enclosing scope.\r\n    - Remove the <base> element to prevent inheriting policies from the corresponding section element in the enclosing scope.\r\n    - Policies are applied in the order of their appearance, from the top down.\r\n-->\r\n<policies>\r\n  <inbound>\r\n    <quota-by-key calls=\"5\" bandwidth=\"2\" renewal-period=\"&#x9;P3Y6M4DT12H30M5S\" counter-key=\"ba\" />\r\n    <base />\r\n  </inbound>\r\n  <backend>\r\n    <base />\r\n  </backend>\r\n  <outbound>\r\n    <log-to-eventhub logger-id=\"apimService1\" partition-key=\"@(context.Subscription.Id)\">\r\n@{\r\n\tRandom Random = new Random();\r\n\t\t\t\tconst string Chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz \";                \r\n                return string.Join(\",\", DateTime.UtcNow, new string(\r\n                    Enumerable.Repeat(Chars, Random.Next(2150400))\r\n                              .Select(s =&gt; s[Random.Next(s.Length)])\r\n                              .ToArray()));\r\n          }                           \r\n                        </log-to-eventhub>\r\n    <base />\r\n  </outbound>\r\n</policies>"
                  },
                  "type": "Microsoft.ApiManagement/service/apis/policies"
                }
              }
            }
          }
        }
      },
      "head": {
        "description": "Gets the entity state (Etag) version of the API policy specified by its identifier.",
        "operationId": "ApiPolicy_GetEntityTag",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdParameter"
          },
          {
            "description": "The identifier of the Policy.",
            "enum": [
              "policy"
            ],
            "in": "path",
            "name": "policyId",
            "required": true,
            "type": "string",
            "x-ms-enum": {
              "modelAsString": true,
              "name": "PolicyIdName"
            },
            "x-ms-parameter-location": "method"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Specified API Policy 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": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "ApiPolicy"
        ],
        "x-ms-examples": {
          "ApiManagementHeadApiPolicy": {
            "parameters": {
              "api-version": "2017-03-01",
              "apiId": "57d1f7558aa04f15146d9d8a",
              "policyId": "policy",
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "headers": {
                  "etag": "AAAAAAAAAAa="
                }
              }
            }
          }
        }
      },
      "put": {
        "consumes": [
          "application/json",
          "application/vnd.ms-azure-apim.policy+xml",
          "application/vnd.ms-azure-apim.policy.raw+xml"
        ],
        "description": "Creates or updates policy configuration for the API.",
        "operationId": "ApiPolicy_CreateOrUpdate",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdRevParameter"
          },
          {
            "description": "The identifier of the Policy.",
            "enum": [
              "policy"
            ],
            "in": "path",
            "name": "policyId",
            "required": true,
            "type": "string",
            "x-ms-enum": {
              "modelAsString": true,
              "name": "PolicyIdName"
            },
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The policy contents to apply.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "allOf": [
                {
                  "description": "The Resource definition.",
                  "properties": {
                    "id": {
                      "description": "Resource ID.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "name": {
                      "description": "Resource name.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "type": {
                      "description": "Resource type for API Management resource.",
                      "readOnly": true,
                      "type": "string"
                    }
                  },
                  "x-ms-azure-resource": true
                }
              ],
              "description": "Policy Contract details.",
              "properties": {
                "properties": {
                  "description": "Policy contract Properties.",
                  "properties": {
                    "policyContent": {
                      "description": "Json escaped Xml Encoded contents of the Policy.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "policyContent"
                  ]
                }
              }
            }
          },
          {
            "description": "The entity state (Etag) version of the Api Policy to update. A value of \"*\" can be used for If-Match to unconditionally apply the operation.",
            "in": "header",
            "name": "If-Match",
            "required": true,
            "type": "string"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Api policy configuration of the tenant was successfully updated.",
            "schema": {
              "allOf": [
                {
                  "description": "The Resource definition.",
                  "properties": {
                    "id": {
                      "description": "Resource ID.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "name": {
                      "description": "Resource name.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "type": {
                      "description": "Resource type for API Management resource.",
                      "readOnly": true,
                      "type": "string"
                    }
                  },
                  "x-ms-azure-resource": true
                }
              ],
              "description": "Policy Contract details.",
              "properties": {
                "properties": {
                  "description": "Policy contract Properties.",
                  "properties": {
                    "policyContent": {
                      "description": "Json escaped Xml Encoded contents of the Policy.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "policyContent"
                  ]
                }
              }
            }
          },
          "201": {
            "description": "Api policy configuration was successfully created.",
            "schema": {
              "allOf": [
                {
                  "description": "The Resource definition.",
                  "properties": {
                    "id": {
                      "description": "Resource ID.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "name": {
                      "description": "Resource name.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "type": {
                      "description": "Resource type for API Management resource.",
                      "readOnly": true,
                      "type": "string"
                    }
                  },
                  "x-ms-azure-resource": true
                }
              ],
              "description": "Policy Contract details.",
              "properties": {
                "properties": {
                  "description": "Policy contract Properties.",
                  "properties": {
                    "policyContent": {
                      "description": "Json escaped Xml Encoded contents of the Policy.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "policyContent"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "ApiPolicy"
        ],
        "x-ms-examples": {
          "ApiManagementCreateApiPolicy": {
            "parameters": {
              "If-Match": "*",
              "api-version": "2017-03-01",
              "apiId": "5600b57e7e8880006a040001",
              "parameters": {
                "properties": {
                  "policyContent": "<policies> <inbound /> <backend>    <forward-request />  </backend>  <outbound /></policies>"
                }
              },
              "policyId": "policy",
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5600b57e7e8880006a040001/policies/policy",
                  "name": "policy",
                  "properties": {
                    "policyContent": "<policies>\r\n  <inbound />\r\n  <backend>\r\n    <forward-request />\r\n  </backend>\r\n  <outbound />\r\n</policies>"
                  },
                  "type": "Microsoft.ApiManagement/service/apis/policies"
                }
              },
              "201": {
                "body": {
                  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5600b57e7e8880006a040001/policies/policy",
                  "name": "policy",
                  "properties": {
                    "policyContent": "<policies>\r\n  <inbound />\r\n  <backend>\r\n    <forward-request />\r\n  </backend>\r\n  <outbound />\r\n</policies>"
                  },
                  "type": "Microsoft.ApiManagement/service/apis/policies"
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/products": {
      "get": {
        "description": "Lists all Products, which the API is part of.",
        "operationId": "ApiProduct_ListByApis",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdParameter"
          },
          {
            "description": "| Field | Supported operators    | Supported functions                         |\n|-------|------------------------|---------------------------------------------|\n| name  | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |",
            "in": "query",
            "name": "$filter",
            "required": false,
            "type": "string"
          },
          {
            "description": "Number of records to return.",
            "format": "int32",
            "in": "query",
            "minimum": 1,
            "name": "$top",
            "required": false,
            "type": "integer",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "Number of records to skip.",
            "format": "int32",
            "in": "query",
            "minimum": 0,
            "name": "$skip",
            "required": false,
            "type": "integer",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation returns a collection of products which have the Api entity.",
            "schema": {
              "description": "Paged Products list representation.",
              "properties": {
                "nextLink": {
                  "description": "Next page link if any.",
                  "type": "string"
                },
                "value": {
                  "description": "Page values.",
                  "items": {
                    "allOf": [
                      {
                        "description": "The Resource definition.",
                        "properties": {
                          "id": {
                            "description": "Resource ID.",
                            "readOnly": true,
                            "type": "string"
                          },
                          "name": {
                            "description": "Resource name.",
                            "readOnly": true,
                            "type": "string"
                          },
                          "type": {
                            "description": "Resource type for API Management resource.",
                            "readOnly": true,
                            "type": "string"
                          }
                        },
                        "x-ms-azure-resource": true
                      }
                    ],
                    "description": "Product details.",
                    "properties": {
                      "properties": {
                        "allOf": [
                          {
                            "description": "Product Entity Base Parameters",
                            "properties": {
                              "approvalRequired": {
                                "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of true.",
                                "type": "boolean"
                              },
                              "description": {
                                "description": "Product description. May include HTML formatting tags.",
                                "maxLength": 1000,
                                "minLength": 1,
                                "type": "string"
                              },
                              "state": {
                                "description": "whether product is published or not. Published products are discoverable by users of developer portal. Non published products are visible only to administrators. Default state of Product is notPublished.",
                                "enum": [
                                  "notPublished",
                                  "published"
                                ],
                                "type": "string",
                                "x-ms-enum": {
                                  "modelAsString": false,
                                  "name": "ProductState"
                                }
                              },
                              "subscriptionRequired": {
                                "description": "Whether a product subscription is required for accessing APIs included in this product. If true, the product is referred to as \"protected\" and a valid subscription key is required for a request to an API included in the product to succeed. If false, the product is referred to as \"open\" and requests to an API included in the product can be made without a subscription key. If property is omitted when creating a new product it's value is assumed to be true.",
                                "type": "boolean"
                              },
                              "subscriptionsLimit": {
                                "description": "Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of true.",
                                "format": "int32",
                                "type": "integer"
                              },
                              "terms": {
                                "description": "Product terms of use. Developers trying to subscribe to the product will be presented and required to accept these terms before they can complete the subscription process.",
                                "type": "string"
                              }
                            }
                          }
                        ],
                        "description": "Product profile.",
                        "properties": {
                          "displayName": {
                            "description": "Product name.",
                            "maxLength": 300,
                            "minLength": 1,
                            "type": "string"
                          }
                        },
                        "required": [
                          "displayName"
                        ]
                      }
                    }
                  },
                  "type": "array"
                }
              }
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "ApiProduct"
        ],
        "x-ms-examples": {
          "ApiManagementGetProductsForApi": {
            "parameters": {
              "api-version": "2017-03-01",
              "apiId": "57d2ef278aa04f0888cba3f3",
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "nextLink": "",
                  "value": [
                    {
                      "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b539c53f5b0062060002",
                      "name": "5600b539c53f5b0062060002",
                      "properties": {
                        "approvalRequired": true,
                        "description": "Subscribers have completely unlimited access to the API. Administrator approval is required.",
                        "displayName": "Unlimited",
                        "state": "published",
                        "subscriptionRequired": true,
                        "subscriptionsLimit": 1
                      },
                      "type": "Microsoft.ApiManagement/service/apis/products"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-odata": "./apimproducts.json#/definitions/ProductContract",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/releases": {
      "get": {
        "description": "Lists all releases of an API. An API release is created when making an API Revision current. Releases are also used to rollback to previous revisions. Results will be paged and can be constrained by the $top and $skip parameters.",
        "operationId": "ApiRelease_List",
        "parameters": [
          {
            "description": "| Field | Supported operators    | Supported functions                         |\n|-------|------------------------|---------------------------------------------|\n| name  | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n|notes|ge le eq ne gt lt|substringof contains startswith endswith|",
            "in": "query",
            "name": "$filter",
            "required": false,
            "type": "string"
          },
          {
            "description": "Number of records to return.",
            "format": "int32",
            "in": "query",
            "minimum": 1,
            "name": "$top",
            "required": false,
            "type": "integer",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "Number of records to skip.",
            "format": "int32",
            "in": "query",
            "minimum": 0,
            "name": "$skip",
            "required": false,
            "type": "integer",
            "x-ms-parameter-location": "method"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation returns a list of API Releases.",
            "schema": {
              "$ref": "#/definitions/ApiReleaseCollection"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "Releases"
        ],
        "x-ms-examples": {
          "ApiManagementListApiReleases": {
            "parameters": {
              "api-version": "2017-03-01",
              "apiId": "a1",
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "nextLink": "",
                  "value": [
                    {
                      "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1/releases/5a7cb545298324c53224a799",
                      "name": "5a7cb545298324c53224a799",
                      "properties": {
                        "createdDateTime": "2018-02-08T20:38:29.173Z",
                        "notes": "yahoo",
                        "updatedDateTime": "2018-02-08T20:38:29.173Z"
                      },
                      "type": "Microsoft.ApiManagement/service/apis/releases"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-odata": "#/definitions/ApiReleaseContract",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      },
      "parameters": [
        {
          "description": "The name of the resource group.",
          "in": "path",
          "name": "resourceGroupName",
          "required": true,
          "type": "string",
          "x-ms-parameter-location": "method"
        },
        {
          "description": "The name of the API Management service.",
          "in": "path",
          "maxLength": 50,
          "minLength": 1,
          "name": "serviceName",
          "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
          "required": true,
          "type": "string",
          "x-ms-parameter-location": "method"
        },
        {
          "$ref": "#/parameters/ApiIdParameter"
        },
        {
          "description": "Version of the API to be used with the client request.",
          "in": "query",
          "name": "api-version",
          "required": true,
          "type": "string"
        },
        {
          "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
          "in": "path",
          "name": "subscriptionId",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/releases/{releaseId}": {
      "delete": {
        "description": "Deletes the specified release in the API.",
        "operationId": "ApiRelease_Delete",
        "parameters": [
          {
            "$ref": "#/parameters/IfMatch"
          }
        ],
        "responses": {
          "204": {
            "description": "The release was successfully deleted."
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "Releases"
        ],
        "x-ms-examples": {
          "ApiManagementDeleteApiRelease": {
            "parameters": {
              "If-Match": "*",
              "api-version": "2017-03-01",
              "apiId": "5a5fcc09124a7fa9b89f2f1d",
              "releaseId": "testrev",
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "204": {}
            }
          }
        }
      },
      "get": {
        "description": "Returns the details of an API release.",
        "operationId": "ApiRelease_Get",
        "responses": {
          "200": {
            "description": "The operation returns the details of an API Release.",
            "schema": {
              "$ref": "#/definitions/ApiReleaseContract"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "Releases"
        ],
        "x-ms-examples": {
          "ApiManagementGetApiRelease": {
            "parameters": {
              "api-version": "2017-03-01",
              "apiId": "a1",
              "releaseId": "5a7cb545298324c53224a799",
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1/releases/5a7cb545298324c53224a799",
                  "name": "5a7cb545298324c53224a799",
                  "properties": {
                    "apiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1",
                    "createdDateTime": "2018-02-08T20:38:29.173Z",
                    "notes": "yahoo",
                    "updatedDateTime": "2018-02-08T20:38:29.173Z"
                  },
                  "type": "Microsoft.ApiManagement/service/apis/releases"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "description": "The name of the resource group.",
          "in": "path",
          "name": "resourceGroupName",
          "required": true,
          "type": "string",
          "x-ms-parameter-location": "method"
        },
        {
          "description": "The name of the API Management service.",
          "in": "path",
          "maxLength": 50,
          "minLength": 1,
          "name": "serviceName",
          "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
          "required": true,
          "type": "string",
          "x-ms-parameter-location": "method"
        },
        {
          "description": "Version of the API to be used with the client request.",
          "in": "query",
          "name": "api-version",
          "required": true,
          "type": "string"
        },
        {
          "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
          "in": "path",
          "name": "subscriptionId",
          "required": true,
          "type": "string"
        },
        {
          "$ref": "#/parameters/ApiIdParameter"
        },
        {
          "description": "Release identifier within an API. Must be unique in the current API Management service instance.",
          "in": "path",
          "maxLength": 256,
          "minLength": 1,
          "name": "releaseId",
          "pattern": "^[^*#&+:<>?]+$",
          "required": true,
          "type": "string"
        }
      ],
      "patch": {
        "description": "Updates the details of the release of the API specified by its identifier.",
        "operationId": "ApiRelease_Update",
        "parameters": [
          {
            "description": "API Release Update parameters.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ApiReleaseContract"
            }
          },
          {
            "$ref": "#/parameters/IfMatch"
          }
        ],
        "responses": {
          "204": {
            "description": "The operation was successfully updated."
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "Releases"
        ],
        "x-ms-examples": {
          "ApiManagementUpdateApiRelease": {
            "parameters": {
              "If-Match": "*",
              "api-version": "2017-03-01",
              "apiId": "a1",
              "parameters": {
                "properties": {
                  "apiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1",
                  "notes": "yahooagain"
                }
              },
              "releaseId": "testrev",
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "204": {}
            }
          }
        }
      },
      "put": {
        "description": "Creates a new Release for the API.",
        "operationId": "ApiRelease_Create",
        "parameters": [
          {
            "description": "Create parameters.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ApiReleaseContract"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Release was successfully updated.",
            "schema": {
              "$ref": "#/definitions/ApiReleaseContract"
            }
          },
          "201": {
            "description": "Release was successfully created.",
            "schema": {
              "$ref": "#/definitions/ApiReleaseContract"
            }
          },
          "default": {
            "description": "Error response describing why the release failed.",
            "schema": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "Releases"
        ],
        "x-ms-examples": {
          "ApiManagementCreateApiRelease": {
            "parameters": {
              "api-version": "2017-03-01",
              "apiId": "a1",
              "parameters": {
                "properties": {
                  "apiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1",
                  "notes": "yahooagain"
                }
              },
              "releaseId": "testrev",
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1/releases/testrev",
                  "name": "testrev",
                  "properties": {
                    "apiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1",
                    "createdDateTime": "2018-02-08T20:52:00.65Z",
                    "notes": "yahooagain",
                    "updatedDateTime": "2018-02-08T20:52:00.65Z"
                  },
                  "type": "Microsoft.ApiManagement/service/apis/releases"
                }
              },
              "201": {
                "body": {
                  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1/releases/testrev",
                  "name": "testrev",
                  "properties": {
                    "apiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1",
                    "createdDateTime": "2018-02-08T20:52:00.65Z",
                    "notes": "yahooagain",
                    "updatedDateTime": "2018-02-08T20:52:00.65Z"
                  },
                  "type": "Microsoft.ApiManagement/service/apis/releases"
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/revisions": {
      "get": {
        "description": "Lists all revisions of an API.",
        "operationId": "ApiRevisions_List",
        "parameters": [
          {
            "description": "| Field       | Supported operators    | Supported functions               |\n|-------------|------------------------|-----------------------------------|\n\r\n|apiRevision | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n",
            "in": "query",
            "name": "$filter",
            "required": false,
            "type": "string"
          },
          {
            "description": "Number of records to return.",
            "format": "int32",
            "in": "query",
            "minimum": 1,
            "name": "$top",
            "required": false,
            "type": "integer",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "Number of records to skip.",
            "format": "int32",
            "in": "query",
            "minimum": 0,
            "name": "$skip",
            "required": false,
            "type": "integer",
            "x-ms-parameter-location": "method"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation returns a list of revision details.",
            "schema": {
              "$ref": "#/definitions/ApiRevisionCollection"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "Revisions"
        ],
        "x-ms-examples": {
          "ApiManagementListApiRevisions": {
            "parameters": {
              "api-version": "2017-03-01",
              "apiId": "57d2ef278aa04f0888cba3f3",
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "nextLink": "",
                  "value": [
                    {
                      "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1/revisions/5a7cb545298324c53224a799",
                      "name": "5a7cb545298324c53224a799",
                      "properties": {
                        "apiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1;rev=1",
                        "apiRevision": "1",
                        "createdDateTime": "2018-02-01T22:21:20.467Z",
                        "isCurrent": true,
                        "isOnline": true,
                        "updatedDateTime": "2018-02-01T22:21:20.467Z"
                      },
                      "type": "Microsoft.ApiManagement/service/apis/revisions"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-odata": "#/definitions/ApiRevisionContract",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      },
      "parameters": [
        {
          "description": "The name of the resource group.",
          "in": "path",
          "name": "resourceGroupName",
          "required": true,
          "type": "string",
          "x-ms-parameter-location": "method"
        },
        {
          "description": "The name of the API Management service.",
          "in": "path",
          "maxLength": 50,
          "minLength": 1,
          "name": "serviceName",
          "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
          "required": true,
          "type": "string",
          "x-ms-parameter-location": "method"
        },
        {
          "description": "Version of the API to be used with the client request.",
          "in": "query",
          "name": "api-version",
          "required": true,
          "type": "string"
        },
        {
          "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
          "in": "path",
          "name": "subscriptionId",
          "required": true,
          "type": "string"
        },
        {
          "$ref": "#/parameters/ApiIdParameter"
        }
      ]
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/schemas": {
      "get": {
        "description": "Get the schema configuration at the API level.",
        "operationId": "ApiSchema_ListByApi",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdParameter"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Apis Schema Collection.",
            "headers": {
              "ETag": {
                "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/SchemaCollection"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "ApiSchema"
        ],
        "x-ms-examples": {
          "ApiManagementListApiSchemas": {
            "parameters": {
              "api-version": "2017-03-01",
              "apiId": "59d5b28d1f7fab116c282650",
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "nextLink": "",
                  "value": [
                    {
                      "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/59d5b28d1f7fab116c282650/schemas/59d5b28e1f7fab116402044e",
                      "name": "59d5b28e1f7fab116402044e",
                      "properties": {
                        "contentType": "application/vnd.ms-azure-apim.swagger.definitions+json"
                      },
                      "type": "Microsoft.ApiManagement/service/apis/schemas"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/schemas/{schemaId}": {
      "delete": {
        "description": "Deletes the schema configuration at the Api.",
        "operationId": "ApiSchema_Delete",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdParameter"
          },
          {
            "$ref": "#/parameters/SchemaIdParameter"
          },
          {
            "description": "The entity state (Etag) version of the Api schema to update. A value of \"*\" can be used for If-Match to unconditionally apply the operation.",
            "in": "header",
            "name": "If-Match",
            "required": true,
            "type": "string"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "Successfully deleted the schema configuration at the API level."
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "ApiSchema"
        ],
        "x-ms-examples": {
          "ApiManagementDeleteApiSchema": {
            "parameters": {
              "If-Match": "*",
              "api-version": "2017-03-01",
              "apiId": "59d5b28d1f7fab116c282650",
              "resourceGroupName": "rg1",
              "schemaId": "59d5b28e1f7fab116402044e",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "204": {}
            }
          }
        }
      },
      "get": {
        "description": "Get the schema configuration at the API level.",
        "operationId": "ApiSchema_Get",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdParameter"
          },
          {
            "$ref": "#/parameters/SchemaIdParameter"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Api Schema information.",
            "headers": {
              "ETag": {
                "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/SchemaContract"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "ApiSchema"
        ],
        "x-ms-examples": {
          "ApiManagementGetApiSchema": {
            "parameters": {
              "api-version": "2017-03-01",
              "apiId": "59d6bb8f1f7fab13dc67ec9b",
              "resourceGroupName": "rg1",
              "schemaId": "ec12520d-9d48-4e7b-8f39-698ca2ac63f1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/59d6bb8f1f7fab13dc67ec9b/schemas/ec12520d-9d48-4e7b-8f39-698ca2ac63f1",
                  "name": "ec12520d-9d48-4e7b-8f39-698ca2ac63f1",
                  "properties": {
                    "contentType": "application/vnd.ms-azure-apim.xsd+xml",
                    "document": {
                      "value": "<s:schema elementFormDefault=\"qualified\" targetNamespace=\"http://ws.cdyne.com/WeatherWS/\" xmlns:tns=\"http://ws.cdyne.com/WeatherWS/\" xmlns:s=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap12=\"http://schemas.xmlsoap.org/wsdl/soap12/\" xmlns:mime=\"http://schemas.xmlsoap.org/wsdl/mime/\" xmlns:soap=\"http://schemas.xmlsoap.org/wsdl/soap/\" xmlns:tm=\"http://microsoft.com/wsdl/mime/textMatching/\" xmlns:http=\"http://schemas.xmlsoap.org/wsdl/http/\" xmlns:soapenc=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:wsdl=\"http://schemas.xmlsoap.org/wsdl/\" xmlns:apim-wsdltns=\"http://ws.cdyne.com/WeatherWS/\">\r\n  <s:element name=\"GetWeatherInformation\">\r\n    <s:complexType />\r\n  </s:element>\r\n  <s:element name=\"GetWeatherInformationResponse\">\r\n    <s:complexType>\r\n      <s:sequence>\r\n        <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"GetWeatherInformationResult\" type=\"tns:ArrayOfWeatherDescription\" />\r\n      </s:sequence>\r\n    </s:complexType>\r\n  </s:element>\r\n  <s:complexType name=\"ArrayOfWeatherDescription\">\r\n    <s:sequence>\r\n      <s:element minOccurs=\"0\" maxOccurs=\"unbounded\" name=\"WeatherDescription\" type=\"tns:WeatherDescription\" />\r\n    </s:sequence>\r\n  </s:complexType>\r\n  <s:complexType name=\"WeatherDescription\">\r\n    <s:sequence>\r\n      <s:element minOccurs=\"1\" maxOccurs=\"1\" name=\"WeatherID\" type=\"s:short\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Description\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"PictureURL\" type=\"s:string\" />\r\n    </s:sequence>\r\n  </s:complexType>\r\n  <s:element name=\"GetCityForecastByZIP\">\r\n    <s:complexType>\r\n      <s:sequence>\r\n        <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"ZIP\" type=\"s:string\" />\r\n      </s:sequence>\r\n    </s:complexType>\r\n  </s:element>\r\n  <s:element name=\"GetCityForecastByZIPResponse\">\r\n    <s:complexType>\r\n      <s:sequence>\r\n        <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"GetCityForecastByZIPResult\" type=\"tns:ForecastReturn\" />\r\n      </s:sequence>\r\n    </s:complexType>\r\n  </s:element>\r\n  <s:complexType name=\"ForecastReturn\">\r\n    <s:sequence>\r\n      <s:element minOccurs=\"1\" maxOccurs=\"1\" name=\"Success\" type=\"s:boolean\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"ResponseText\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"State\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"City\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"WeatherStationCity\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"ForecastResult\" type=\"tns:ArrayOfForecast\" />\r\n    </s:sequence>\r\n  </s:complexType>\r\n  <s:complexType name=\"ArrayOfForecast\">\r\n    <s:sequence>\r\n      <s:element minOccurs=\"0\" maxOccurs=\"unbounded\" name=\"Forecast\" nillable=\"true\" type=\"tns:Forecast\" />\r\n    </s:sequence>\r\n  </s:complexType>\r\n  <s:complexType name=\"Forecast\">\r\n    <s:sequence>\r\n      <s:element minOccurs=\"1\" maxOccurs=\"1\" name=\"Date\" type=\"s:dateTime\" />\r\n      <s:element minOccurs=\"1\" maxOccurs=\"1\" name=\"WeatherID\" type=\"s:short\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Desciption\" type=\"s:string\" />\r\n      <s:element minOccurs=\"1\" maxOccurs=\"1\" name=\"Temperatures\" type=\"tns:temp\" />\r\n      <s:element minOccurs=\"1\" maxOccurs=\"1\" name=\"ProbabilityOfPrecipiation\" type=\"tns:POP\" />\r\n    </s:sequence>\r\n  </s:complexType>\r\n  <s:complexType name=\"temp\">\r\n    <s:sequence>\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"MorningLow\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"DaytimeHigh\" type=\"s:string\" />\r\n    </s:sequence>\r\n  </s:complexType>\r\n  <s:complexType name=\"POP\">\r\n    <s:sequence>\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Nighttime\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Daytime\" type=\"s:string\" />\r\n    </s:sequence>\r\n  </s:complexType>\r\n  <s:element name=\"GetCityWeatherByZIP\">\r\n    <s:complexType>\r\n      <s:sequence>\r\n        <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"ZIP\" type=\"s:string\" />\r\n      </s:sequence>\r\n    </s:complexType>\r\n  </s:element>\r\n  <s:element name=\"GetCityWeatherByZIPResponse\">\r\n    <s:complexType>\r\n      <s:sequence>\r\n        <s:element minOccurs=\"1\" maxOccurs=\"1\" name=\"GetCityWeatherByZIPResult\" type=\"tns:WeatherReturn\" />\r\n      </s:sequence>\r\n    </s:complexType>\r\n  </s:element>\r\n  <s:complexType name=\"WeatherReturn\">\r\n    <s:sequence>\r\n      <s:element minOccurs=\"1\" maxOccurs=\"1\" name=\"Success\" type=\"s:boolean\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"ResponseText\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"State\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"City\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"WeatherStationCity\" type=\"s:string\" />\r\n      <s:element minOccurs=\"1\" maxOccurs=\"1\" name=\"WeatherID\" type=\"s:short\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Description\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Temperature\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"RelativeHumidity\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Wind\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Pressure\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Visibility\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"WindChill\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Remarks\" type=\"s:string\" />\r\n    </s:sequence>\r\n  </s:complexType>\r\n  <s:element name=\"ArrayOfWeatherDescription\" nillable=\"true\" type=\"tns:ArrayOfWeatherDescription\" />\r\n  <s:element name=\"ForecastReturn\" nillable=\"true\" type=\"tns:ForecastReturn\" />\r\n  <s:element name=\"WeatherReturn\" type=\"tns:WeatherReturn\" />\r\n</s:schema>"
                    }
                  },
                  "type": "Microsoft.ApiManagement/service/apis/schemas"
                }
              }
            }
          }
        }
      },
      "head": {
        "description": "Gets the entity state (Etag) version of the schema specified by its identifier.",
        "operationId": "ApiSchema_GetEntityTag",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdParameter"
          },
          {
            "$ref": "#/parameters/SchemaIdParameter"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Specified schema 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": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "ApiSchema"
        ],
        "x-ms-examples": {
          "ApiManagementHeadApiSchema": {
            "parameters": {
              "api-version": "2017-03-01",
              "apiId": "57d1f7558aa04f15146d9d8a",
              "resourceGroupName": "rg1",
              "schemaId": "ec12520d-9d48-4e7b-8f39-698ca2ac63f1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "headers": {
                  "etag": "AAAAAAAAAAa="
                }
              }
            }
          }
        }
      },
      "put": {
        "description": "Creates or updates schema configuration for the API.",
        "operationId": "ApiSchema_CreateOrUpdate",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdParameter"
          },
          {
            "$ref": "#/parameters/SchemaIdParameter"
          },
          {
            "description": "The schema contents to apply.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SchemaContract"
            }
          },
          {
            "description": "The entity state (Etag) version of the Api Schema to update. A value of \"*\" can be used for If-Match to unconditionally apply the operation.",
            "in": "header",
            "name": "If-Match",
            "required": false,
            "type": "string"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Api schema configuration of the tenant was successfully updated.",
            "schema": {
              "$ref": "#/definitions/SchemaContract"
            }
          },
          "201": {
            "description": "Api schema configuration was successfully created.",
            "schema": {
              "$ref": "#/definitions/SchemaContract"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "ApiSchema"
        ],
        "x-ms-examples": {
          "ApiManagementCreateApiSchema": {
            "parameters": {
              "api-version": "2017-03-01",
              "apiId": "59d6bb8f1f7fab13dc67ec9b",
              "parameters": {
                "properties": {
                  "contentType": "application/vnd.ms-azure-apim.xsd+xml",
                  "document": {
                    "value": "<s:schema elementFormDefault=\"qualified\" targetNamespace=\"http://ws.cdyne.com/WeatherWS/\" xmlns:tns=\"http://ws.cdyne.com/WeatherWS/\" xmlns:s=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap12=\"http://schemas.xmlsoap.org/wsdl/soap12/\" xmlns:mime=\"http://schemas.xmlsoap.org/wsdl/mime/\" xmlns:soap=\"http://schemas.xmlsoap.org/wsdl/soap/\" xmlns:tm=\"http://microsoft.com/wsdl/mime/textMatching/\" xmlns:http=\"http://schemas.xmlsoap.org/wsdl/http/\" xmlns:soapenc=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:wsdl=\"http://schemas.xmlsoap.org/wsdl/\" xmlns:apim-wsdltns=\"http://ws.cdyne.com/WeatherWS/\">\r\n  <s:element name=\"GetWeatherInformation\">\r\n    <s:complexType />\r\n  </s:element>\r\n  <s:element name=\"GetWeatherInformationResponse\">\r\n    <s:complexType>\r\n      <s:sequence>\r\n        <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"GetWeatherInformationResult\" type=\"tns:ArrayOfWeatherDescription\" />\r\n      </s:sequence>\r\n    </s:complexType>\r\n  </s:element>\r\n  <s:complexType name=\"ArrayOfWeatherDescription\">\r\n    <s:sequence>\r\n      <s:element minOccurs=\"0\" maxOccurs=\"unbounded\" name=\"WeatherDescription\" type=\"tns:WeatherDescription\" />\r\n    </s:sequence>\r\n  </s:complexType>\r\n  <s:complexType name=\"WeatherDescription\">\r\n    <s:sequence>\r\n      <s:element minOccurs=\"1\" maxOccurs=\"1\" name=\"WeatherID\" type=\"s:short\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Description\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"PictureURL\" type=\"s:string\" />\r\n    </s:sequence>\r\n  </s:complexType>\r\n  <s:element name=\"GetCityForecastByZIP\">\r\n    <s:complexType>\r\n      <s:sequence>\r\n        <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"ZIP\" type=\"s:string\" />\r\n      </s:sequence>\r\n    </s:complexType>\r\n  </s:element>\r\n  <s:element name=\"GetCityForecastByZIPResponse\">\r\n    <s:complexType>\r\n      <s:sequence>\r\n        <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"GetCityForecastByZIPResult\" type=\"tns:ForecastReturn\" />\r\n      </s:sequence>\r\n    </s:complexType>\r\n  </s:element>\r\n  <s:complexType name=\"ForecastReturn\">\r\n    <s:sequence>\r\n      <s:element minOccurs=\"1\" maxOccurs=\"1\" name=\"Success\" type=\"s:boolean\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"ResponseText\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"State\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"City\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"WeatherStationCity\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"ForecastResult\" type=\"tns:ArrayOfForecast\" />\r\n    </s:sequence>\r\n  </s:complexType>\r\n  <s:complexType name=\"ArrayOfForecast\">\r\n    <s:sequence>\r\n      <s:element minOccurs=\"0\" maxOccurs=\"unbounded\" name=\"Forecast\" nillable=\"true\" type=\"tns:Forecast\" />\r\n    </s:sequence>\r\n  </s:complexType>\r\n  <s:complexType name=\"Forecast\">\r\n    <s:sequence>\r\n      <s:element minOccurs=\"1\" maxOccurs=\"1\" name=\"Date\" type=\"s:dateTime\" />\r\n      <s:element minOccurs=\"1\" maxOccurs=\"1\" name=\"WeatherID\" type=\"s:short\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Desciption\" type=\"s:string\" />\r\n      <s:element minOccurs=\"1\" maxOccurs=\"1\" name=\"Temperatures\" type=\"tns:temp\" />\r\n      <s:element minOccurs=\"1\" maxOccurs=\"1\" name=\"ProbabilityOfPrecipiation\" type=\"tns:POP\" />\r\n    </s:sequence>\r\n  </s:complexType>\r\n  <s:complexType name=\"temp\">\r\n    <s:sequence>\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"MorningLow\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"DaytimeHigh\" type=\"s:string\" />\r\n    </s:sequence>\r\n  </s:complexType>\r\n  <s:complexType name=\"POP\">\r\n    <s:sequence>\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Nighttime\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Daytime\" type=\"s:string\" />\r\n    </s:sequence>\r\n  </s:complexType>\r\n  <s:element name=\"GetCityWeatherByZIP\">\r\n    <s:complexType>\r\n      <s:sequence>\r\n        <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"ZIP\" type=\"s:string\" />\r\n      </s:sequence>\r\n    </s:complexType>\r\n  </s:element>\r\n  <s:element name=\"GetCityWeatherByZIPResponse\">\r\n    <s:complexType>\r\n      <s:sequence>\r\n        <s:element minOccurs=\"1\" maxOccurs=\"1\" name=\"GetCityWeatherByZIPResult\" type=\"tns:WeatherReturn\" />\r\n      </s:sequence>\r\n    </s:complexType>\r\n  </s:element>\r\n  <s:complexType name=\"WeatherReturn\">\r\n    <s:sequence>\r\n      <s:element minOccurs=\"1\" maxOccurs=\"1\" name=\"Success\" type=\"s:boolean\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"ResponseText\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"State\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"City\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"WeatherStationCity\" type=\"s:string\" />\r\n      <s:element minOccurs=\"1\" maxOccurs=\"1\" name=\"WeatherID\" type=\"s:short\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Description\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Temperature\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"RelativeHumidity\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Wind\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Pressure\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Visibility\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"WindChill\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Remarks\" type=\"s:string\" />\r\n    </s:sequence>\r\n  </s:complexType>\r\n  <s:element name=\"ArrayOfWeatherDescription\" nillable=\"true\" type=\"tns:ArrayOfWeatherDescription\" />\r\n  <s:element name=\"ForecastReturn\" nillable=\"true\" type=\"tns:ForecastReturn\" />\r\n  <s:element name=\"WeatherReturn\" type=\"tns:WeatherReturn\" />\r\n</s:schema>"
                  }
                }
              },
              "resourceGroupName": "rg1",
              "schemaId": "ec12520d-9d48-4e7b-8f39-698ca2ac63f1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/59d6bb8f1f7fab13dc67ec9b/schemas/ec12520d-9d48-4e7b-8f39-698ca2ac63f1",
                  "name": "ec12520d-9d48-4e7b-8f39-698ca2ac63f1",
                  "properties": {
                    "contentType": "application/vnd.ms-azure-apim.xsd+xml",
                    "document": {
                      "value": "<s:schema elementFormDefault=\"qualified\" targetNamespace=\"http://ws.cdyne.com/WeatherWS/\" xmlns:tns=\"http://ws.cdyne.com/WeatherWS/\" xmlns:s=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap12=\"http://schemas.xmlsoap.org/wsdl/soap12/\" xmlns:mime=\"http://schemas.xmlsoap.org/wsdl/mime/\" xmlns:soap=\"http://schemas.xmlsoap.org/wsdl/soap/\" xmlns:tm=\"http://microsoft.com/wsdl/mime/textMatching/\" xmlns:http=\"http://schemas.xmlsoap.org/wsdl/http/\" xmlns:soapenc=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:wsdl=\"http://schemas.xmlsoap.org/wsdl/\" xmlns:apim-wsdltns=\"http://ws.cdyne.com/WeatherWS/\">\r\n  <s:element name=\"GetWeatherInformation\">\r\n    <s:complexType />\r\n  </s:element>\r\n  <s:element name=\"GetWeatherInformationResponse\">\r\n    <s:complexType>\r\n      <s:sequence>\r\n        <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"GetWeatherInformationResult\" type=\"tns:ArrayOfWeatherDescription\" />\r\n      </s:sequence>\r\n    </s:complexType>\r\n  </s:element>\r\n  <s:complexType name=\"ArrayOfWeatherDescription\">\r\n    <s:sequence>\r\n      <s:element minOccurs=\"0\" maxOccurs=\"unbounded\" name=\"WeatherDescription\" type=\"tns:WeatherDescription\" />\r\n    </s:sequence>\r\n  </s:complexType>\r\n  <s:complexType name=\"WeatherDescription\">\r\n    <s:sequence>\r\n      <s:element minOccurs=\"1\" maxOccurs=\"1\" name=\"WeatherID\" type=\"s:short\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Description\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"PictureURL\" type=\"s:string\" />\r\n    </s:sequence>\r\n  </s:complexType>\r\n  <s:element name=\"GetCityForecastByZIP\">\r\n    <s:complexType>\r\n      <s:sequence>\r\n        <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"ZIP\" type=\"s:string\" />\r\n      </s:sequence>\r\n    </s:complexType>\r\n  </s:element>\r\n  <s:element name=\"GetCityForecastByZIPResponse\">\r\n    <s:complexType>\r\n      <s:sequence>\r\n        <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"GetCityForecastByZIPResult\" type=\"tns:ForecastReturn\" />\r\n      </s:sequence>\r\n    </s:complexType>\r\n  </s:element>\r\n  <s:complexType name=\"ForecastReturn\">\r\n    <s:sequence>\r\n      <s:element minOccurs=\"1\" maxOccurs=\"1\" name=\"Success\" type=\"s:boolean\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"ResponseText\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"State\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"City\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"WeatherStationCity\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"ForecastResult\" type=\"tns:ArrayOfForecast\" />\r\n    </s:sequence>\r\n  </s:complexType>\r\n  <s:complexType name=\"ArrayOfForecast\">\r\n    <s:sequence>\r\n      <s:element minOccurs=\"0\" maxOccurs=\"unbounded\" name=\"Forecast\" nillable=\"true\" type=\"tns:Forecast\" />\r\n    </s:sequence>\r\n  </s:complexType>\r\n  <s:complexType name=\"Forecast\">\r\n    <s:sequence>\r\n      <s:element minOccurs=\"1\" maxOccurs=\"1\" name=\"Date\" type=\"s:dateTime\" />\r\n      <s:element minOccurs=\"1\" maxOccurs=\"1\" name=\"WeatherID\" type=\"s:short\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Desciption\" type=\"s:string\" />\r\n      <s:element minOccurs=\"1\" maxOccurs=\"1\" name=\"Temperatures\" type=\"tns:temp\" />\r\n      <s:element minOccurs=\"1\" maxOccurs=\"1\" name=\"ProbabilityOfPrecipiation\" type=\"tns:POP\" />\r\n    </s:sequence>\r\n  </s:complexType>\r\n  <s:complexType name=\"temp\">\r\n    <s:sequence>\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"MorningLow\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"DaytimeHigh\" type=\"s:string\" />\r\n    </s:sequence>\r\n  </s:complexType>\r\n  <s:complexType name=\"POP\">\r\n    <s:sequence>\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Nighttime\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Daytime\" type=\"s:string\" />\r\n    </s:sequence>\r\n  </s:complexType>\r\n  <s:element name=\"GetCityWeatherByZIP\">\r\n    <s:complexType>\r\n      <s:sequence>\r\n        <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"ZIP\" type=\"s:string\" />\r\n      </s:sequence>\r\n    </s:complexType>\r\n  </s:element>\r\n  <s:element name=\"GetCityWeatherByZIPResponse\">\r\n    <s:complexType>\r\n      <s:sequence>\r\n        <s:element minOccurs=\"1\" maxOccurs=\"1\" name=\"GetCityWeatherByZIPResult\" type=\"tns:WeatherReturn\" />\r\n      </s:sequence>\r\n    </s:complexType>\r\n  </s:element>\r\n  <s:complexType name=\"WeatherReturn\">\r\n    <s:sequence>\r\n      <s:element minOccurs=\"1\" maxOccurs=\"1\" name=\"Success\" type=\"s:boolean\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"ResponseText\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"State\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"City\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"WeatherStationCity\" type=\"s:string\" />\r\n      <s:element minOccurs=\"1\" maxOccurs=\"1\" name=\"WeatherID\" type=\"s:short\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Description\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Temperature\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"RelativeHumidity\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Wind\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Pressure\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Visibility\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"WindChill\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Remarks\" type=\"s:string\" />\r\n    </s:sequence>\r\n  </s:complexType>\r\n  <s:element name=\"ArrayOfWeatherDescription\" nillable=\"true\" type=\"tns:ArrayOfWeatherDescription\" />\r\n  <s:element name=\"ForecastReturn\" nillable=\"true\" type=\"tns:ForecastReturn\" />\r\n  <s:element name=\"WeatherReturn\" type=\"tns:WeatherReturn\" />\r\n</s:schema>"
                    }
                  },
                  "type": "Microsoft.ApiManagement/service/apis/schemas"
                }
              },
              "201": {
                "body": {
                  "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/59d6bb8f1f7fab13dc67ec9b/schemas/ec12520d-9d48-4e7b-8f39-698ca2ac63f1",
                  "name": "ec12520d-9d48-4e7b-8f39-698ca2ac63f1",
                  "properties": {
                    "contentType": "application/vnd.ms-azure-apim.xsd+xml",
                    "document": {
                      "value": "<s:schema elementFormDefault=\"qualified\" targetNamespace=\"http://ws.cdyne.com/WeatherWS/\" xmlns:tns=\"http://ws.cdyne.com/WeatherWS/\" xmlns:s=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap12=\"http://schemas.xmlsoap.org/wsdl/soap12/\" xmlns:mime=\"http://schemas.xmlsoap.org/wsdl/mime/\" xmlns:soap=\"http://schemas.xmlsoap.org/wsdl/soap/\" xmlns:tm=\"http://microsoft.com/wsdl/mime/textMatching/\" xmlns:http=\"http://schemas.xmlsoap.org/wsdl/http/\" xmlns:soapenc=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:wsdl=\"http://schemas.xmlsoap.org/wsdl/\" xmlns:apim-wsdltns=\"http://ws.cdyne.com/WeatherWS/\">\r\n  <s:element name=\"GetWeatherInformation\">\r\n    <s:complexType />\r\n  </s:element>\r\n  <s:element name=\"GetWeatherInformationResponse\">\r\n    <s:complexType>\r\n      <s:sequence>\r\n        <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"GetWeatherInformationResult\" type=\"tns:ArrayOfWeatherDescription\" />\r\n      </s:sequence>\r\n    </s:complexType>\r\n  </s:element>\r\n  <s:complexType name=\"ArrayOfWeatherDescription\">\r\n    <s:sequence>\r\n      <s:element minOccurs=\"0\" maxOccurs=\"unbounded\" name=\"WeatherDescription\" type=\"tns:WeatherDescription\" />\r\n    </s:sequence>\r\n  </s:complexType>\r\n  <s:complexType name=\"WeatherDescription\">\r\n    <s:sequence>\r\n      <s:element minOccurs=\"1\" maxOccurs=\"1\" name=\"WeatherID\" type=\"s:short\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Description\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"PictureURL\" type=\"s:string\" />\r\n    </s:sequence>\r\n  </s:complexType>\r\n  <s:element name=\"GetCityForecastByZIP\">\r\n    <s:complexType>\r\n      <s:sequence>\r\n        <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"ZIP\" type=\"s:string\" />\r\n      </s:sequence>\r\n    </s:complexType>\r\n  </s:element>\r\n  <s:element name=\"GetCityForecastByZIPResponse\">\r\n    <s:complexType>\r\n      <s:sequence>\r\n        <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"GetCityForecastByZIPResult\" type=\"tns:ForecastReturn\" />\r\n      </s:sequence>\r\n    </s:complexType>\r\n  </s:element>\r\n  <s:complexType name=\"ForecastReturn\">\r\n    <s:sequence>\r\n      <s:element minOccurs=\"1\" maxOccurs=\"1\" name=\"Success\" type=\"s:boolean\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"ResponseText\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"State\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"City\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"WeatherStationCity\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"ForecastResult\" type=\"tns:ArrayOfForecast\" />\r\n    </s:sequence>\r\n  </s:complexType>\r\n  <s:complexType name=\"ArrayOfForecast\">\r\n    <s:sequence>\r\n      <s:element minOccurs=\"0\" maxOccurs=\"unbounded\" name=\"Forecast\" nillable=\"true\" type=\"tns:Forecast\" />\r\n    </s:sequence>\r\n  </s:complexType>\r\n  <s:complexType name=\"Forecast\">\r\n    <s:sequence>\r\n      <s:element minOccurs=\"1\" maxOccurs=\"1\" name=\"Date\" type=\"s:dateTime\" />\r\n      <s:element minOccurs=\"1\" maxOccurs=\"1\" name=\"WeatherID\" type=\"s:short\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Desciption\" type=\"s:string\" />\r\n      <s:element minOccurs=\"1\" maxOccurs=\"1\" name=\"Temperatures\" type=\"tns:temp\" />\r\n      <s:element minOccurs=\"1\" maxOccurs=\"1\" name=\"ProbabilityOfPrecipiation\" type=\"tns:POP\" />\r\n    </s:sequence>\r\n  </s:complexType>\r\n  <s:complexType name=\"temp\">\r\n    <s:sequence>\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"MorningLow\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"DaytimeHigh\" type=\"s:string\" />\r\n    </s:sequence>\r\n  </s:complexType>\r\n  <s:complexType name=\"POP\">\r\n    <s:sequence>\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Nighttime\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Daytime\" type=\"s:string\" />\r\n    </s:sequence>\r\n  </s:complexType>\r\n  <s:element name=\"GetCityWeatherByZIP\">\r\n    <s:complexType>\r\n      <s:sequence>\r\n        <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"ZIP\" type=\"s:string\" />\r\n      </s:sequence>\r\n    </s:complexType>\r\n  </s:element>\r\n  <s:element name=\"GetCityWeatherByZIPResponse\">\r\n    <s:complexType>\r\n      <s:sequence>\r\n        <s:element minOccurs=\"1\" maxOccurs=\"1\" name=\"GetCityWeatherByZIPResult\" type=\"tns:WeatherReturn\" />\r\n      </s:sequence>\r\n    </s:complexType>\r\n  </s:element>\r\n  <s:complexType name=\"WeatherReturn\">\r\n    <s:sequence>\r\n      <s:element minOccurs=\"1\" maxOccurs=\"1\" name=\"Success\" type=\"s:boolean\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"ResponseText\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"State\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"City\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"WeatherStationCity\" type=\"s:string\" />\r\n      <s:element minOccurs=\"1\" maxOccurs=\"1\" name=\"WeatherID\" type=\"s:short\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Description\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Temperature\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"RelativeHumidity\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Wind\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Pressure\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Visibility\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"WindChill\" type=\"s:string\" />\r\n      <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Remarks\" type=\"s:string\" />\r\n    </s:sequence>\r\n  </s:complexType>\r\n  <s:element name=\"ArrayOfWeatherDescription\" nillable=\"true\" type=\"tns:ArrayOfWeatherDescription\" />\r\n  <s:element name=\"ForecastReturn\" nillable=\"true\" type=\"tns:ForecastReturn\" />\r\n  <s:element name=\"WeatherReturn\" type=\"tns:WeatherReturn\" />\r\n</s:schema>"
                    }
                  },
                  "type": "Microsoft.ApiManagement/service/apis/schemas"
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apisByTags": {
      "get": {
        "description": "Lists a collection of apis associated with tags.",
        "operationId": "Api_ListByTags",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "| Field       | Supported operators    | Supported functions                         |\n|-------------|------------------------|---------------------------------------------|\n| id          | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| name        | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| aid         | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| apiRevision | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| path        | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| description | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| serviceUrl  | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| isCurrent   | eq                     | substringof, contains, startswith, endswith |",
            "in": "query",
            "name": "$filter",
            "required": false,
            "type": "string"
          },
          {
            "description": "Number of records to return.",
            "format": "int32",
            "in": "query",
            "minimum": 1,
            "name": "$top",
            "required": false,
            "type": "integer",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "Number of records to skip.",
            "format": "int32",
            "in": "query",
            "minimum": 0,
            "name": "$skip",
            "required": false,
            "type": "integer",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Lists a collection of TagResource entities.",
            "schema": {
              "description": "Paged Tag list representation.",
              "properties": {
                "nextLink": {
                  "description": "Next page link if any.",
                  "type": "string"
                },
                "value": {
                  "description": "Page values.",
                  "items": {
                    "allOf": [
                      {
                        "description": "The Resource definition.",
                        "properties": {
                          "id": {
                            "description": "Resource ID.",
                            "readOnly": true,
                            "type": "string"
                          },
                          "name": {
                            "description": "Resource name.",
                            "readOnly": true,
                            "type": "string"
                          },
                          "type": {
                            "description": "Resource type for API Management resource.",
                            "readOnly": true,
                            "type": "string"
                          }
                        },
                        "x-ms-azure-resource": true
                      }
                    ],
                    "description": "Contract details.",
                    "properties": {
                      "properties": {
                        "description": "TagResource contract properties.",
                        "properties": {
                          "api": {
                            "allOf": [
                              {
                                "description": "The Resource definition.",
                                "properties": {
                                  "id": {
                                    "description": "Resource ID.",
                                    "readOnly": true,
                                    "type": "string"
                                  },
                                  "name": {
                                    "description": "Resource name.",
                                    "readOnly": true,
                                    "type": "string"
                                  },
                                  "type": {
                                    "description": "Resource type for API Management resource.",
                                    "readOnly": true,
                                    "type": "string"
                                  }
                                },
                                "x-ms-azure-resource": true
                              }
                            ],
                            "description": "API details.",
                            "properties": {
                              "properties": {
                                "allOf": [
                                  {
                                    "description": "API base contract details.",
                                    "properties": {
                                      "apiRevision": {
                                        "description": "Describes the Revision of the Api. If no value is provided, default revision 1 is created",
                                        "maxLength": 100,
                                        "minLength": 1,
                                        "type": "string"
                                      },
                                      "apiVersion": {
                                        "description": "Indicates the Version identifier of the API if the API is versioned",
                                        "maxLength": 100,
                                        "type": "string"
                                      },
                                      "apiVersionSetId": {
                                        "description": "A resource identifier for the related ApiVersionSet.",
                                        "type": "string"
                                      },
                                      "authenticationSettings": {
                                        "description": "API Authentication Settings.",
                                        "properties": {
                                          "oAuth2": {
                                            "description": "API OAuth2 Authentication settings details.",
                                            "properties": {
                                              "authorizationServerId": {
                                                "description": "OAuth authorization server identifier.",
                                                "type": "string"
                                              },
                                              "scope": {
                                                "description": "operations scope.",
                                                "type": "string"
                                              }
                                            }
                                          }
                                        }
                                      },
                                      "description": {
                                        "description": "Description of the API. May include HTML formatting tags.",
                                        "type": "string"
                                      },
                                      "isCurrent": {
                                        "description": "Indicates if API revision is current api revision.",
                                        "readOnly": true,
                                        "type": "boolean"
                                      },
                                      "isOnline": {
                                        "description": "Indicates if API revision is accessible via the gateway.",
                                        "readOnly": true,
                                        "type": "boolean"
                                      },
                                      "subscriptionKeyParameterNames": {
                                        "description": "Subscription key parameter names details.",
                                        "example": {
                                          "subscriptionKeyParameterNames": {
                                            "header": "customHeaderParameterName",
                                            "query": "customQueryParameterName"
                                          }
                                        },
                                        "properties": {
                                          "header": {
                                            "description": "Subscription key header name.",
                                            "type": "string"
                                          },
                                          "query": {
                                            "description": "Subscription key query string parameter name.",
                                            "type": "string"
                                          }
                                        }
                                      },
                                      "type": {
                                        "description": "Type of API.",
                                        "enum": [
                                          "http",
                                          "soap"
                                        ],
                                        "type": "string",
                                        "x-ms-client-name": "ApiType",
                                        "x-ms-enum": {
                                          "modelAsString": true,
                                          "name": "ApiType"
                                        }
                                      }
                                    }
                                  }
                                ],
                                "description": "Api Entity Properties",
                                "properties": {
                                  "apiVersionSet": {
                                    "allOf": [
                                      {
                                        "description": "The Resource definition.",
                                        "properties": {
                                          "id": {
                                            "description": "Resource ID.",
                                            "readOnly": true,
                                            "type": "string"
                                          },
                                          "name": {
                                            "description": "Resource name.",
                                            "readOnly": true,
                                            "type": "string"
                                          },
                                          "type": {
                                            "description": "Resource type for API Management resource.",
                                            "readOnly": true,
                                            "type": "string"
                                          }
                                        },
                                        "x-ms-azure-resource": true
                                      }
                                    ],
                                    "description": "Api Version Set Contract details.",
                                    "properties": {
                                      "properties": {
                                        "allOf": [
                                          {
                                            "properties": {
                                              "description": {
                                                "description": "Description of API Version Set.",
                                                "type": "string"
                                              },
                                              "versionHeaderName": {
                                                "description": "Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`.",
                                                "maxLength": 100,
                                                "minLength": 1,
                                                "type": "string"
                                              },
                                              "versionQueryName": {
                                                "description": "Name of query parameter that indicates the API Version if versioningScheme is set to `query`.",
                                                "maxLength": 100,
                                                "minLength": 1,
                                                "type": "string"
                                              }
                                            }
                                          }
                                        ],
                                        "description": "Properties of an API Version Set.",
                                        "properties": {
                                          "displayName": {
                                            "description": "Name of API Version Set",
                                            "maxLength": 100,
                                            "minLength": 1,
                                            "type": "string"
                                          },
                                          "versioningScheme": {
                                            "description": "An value that determines where the API Version identifer will be located in a HTTP request.",
                                            "enum": [
                                              "Segment",
                                              "Query",
                                              "Header"
                                            ],
                                            "type": "string",
                                            "x-ms-enum": {
                                              "modelAsString": true,
                                              "name": "versioningScheme",
                                              "values": [
                                                {
                                                  "description": "The API Version is passed in a path segment.",
                                                  "value": "Segment"
                                                },
                                                {
                                                  "description": "The API Version is passed in a query parameter.",
                                                  "value": "Query"
                                                },
                                                {
                                                  "description": "The API Version is passed in a HTTP header.",
                                                  "value": "Header"
                                                }
                                              ]
                                            }
                                          }
                                        },
                                        "required": [
                                          "displayName",
                                          "versioningScheme"
                                        ]
                                      }
                                    }
                                  },
                                  "displayName": {
                                    "description": "API name.",
                                    "maxLength": 300,
                                    "minLength": 1,
                                    "type": "string"
                                  },
                                  "path": {
                                    "description": "Relative URL uniquely identifying this API and all of its resource paths within the API Management service instance. It is appended to the API endpoint base URL specified during the service instance creation to form a public URL for this API.",
                                    "maxLength": 400,
                                    "minLength": 0,
                                    "type": "string"
                                  },
                                  "protocols": {
                                    "description": "Describes on which protocols the operations in this API can be invoked.",
                                    "items": {
                                      "enum": [
                                        "http",
                                        "https"
                                      ],
                                      "type": "string",
                                      "x-ms-enum": {
                                        "modelAsString": false,
                                        "name": "Protocol"
                                      }
                                    },
                                    "type": "array"
                                  },
                                  "serviceUrl": {
                                    "description": "Absolute URL of the backend service implementing this API.",
                                    "maxLength": 2000,
                                    "minLength": 1,
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "path"
                                ]
                              }
                            }
                          },
                          "operation": {
                            "allOf": [
                              {
                                "description": "The Resource definition.",
                                "properties": {
                                  "id": {
                                    "description": "Resource ID.",
                                    "readOnly": true,
                                    "type": "string"
                                  },
                                  "name": {
                                    "description": "Resource name.",
                                    "readOnly": true,
                                    "type": "string"
                                  },
                                  "type": {
                                    "description": "Resource type for API Management resource.",
                                    "readOnly": true,
                                    "type": "string"
                                  }
                                },
                                "x-ms-azure-resource": true
                              }
                            ],
                            "description": "Operation Entity Contract Properties.",
                            "properties": {
                              "properties": {
                                "description": "Operation Entity contract Properties.",
                                "properties": {
                                  "apiName": {
                                    "description": "Api Name.",
                                    "readOnly": true,
                                    "type": "string"
                                  },
                                  "apiRevision": {
                                    "description": "Api Revision.",
                                    "readOnly": true,
                                    "type": "string"
                                  },
                                  "apiVersion": {
                                    "description": "Api Version.",
                                    "readOnly": true,
                                    "type": "string"
                                  },
                                  "description": {
                                    "description": "Operation Description.",
                                    "readOnly": true,
                                    "type": "string"
                                  },
                                  "displayName": {
                                    "description": "Operation name.",
                                    "readOnly": true,
                                    "type": "string"
                                  },
                                  "method": {
                                    "description": "A Valid HTTP Operation Method. Typical Http Methods like GET, PUT, POST but not limited by only them.",
                                    "externalDocs": {
                                      "description": "As defined by RFC.",
                                      "url": "http://www.rfc-editor.org/rfc/rfc7230.txt"
                                    },
                                    "readOnly": true,
                                    "type": "string"
                                  },
                                  "urlTemplate": {
                                    "description": "Relative URL template identifying the target resource for this operation. May include parameters. Example: /customers/{cid}/orders/{oid}/?date={date}",
                                    "readOnly": true,
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "product": {
                            "allOf": [
                              {
                                "description": "The Resource definition.",
                                "properties": {
                                  "id": {
                                    "description": "Resource ID.",
                                    "readOnly": true,
                                    "type": "string"
                                  },
                                  "name": {
                                    "description": "Resource name.",
                                    "readOnly": true,
                                    "type": "string"
                                  },
                                  "type": {
                                    "description": "Resource type for API Management resource.",
                                    "readOnly": true,
                                    "type": "string"
                                  }
                                },
                                "x-ms-azure-resource": true
                              }
                            ],
                            "description": "Product details.",
                            "properties": {
                              "properties": {
                                "allOf": [
                                  {
                                    "description": "Product Entity Base Parameters",
                                    "properties": {
                                      "approvalRequired": {
                                        "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of true.",
                                        "type": "boolean"
                                      },
                                      "description": {
                                        "description": "Product description. May include HTML formatting tags.",
                                        "maxLength": 1000,
                                        "minLength": 1,
                                        "type": "string"
                                      },
                                      "state": {
                                        "description": "whether product is published or not. Published products are discoverable by users of developer portal. Non published products are visible only to administrators. Default state of Product is notPublished.",
                                        "enum": [
                                          "notPublished",
                                          "published"
                                        ],
                                        "type": "string",
                                        "x-ms-enum": {
                                          "modelAsString": false,
                                          "name": "ProductState"
                                        }
                                      },
                                      "subscriptionRequired": {
                                        "description": "Whether a product subscription is required for accessing APIs included in this product. If true, the product is referred to as \"protected\" and a valid subscription key is required for a request to an API included in the product to succeed. If false, the product is referred to as \"open\" and requests to an API included in the product can be made without a subscription key. If property is omitted when creating a new product it's value is assumed to be true.",
                                        "type": "boolean"
                                      },
                                      "subscriptionsLimit": {
                                        "description": "Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of true.",
                                        "format": "int32",
                                        "type": "integer"
                                      },
                                      "terms": {
                                        "description": "Product terms of use. Developers trying to subscribe to the product will be presented and required to accept these terms before they can complete the subscription process.",
                                        "type": "string"
                                      }
                                    }
                                  }
                                ],
                                "description": "Product profile.",
                                "properties": {
                                  "displayName": {
                                    "description": "Product name.",
                                    "maxLength": 300,
                                    "minLength": 1,
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "displayName"
                                ]
                              }
                            }
                          },
                          "tag": {
                            "allOf": [
                              {
                                "description": "The Resource definition.",
                                "properties": {
                                  "id": {
                                    "description": "Resource ID.",
                                    "readOnly": true,
                                    "type": "string"
                                  },
                                  "name": {
                                    "description": "Resource name.",
                                    "readOnly": true,
                                    "type": "string"
                                  },
                                  "type": {
                                    "description": "Resource type for API Management resource.",
                                    "readOnly": true,
                                    "type": "string"
                                  }
                                },
                                "x-ms-azure-resource": true
                              }
                            ],
                            "description": "Tag Contract details.",
                            "properties": {
                              "properties": {
                                "description": "Tag contract Properties.",
                                "properties": {
                                  "displayName": {
                                    "description": "Tag name.",
                                    "maxLength": 160,
                                    "minLength": 1,
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "displayName"
                                ]
                              }
                            }
                          }
                        }
                      }
                    }
                  },
                  "type": "array"
                }
              }
            }
          }
        },
        "tags": [
          "ApisByTags"
        ],
        "x-ms-examples": {
          "ApiManagementListApisByTags": {
            "parameters": {
              "api-version": "2017-03-01",
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "nextLink": "",
                  "value": [
                    {
                      "properties": {
                        "api": {
                          "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api",
                          "name": "echo-api",
                          "properties": {
                            "apiRevision": "1",
                            "displayName": "Echo API",
                            "isCurrent": true,
                            "isOnline": true,
                            "path": "echo",
                            "protocols": [
                              "https"
                            ],
                            "serviceUrl": "http://echoapi.cloudapp.net/api"
                          },
                          "type": "Microsoft.ApiManagement/service/apis"
                        },
                        "tag": {
                          "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/5600b59375ff190048020002",
                          "name": "5600b59375ff190048020002",
                          "properties": {
                            "displayName": "tag2"
                          },
                          "type": "Microsoft.ApiManagement/service/tags"
                        }
                      }
                    },
                    {
                      "properties": {
                        "api": {
                          "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api2",
                          "name": "echo-api2",
                          "properties": {
                            "apiRevision": "1",
                            "displayName": "Echo API2",
                            "isCurrent": true,
                            "isOnline": true,
                            "path": "echo2",
                            "protocols": [
                              "https"
                            ],
                            "serviceUrl": "http://echoapi.cloudapp.net/api"
                          },
                          "type": "Microsoft.ApiManagement/service/apis"
                        },
                        "tag": {
                          "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/5600b59375ff190048020002",
                          "name": "5600b59375ff190048020002",
                          "properties": {
                            "displayName": "tag2"
                          },
                          "type": "Microsoft.ApiManagement/service/tags"
                        }
                      }
                    },
                    {
                      "properties": {
                        "api": {
                          "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api",
                          "name": "echo-api",
                          "properties": {
                            "apiRevision": "1",
                            "displayName": "Echo API",
                            "isCurrent": true,
                            "isOnline": true,
                            "path": "echo",
                            "protocols": [
                              "https"
                            ],
                            "serviceUrl": "http://echoapi.cloudapp.net/api"
                          },
                          "type": "Microsoft.ApiManagement/service/apis"
                        },
                        "tag": {
                          "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/5600b59375ff190048020001",
                          "name": "5600b59375ff190048020001",
                          "properties": {
                            "displayName": "tag1"
                          },
                          "type": "Microsoft.ApiManagement/service/tags"
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-odata": "./apimtagresources.json#/definitions/TagResourceContract",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    }
  },
  "definitions": {
    "ApiCollection": {
      "description": "Paged Api list representation.",
      "properties": {
        "nextLink": {
          "description": "Next page link if any.",
          "readOnly": true,
          "type": "string"
        },
        "value": {
          "description": "Page values.",
          "items": {
            "$ref": "#/definitions/ApiContract"
          },
          "readOnly": true,
          "type": "array"
        }
      }
    },
    "ApiContract": {
      "allOf": [
        {
          "description": "The Resource definition.",
          "properties": {
            "id": {
              "description": "Resource ID.",
              "readOnly": true,
              "type": "string"
            },
            "name": {
              "description": "Resource name.",
              "readOnly": true,
              "type": "string"
            },
            "type": {
              "description": "Resource type for API Management resource.",
              "readOnly": true,
              "type": "string"
            }
          },
          "x-ms-azure-resource": true
        }
      ],
      "description": "API details.",
      "properties": {
        "properties": {
          "allOf": [
            {
              "description": "API base contract details.",
              "properties": {
                "apiRevision": {
                  "description": "Describes the Revision of the Api. If no value is provided, default revision 1 is created",
                  "maxLength": 100,
                  "minLength": 1,
                  "type": "string"
                },
                "apiVersion": {
                  "description": "Indicates the Version identifier of the API if the API is versioned",
                  "maxLength": 100,
                  "type": "string"
                },
                "apiVersionSetId": {
                  "description": "A resource identifier for the related ApiVersionSet.",
                  "type": "string"
                },
                "authenticationSettings": {
                  "description": "API Authentication Settings.",
                  "properties": {
                    "oAuth2": {
                      "description": "API OAuth2 Authentication settings details.",
                      "properties": {
                        "authorizationServerId": {
                          "description": "OAuth authorization server identifier.",
                          "type": "string"
                        },
                        "scope": {
                          "description": "operations scope.",
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "description": {
                  "description": "Description of the API. May include HTML formatting tags.",
                  "type": "string"
                },
                "isCurrent": {
                  "description": "Indicates if API revision is current api revision.",
                  "readOnly": true,
                  "type": "boolean"
                },
                "isOnline": {
                  "description": "Indicates if API revision is accessible via the gateway.",
                  "readOnly": true,
                  "type": "boolean"
                },
                "subscriptionKeyParameterNames": {
                  "description": "Subscription key parameter names details.",
                  "example": {
                    "subscriptionKeyParameterNames": {
                      "header": "customHeaderParameterName",
                      "query": "customQueryParameterName"
                    }
                  },
                  "properties": {
                    "header": {
                      "description": "Subscription key header name.",
                      "type": "string"
                    },
                    "query": {
                      "description": "Subscription key query string parameter name.",
                      "type": "string"
                    }
                  }
                },
                "type": {
                  "description": "Type of API.",
                  "enum": [
                    "http",
                    "soap"
                  ],
                  "type": "string",
                  "x-ms-client-name": "ApiType",
                  "x-ms-enum": {
                    "modelAsString": true,
                    "name": "ApiType"
                  }
                }
              }
            }
          ],
          "description": "Api Entity Properties",
          "properties": {
            "apiVersionSet": {
              "allOf": [
                {
                  "description": "The Resource definition.",
                  "properties": {
                    "id": {
                      "description": "Resource ID.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "name": {
                      "description": "Resource name.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "type": {
                      "description": "Resource type for API Management resource.",
                      "readOnly": true,
                      "type": "string"
                    }
                  },
                  "x-ms-azure-resource": true
                }
              ],
              "description": "Api Version Set Contract details.",
              "properties": {
                "properties": {
                  "allOf": [
                    {
                      "properties": {
                        "description": {
                          "description": "Description of API Version Set.",
                          "type": "string"
                        },
                        "versionHeaderName": {
                          "description": "Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`.",
                          "maxLength": 100,
                          "minLength": 1,
                          "type": "string"
                        },
                        "versionQueryName": {
                          "description": "Name of query parameter that indicates the API Version if versioningScheme is set to `query`.",
                          "maxLength": 100,
                          "minLength": 1,
                          "type": "string"
                        }
                      }
                    }
                  ],
                  "description": "Properties of an API Version Set.",
                  "properties": {
                    "displayName": {
                      "description": "Name of API Version Set",
                      "maxLength": 100,
                      "minLength": 1,
                      "type": "string"
                    },
                    "versioningScheme": {
                      "description": "An value that determines where the API Version identifer will be located in a HTTP request.",
                      "enum": [
                        "Segment",
                        "Query",
                        "Header"
                      ],
                      "type": "string",
                      "x-ms-enum": {
                        "modelAsString": true,
                        "name": "versioningScheme",
                        "values": [
                          {
                            "description": "The API Version is passed in a path segment.",
                            "value": "Segment"
                          },
                          {
                            "description": "The API Version is passed in a query parameter.",
                            "value": "Query"
                          },
                          {
                            "description": "The API Version is passed in a HTTP header.",
                            "value": "Header"
                          }
                        ]
                      }
                    }
                  },
                  "required": [
                    "displayName",
                    "versioningScheme"
                  ]
                }
              }
            },
            "displayName": {
              "description": "API name.",
              "maxLength": 300,
              "minLength": 1,
              "type": "string"
            },
            "path": {
              "description": "Relative URL uniquely identifying this API and all of its resource paths within the API Management service instance. It is appended to the API endpoint base URL specified during the service instance creation to form a public URL for this API.",
              "maxLength": 400,
              "minLength": 0,
              "type": "string"
            },
            "protocols": {
              "description": "Describes on which protocols the operations in this API can be invoked.",
              "items": {
                "enum": [
                  "http",
                  "https"
                ],
                "type": "string",
                "x-ms-enum": {
                  "modelAsString": false,
                  "name": "Protocol"
                }
              },
              "type": "array"
            },
            "serviceUrl": {
              "description": "Absolute URL of the backend service implementing this API.",
              "maxLength": 2000,
              "minLength": 1,
              "type": "string"
            }
          },
          "required": [
            "path"
          ]
        }
      }
    },
    "ApiContractProperties": {
      "allOf": [
        {
          "description": "API base contract details.",
          "properties": {
            "apiRevision": {
              "description": "Describes the Revision of the Api. If no value is provided, default revision 1 is created",
              "maxLength": 100,
              "minLength": 1,
              "type": "string"
            },
            "apiVersion": {
              "description": "Indicates the Version identifier of the API if the API is versioned",
              "maxLength": 100,
              "type": "string"
            },
            "apiVersionSetId": {
              "description": "A resource identifier for the related ApiVersionSet.",
              "type": "string"
            },
            "authenticationSettings": {
              "description": "API Authentication Settings.",
              "properties": {
                "oAuth2": {
                  "description": "API OAuth2 Authentication settings details.",
                  "properties": {
                    "authorizationServerId": {
                      "description": "OAuth authorization server identifier.",
                      "type": "string"
                    },
                    "scope": {
                      "description": "operations scope.",
                      "type": "string"
                    }
                  }
                }
              }
            },
            "description": {
              "description": "Description of the API. May include HTML formatting tags.",
              "type": "string"
            },
            "isCurrent": {
              "description": "Indicates if API revision is current api revision.",
              "readOnly": true,
              "type": "boolean"
            },
            "isOnline": {
              "description": "Indicates if API revision is accessible via the gateway.",
              "readOnly": true,
              "type": "boolean"
            },
            "subscriptionKeyParameterNames": {
              "description": "Subscription key parameter names details.",
              "example": {
                "subscriptionKeyParameterNames": {
                  "header": "customHeaderParameterName",
                  "query": "customQueryParameterName"
                }
              },
              "properties": {
                "header": {
                  "description": "Subscription key header name.",
                  "type": "string"
                },
                "query": {
                  "description": "Subscription key query string parameter name.",
                  "type": "string"
                }
              }
            },
            "type": {
              "description": "Type of API.",
              "enum": [
                "http",
                "soap"
              ],
              "type": "string",
              "x-ms-client-name": "ApiType",
              "x-ms-enum": {
                "modelAsString": true,
                "name": "ApiType"
              }
            }
          }
        }
      ],
      "description": "Api Entity Properties",
      "properties": {
        "apiVersionSet": {
          "allOf": [
            {
              "description": "The Resource definition.",
              "properties": {
                "id": {
                  "description": "Resource ID.",
                  "readOnly": true,
                  "type": "string"
                },
                "name": {
                  "description": "Resource name.",
                  "readOnly": true,
                  "type": "string"
                },
                "type": {
                  "description": "Resource type for API Management resource.",
                  "readOnly": true,
                  "type": "string"
                }
              },
              "x-ms-azure-resource": true
            }
          ],
          "description": "Api Version Set Contract details.",
          "properties": {
            "properties": {
              "allOf": [
                {
                  "properties": {
                    "description": {
                      "description": "Description of API Version Set.",
                      "type": "string"
                    },
                    "versionHeaderName": {
                      "description": "Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`.",
                      "maxLength": 100,
                      "minLength": 1,
                      "type": "string"
                    },
                    "versionQueryName": {
                      "description": "Name of query parameter that indicates the API Version if versioningScheme is set to `query`.",
                      "maxLength": 100,
                      "minLength": 1,
                      "type": "string"
                    }
                  }
                }
              ],
              "description": "Properties of an API Version Set.",
              "properties": {
                "displayName": {
                  "description": "Name of API Version Set",
                  "maxLength": 100,
                  "minLength": 1,
                  "type": "string"
                },
                "versioningScheme": {
                  "description": "An value that determines where the API Version identifer will be located in a HTTP request.",
                  "enum": [
                    "Segment",
                    "Query",
                    "Header"
                  ],
                  "type": "string",
                  "x-ms-enum": {
                    "modelAsString": true,
                    "name": "versioningScheme",
                    "values": [
                      {
                        "description": "The API Version is passed in a path segment.",
                        "value": "Segment"
                      },
                      {
                        "description": "The API Version is passed in a query parameter.",
                        "value": "Query"
                      },
                      {
                        "description": "The API Version is passed in a HTTP header.",
                        "value": "Header"
                      }
                    ]
                  }
                }
              },
              "required": [
                "displayName",
                "versioningScheme"
              ]
            }
          }
        },
        "displayName": {
          "description": "API name.",
          "maxLength": 300,
          "minLength": 1,
          "type": "string"
        },
        "path": {
          "description": "Relative URL uniquely identifying this API and all of its resource paths within the API Management service instance. It is appended to the API endpoint base URL specified during the service instance creation to form a public URL for this API.",
          "maxLength": 400,
          "minLength": 0,
          "type": "string"
        },
        "protocols": {
          "description": "Describes on which protocols the operations in this API can be invoked.",
          "items": {
            "enum": [
              "http",
              "https"
            ],
            "type": "string",
            "x-ms-enum": {
              "modelAsString": false,
              "name": "Protocol"
            }
          },
          "type": "array"
        },
        "serviceUrl": {
          "description": "Absolute URL of the backend service implementing this API.",
          "maxLength": 2000,
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "path"
      ]
    },
    "ApiContractUpdateProperties": {
      "allOf": [
        {
          "$ref": "#/definitions/ApiEntityBaseContract"
        }
      ],
      "description": "API update contract properties.",
      "properties": {
        "displayName": {
          "description": "API name.",
          "maxLength": 300,
          "minLength": 1,
          "type": "string"
        },
        "path": {
          "description": "Relative URL uniquely identifying this API and all of its resource paths within the API Management service instance. It is appended to the API endpoint base URL specified during the service instance creation to form a public URL for this API.",
          "maxLength": 400,
          "minLength": 0,
          "type": "string"
        },
        "protocols": {
          "description": "Describes on which protocols the operations in this API can be invoked.",
          "items": {
            "enum": [
              "http",
              "https"
            ],
            "type": "string",
            "x-ms-enum": {
              "modelAsString": false,
              "name": "Protocol"
            }
          },
          "type": "array"
        },
        "serviceUrl": {
          "description": "Absolute URL of the backend service implementing this API.",
          "maxLength": 2000,
          "minLength": 1,
          "type": "string"
        }
      }
    },
    "ApiCreateOrUpdateParameter": {
      "description": "API Create or Update Parameters.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/ApiCreateOrUpdateProperties",
          "description": "Api entity create of update properties.",
          "x-ms-client-flatten": true
        }
      }
    },
    "ApiCreateOrUpdateProperties": {
      "allOf": [
        {
          "$ref": "#/definitions/ApiContractProperties"
        }
      ],
      "description": "Api Create or Update Properties.",
      "properties": {
        "contentFormat": {
          "description": "Format of the Content in which the API is getting imported.",
          "enum": [
            "wadl-xml",
            "wadl-link-json",
            "swagger-json",
            "swagger-link-json",
            "wsdl",
            "wsdl-link"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "ContentFormat",
            "values": [
              {
                "description": "The contents are inline and Content type is a WADL document.",
                "value": "wadl-xml"
              },
              {
                "description": "The WADL document is hosted on a publicly accessible internet address.",
                "value": "wadl-link-json"
              },
              {
                "description": "The contents are inline and Content Type is a OpenApi 2.0 Document.",
                "value": "swagger-json"
              },
              {
                "description": "The Open Api 2.0 document is hosted on a publicly accessible internet address.",
                "value": "swagger-link-json"
              },
              {
                "description": "The contents are inline and the document is a WSDL/Soap document.",
                "value": "wsdl"
              },
              {
                "description": "The WSDL document is hosted on a publicly accessible internet address.",
                "value": "wsdl-link"
              }
            ]
          }
        },
        "contentValue": {
          "description": "Content value when Importing an API.",
          "type": "string"
        },
        "wsdlSelector": {
          "description": "Criteria to limit import of WSDL to a subset of the document.",
          "properties": {
            "wsdlEndpointName": {
              "description": "Name of endpoint(port) to import from WSDL",
              "type": "string"
            },
            "wsdlServiceName": {
              "description": "Name of service to import from WSDL",
              "type": "string"
            }
          }
        }
      }
    },
    "ApiEntityBaseContract": {
      "description": "API base contract details.",
      "properties": {
        "apiRevision": {
          "description": "Describes the Revision of the Api. If no value is provided, default revision 1 is created",
          "maxLength": 100,
          "minLength": 1,
          "type": "string"
        },
        "apiVersion": {
          "description": "Indicates the Version identifier of the API if the API is versioned",
          "maxLength": 100,
          "type": "string"
        },
        "apiVersionSetId": {
          "description": "A resource identifier for the related ApiVersionSet.",
          "type": "string"
        },
        "authenticationSettings": {
          "description": "API Authentication Settings.",
          "properties": {
            "oAuth2": {
              "description": "API OAuth2 Authentication settings details.",
              "properties": {
                "authorizationServerId": {
                  "description": "OAuth authorization server identifier.",
                  "type": "string"
                },
                "scope": {
                  "description": "operations scope.",
                  "type": "string"
                }
              }
            }
          }
        },
        "description": {
          "description": "Description of the API. May include HTML formatting tags.",
          "type": "string"
        },
        "isCurrent": {
          "description": "Indicates if API revision is current api revision.",
          "readOnly": true,
          "type": "boolean"
        },
        "isOnline": {
          "description": "Indicates if API revision is accessible via the gateway.",
          "readOnly": true,
          "type": "boolean"
        },
        "subscriptionKeyParameterNames": {
          "description": "Subscription key parameter names details.",
          "example": {
            "subscriptionKeyParameterNames": {
              "header": "customHeaderParameterName",
              "query": "customQueryParameterName"
            }
          },
          "properties": {
            "header": {
              "description": "Subscription key header name.",
              "type": "string"
            },
            "query": {
              "description": "Subscription key query string parameter name.",
              "type": "string"
            }
          }
        },
        "type": {
          "description": "Type of API.",
          "enum": [
            "http",
            "soap"
          ],
          "type": "string",
          "x-ms-client-name": "ApiType",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "ApiType"
          }
        }
      }
    },
    "ApiExportResult": {
      "description": "API Export result Blob Uri.",
      "properties": {
        "link": {
          "description": "Link to the Storage Blob containing the result of the export operation. The Blob Uri is only valid for 5 minutes.",
          "type": "string"
        }
      }
    },
    "ApiReleaseCollection": {
      "description": "Paged Api Revision list representation.",
      "properties": {
        "nextLink": {
          "description": "Next page link if any.",
          "readOnly": true,
          "type": "string"
        },
        "value": {
          "description": "Page values.",
          "items": {
            "$ref": "#/definitions/ApiReleaseContract"
          },
          "readOnly": true,
          "type": "array"
        }
      }
    },
    "ApiReleaseContract": {
      "allOf": [
        {
          "description": "The Resource definition.",
          "properties": {
            "id": {
              "description": "Resource ID.",
              "readOnly": true,
              "type": "string"
            },
            "name": {
              "description": "Resource name.",
              "readOnly": true,
              "type": "string"
            },
            "type": {
              "description": "Resource type for API Management resource.",
              "readOnly": true,
              "type": "string"
            }
          },
          "x-ms-azure-resource": true
        }
      ],
      "description": "Api Release details.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/ApiReleaseContractProperties",
          "description": "Properties of the Api Release Contract.",
          "x-ms-client-flatten": true
        }
      }
    },
    "ApiReleaseContractProperties": {
      "description": "API Release details",
      "properties": {
        "apiId": {
          "description": "Identifier of the API the release belongs to.",
          "type": "string"
        },
        "createdDateTime": {
          "description": "The time the API was released. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard.",
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        },
        "notes": {
          "description": "Release Notes",
          "type": "string"
        },
        "updatedDateTime": {
          "description": "The time the API release was updated.",
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        }
      }
    },
    "ApiRevisionCollection": {
      "description": "Paged Api Revision list representation.",
      "properties": {
        "nextLink": {
          "description": "Next page link if any.",
          "type": "string"
        },
        "value": {
          "description": "Page values.",
          "items": {
            "$ref": "#/definitions/ApiRevisionContract"
          },
          "type": "array"
        }
      }
    },
    "ApiRevisionContract": {
      "allOf": [
        {
          "description": "The Resource definition.",
          "properties": {
            "id": {
              "description": "Resource ID.",
              "readOnly": true,
              "type": "string"
            },
            "name": {
              "description": "Resource name.",
              "readOnly": true,
              "type": "string"
            },
            "type": {
              "description": "Resource type for API Management resource.",
              "readOnly": true,
              "type": "string"
            }
          },
          "x-ms-azure-resource": true
        }
      ],
      "description": "Api Revision details.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/ApiRevisionContractProperties",
          "description": "Properties of the Api Revision Contract.",
          "x-ms-client-flatten": true
        }
      }
    },
    "ApiRevisionContractProperties": {
      "description": "Summary of revision metadata.",
      "properties": {
        "apiId": {
          "description": "Identifier of the API Revision.",
          "readOnly": true,
          "type": "string"
        },
        "apiRevision": {
          "description": "Revision number of API.",
          "maxLength": 100,
          "minLength": 1,
          "readOnly": true,
          "type": "string"
        },
        "createdDateTime": {
          "description": "The time the API Revision was created. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard.",
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        },
        "description": {
          "description": "Description of the API Revision.",
          "maxLength": 256,
          "readOnly": true,
          "type": "string"
        },
        "isCurrent": {
          "description": "Indicates if API revision is accessible via the gateway.",
          "readOnly": true,
          "type": "boolean"
        },
        "isOnline": {
          "description": "Indicates if API revision is the current api revision.",
          "readOnly": true,
          "type": "boolean"
        },
        "privateUrl": {
          "description": "Gateway URL for accessing the non-current API Revision.",
          "readOnly": true,
          "type": "string"
        },
        "updatedDateTime": {
          "description": "The time the API Revision were updated. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard.",
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        }
      }
    },
    "ApiRevisionInfoContract": {
      "description": "Object used to create an API Revision or Version based on an existing API Revision",
      "properties": {
        "apiRevisionDescription": {
          "description": "Description of new API Revision.",
          "maxLength": 256,
          "type": "string"
        },
        "apiVersionName": {
          "description": "Version identifier for the new API Version.",
          "maxLength": 100,
          "type": "string"
        },
        "apiVersionSet": {
          "allOf": [
            {
              "properties": {
                "description": {
                  "description": "Description of API Version Set.",
                  "type": "string"
                },
                "versionHeaderName": {
                  "description": "Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`.",
                  "maxLength": 100,
                  "minLength": 1,
                  "type": "string"
                },
                "versionQueryName": {
                  "description": "Name of query parameter that indicates the API Version if versioningScheme is set to `query`.",
                  "maxLength": 100,
                  "minLength": 1,
                  "type": "string"
                }
              }
            }
          ],
          "description": "Properties of an API Version Set.",
          "properties": {
            "displayName": {
              "description": "Name of API Version Set",
              "maxLength": 100,
              "minLength": 1,
              "type": "string"
            },
            "versioningScheme": {
              "description": "An value that determines where the API Version identifer will be located in a HTTP request.",
              "enum": [
                "Segment",
                "Query",
                "Header"
              ],
              "type": "string",
              "x-ms-enum": {
                "modelAsString": true,
                "name": "versioningScheme",
                "values": [
                  {
                    "description": "The API Version is passed in a path segment.",
                    "value": "Segment"
                  },
                  {
                    "description": "The API Version is passed in a query parameter.",
                    "value": "Query"
                  },
                  {
                    "description": "The API Version is passed in a HTTP header.",
                    "value": "Header"
                  }
                ]
              }
            }
          },
          "required": [
            "displayName",
            "versioningScheme"
          ]
        },
        "sourceApiId": {
          "description": "Resource identifier of API to be used to create the revision from.",
          "type": "string"
        }
      }
    },
    "ApiUpdateContract": {
      "description": "API update contract details.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/ApiContractUpdateProperties",
          "description": "Properties of the API entity that can be updated.",
          "x-ms-client-flatten": true
        }
      }
    },
    "AuthenticationSettingsContract": {
      "description": "API Authentication Settings.",
      "properties": {
        "oAuth2": {
          "description": "API OAuth2 Authentication settings details.",
          "properties": {
            "authorizationServerId": {
              "description": "OAuth authorization server identifier.",
              "type": "string"
            },
            "scope": {
              "description": "operations scope.",
              "type": "string"
            }
          }
        }
      }
    },
    "IssueAttachmentCollection": {
      "description": "Paged Issue Attachment list representation.",
      "properties": {
        "nextLink": {
          "description": "Next page link if any.",
          "readOnly": true,
          "type": "string"
        },
        "value": {
          "description": "Issue Attachment values.",
          "items": {
            "$ref": "#/definitions/IssueAttachmentContract"
          },
          "readOnly": true,
          "type": "array"
        }
      }
    },
    "IssueAttachmentContract": {
      "allOf": [
        {
          "description": "The Resource definition.",
          "properties": {
            "id": {
              "description": "Resource ID.",
              "readOnly": true,
              "type": "string"
            },
            "name": {
              "description": "Resource name.",
              "readOnly": true,
              "type": "string"
            },
            "type": {
              "description": "Resource type for API Management resource.",
              "readOnly": true,
              "type": "string"
            }
          },
          "x-ms-azure-resource": true
        }
      ],
      "description": "Issue Attachment Contract details.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/IssueAttachmentContractProperties",
          "description": "Properties of the Issue Attachment.",
          "x-ms-client-flatten": true
        }
      }
    },
    "IssueAttachmentContractProperties": {
      "description": "Issue Attachment contract Properties.",
      "properties": {
        "content": {
          "description": "An HTTP link or Base64-encoded binary data.",
          "type": "string"
        },
        "contentFormat": {
          "description": "Either 'link' if content is provided via an HTTP link or the MIME type of the Base64-encoded binary data provided in the 'content' property.",
          "type": "string"
        },
        "title": {
          "description": "Filename by which the binary data will be saved.",
          "type": "string"
        }
      },
      "required": [
        "title",
        "contentFormat",
        "content"
      ]
    },
    "IssueCollection": {
      "description": "Paged Issue list representation.",
      "properties": {
        "nextLink": {
          "description": "Next page link if any.",
          "readOnly": true,
          "type": "string"
        },
        "value": {
          "description": "Issue values.",
          "items": {
            "$ref": "#/definitions/IssueContract"
          },
          "readOnly": true,
          "type": "array"
        }
      }
    },
    "IssueCommentCollection": {
      "description": "Paged Issue Comment list representation.",
      "properties": {
        "nextLink": {
          "description": "Next page link if any.",
          "readOnly": true,
          "type": "string"
        },
        "value": {
          "description": "Issue Comment values.",
          "items": {
            "$ref": "#/definitions/IssueCommentContract"
          },
          "readOnly": true,
          "type": "array"
        }
      }
    },
    "IssueCommentContract": {
      "allOf": [
        {
          "description": "The Resource definition.",
          "properties": {
            "id": {
              "description": "Resource ID.",
              "readOnly": true,
              "type": "string"
            },
            "name": {
              "description": "Resource name.",
              "readOnly": true,
              "type": "string"
            },
            "type": {
              "description": "Resource type for API Management resource.",
              "readOnly": true,
              "type": "string"
            }
          },
          "x-ms-azure-resource": true
        }
      ],
      "description": "Issue Comment Contract details.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/IssueCommentContractProperties",
          "description": "Properties of the Issue Comment.",
          "x-ms-client-flatten": true
        }
      }
    },
    "IssueCommentContractProperties": {
      "description": "Issue Comment contract Properties.",
      "properties": {
        "createdDate": {
          "description": "Date and time when the comment was created.",
          "format": "date-time",
          "type": "string"
        },
        "text": {
          "description": "Comment text.",
          "type": "string"
        },
        "userId": {
          "description": "A resource identifier for the user who left the comment.",
          "type": "string"
        }
      },
      "required": [
        "text",
        "userId"
      ]
    },
    "IssueContract": {
      "allOf": [
        {
          "description": "The Resource definition.",
          "properties": {
            "id": {
              "description": "Resource ID.",
              "readOnly": true,
              "type": "string"
            },
            "name": {
              "description": "Resource name.",
              "readOnly": true,
              "type": "string"
            },
            "type": {
              "description": "Resource type for API Management resource.",
              "readOnly": true,
              "type": "string"
            }
          },
          "x-ms-azure-resource": true
        }
      ],
      "description": "Issue Contract details.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/IssueContractProperties",
          "description": "Properties of the Issue.",
          "x-ms-client-flatten": true
        }
      }
    },
    "IssueContractProperties": {
      "description": "Issue contract Properties.",
      "properties": {
        "apiId": {
          "description": "A resource identifier for the API the issue was created for.",
          "type": "string"
        },
        "createdDate": {
          "description": "Date and time when the issue was created.",
          "format": "date-time",
          "type": "string"
        },
        "description": {
          "description": "Text describing the issue.",
          "type": "string"
        },
        "state": {
          "description": "Status of the issue.",
          "enum": [
            "proposed",
            "open",
            "removed",
            "resolved",
            "closed"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "State",
            "values": [
              {
                "description": "The issue is proposed.",
                "value": "proposed"
              },
              {
                "description": "The issue is opened.",
                "value": "open"
              },
              {
                "description": "The issue was removed.",
                "value": "removed"
              },
              {
                "description": "The issue is now resolved.",
                "value": "resolved"
              },
              {
                "description": "The issue was closed.",
                "value": "closed"
              }
            ]
          }
        },
        "title": {
          "description": "The issue title.",
          "type": "string"
        },
        "userId": {
          "description": "A resource identifier for the user created the issue.",
          "type": "string"
        }
      },
      "required": [
        "title",
        "description",
        "userId"
      ]
    },
    "OAuth2AuthenticationSettingsContract": {
      "description": "API OAuth2 Authentication settings details.",
      "properties": {
        "authorizationServerId": {
          "description": "OAuth authorization server identifier.",
          "type": "string"
        },
        "scope": {
          "description": "operations scope.",
          "type": "string"
        }
      }
    },
    "OperationCollection": {
      "description": "Paged Operation list representation.",
      "properties": {
        "nextLink": {
          "description": "Next page link if any.",
          "readOnly": true,
          "type": "string"
        },
        "value": {
          "description": "Page values.",
          "items": {
            "$ref": "#/definitions/OperationContract"
          },
          "readOnly": true,
          "type": "array"
        }
      }
    },
    "OperationContract": {
      "allOf": [
        {
          "description": "The Resource definition.",
          "properties": {
            "id": {
              "description": "Resource ID.",
              "readOnly": true,
              "type": "string"
            },
            "name": {
              "description": "Resource name.",
              "readOnly": true,
              "type": "string"
            },
            "type": {
              "description": "Resource type for API Management resource.",
              "readOnly": true,
              "type": "string"
            }
          },
          "x-ms-azure-resource": true
        }
      ],
      "description": "Api Operation details.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/OperationContractProperties",
          "description": "Properties of the Operation Contract.",
          "x-ms-client-flatten": true
        }
      }
    },
    "OperationContractProperties": {
      "allOf": [
        {
          "$ref": "#/definitions/OperationEntityBaseContract"
        }
      ],
      "description": "Operation Contract Properties",
      "properties": {
        "displayName": {
          "description": "Operation Name.",
          "maxLength": 300,
          "minLength": 1,
          "type": "string"
        },
        "method": {
          "description": "A Valid HTTP Operation Method. Typical Http Methods like GET, PUT, POST but not limited by only them.",
          "externalDocs": {
            "description": "As defined by RFC.",
            "url": "http://www.rfc-editor.org/rfc/rfc7230.txt"
          },
          "type": "string"
        },
        "urlTemplate": {
          "description": "Relative URL template identifying the target resource for this operation. May include parameters. Example: /customers/{cid}/orders/{oid}/?date={date}",
          "maxLength": 1000,
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "displayName",
        "method",
        "urlTemplate"
      ]
    },
    "OperationEntityBaseContract": {
      "description": "Api Operation Entity Base Contract details.",
      "properties": {
        "description": {
          "description": "Description of the operation. May include HTML formatting tags.",
          "maxLength": 1000,
          "type": "string"
        },
        "policies": {
          "description": "Operation Policies",
          "type": "string"
        },
        "request": {
          "$ref": "#/definitions/RequestContract",
          "description": "An entity containing request details."
        },
        "responses": {
          "description": "Array of Operation responses.",
          "items": {
            "$ref": "#/definitions/ResponseContract"
          },
          "type": "array"
        },
        "templateParameters": {
          "description": "Collection of URL template parameters.",
          "items": {
            "$ref": "#/definitions/ParameterContract"
          },
          "type": "array"
        }
      }
    },
    "OperationUpdateContract": {
      "description": "Api Operation Update Contract details.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/OperationUpdateContractProperties",
          "description": "Properties of the API Operation entity that can be updated.",
          "x-ms-client-flatten": true
        }
      }
    },
    "OperationUpdateContractProperties": {
      "allOf": [
        {
          "$ref": "#/definitions/OperationEntityBaseContract"
        }
      ],
      "description": "Operation Update Contract Properties.",
      "properties": {
        "displayName": {
          "description": "Operation Name.",
          "maxLength": 300,
          "minLength": 1,
          "type": "string"
        },
        "method": {
          "description": "A Valid HTTP Operation Method. Typical Http Methods like GET, PUT, POST but not limited by only them.",
          "externalDocs": {
            "description": "As defined by RFC.",
            "url": "http://www.rfc-editor.org/rfc/rfc7230.txt"
          },
          "type": "string"
        },
        "urlTemplate": {
          "description": "Relative URL template identifying the target resource for this operation. May include parameters. Example: /customers/{cid}/orders/{oid}/?date={date}",
          "maxLength": 1000,
          "minLength": 1,
          "type": "string"
        }
      }
    },
    "ParameterContract": {
      "description": "Operation parameters details.",
      "properties": {
        "defaultValue": {
          "description": "Default parameter value.",
          "type": "string"
        },
        "description": {
          "description": "Parameter description.",
          "type": "string"
        },
        "name": {
          "description": "Parameter name.",
          "type": "string"
        },
        "required": {
          "description": "whether parameter is required or not.",
          "type": "boolean"
        },
        "type": {
          "description": "Parameter type.",
          "type": "string"
        },
        "values": {
          "description": "Parameter values.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "required": [
        "name",
        "type"
      ]
    },
    "RepresentationContract": {
      "description": "Operation request/response representation details.",
      "properties": {
        "contentType": {
          "description": "Specifies a registered or custom content type for this representation, e.g. application/xml.",
          "type": "string"
        },
        "formParameters": {
          "description": "Collection of form parameters. Required if 'contentType' value is either 'application/x-www-form-urlencoded' or 'multipart/form-data'..",
          "items": {
            "$ref": "#/definitions/ParameterContract"
          },
          "type": "array"
        },
        "sample": {
          "description": "An example of the representation.",
          "type": "string"
        },
        "schemaId": {
          "description": "Schema identifier. Applicable only if 'contentType' value is neither 'application/x-www-form-urlencoded' nor 'multipart/form-data'.",
          "type": "string"
        },
        "typeName": {
          "description": "Type name defined by the schema. Applicable only if 'contentType' value is neither 'application/x-www-form-urlencoded' nor 'multipart/form-data'.",
          "type": "string"
        }
      },
      "required": [
        "contentType"
      ]
    },
    "RequestContract": {
      "description": "Operation request details.",
      "properties": {
        "description": {
          "description": "Operation request description.",
          "type": "string"
        },
        "headers": {
          "description": "Collection of operation request headers.",
          "items": {
            "$ref": "#/definitions/ParameterContract"
          },
          "type": "array"
        },
        "queryParameters": {
          "description": "Collection of operation request query parameters.",
          "items": {
            "$ref": "#/definitions/ParameterContract"
          },
          "type": "array"
        },
        "representations": {
          "description": "Collection of operation request representations.",
          "items": {
            "$ref": "#/definitions/RepresentationContract"
          },
          "type": "array"
        }
      }
    },
    "ResponseContract": {
      "description": "Operation response details.",
      "properties": {
        "description": {
          "description": "Operation response description.",
          "type": "string"
        },
        "headers": {
          "description": "Collection of operation response headers.",
          "items": {
            "$ref": "#/definitions/ParameterContract"
          },
          "type": "array"
        },
        "representations": {
          "description": "Collection of operation response representations.",
          "items": {
            "$ref": "#/definitions/RepresentationContract"
          },
          "type": "array"
        },
        "statusCode": {
          "description": "Operation response HTTP status code.",
          "format": "int32",
          "type": "integer"
        }
      },
      "required": [
        "statusCode"
      ]
    },
    "SchemaCollection": {
      "description": "The response of the list schema operation.",
      "properties": {
        "nextLink": {
          "description": "Next page link if any.",
          "readOnly": true,
          "type": "string"
        },
        "value": {
          "description": "Api Schema Contract value.",
          "items": {
            "$ref": "#/definitions/SchemaContract"
          },
          "readOnly": true,
          "type": "array"
        }
      }
    },
    "SchemaContract": {
      "allOf": [
        {
          "description": "The Resource definition.",
          "properties": {
            "id": {
              "description": "Resource ID.",
              "readOnly": true,
              "type": "string"
            },
            "name": {
              "description": "Resource name.",
              "readOnly": true,
              "type": "string"
            },
            "type": {
              "description": "Resource type for API Management resource.",
              "readOnly": true,
              "type": "string"
            }
          },
          "x-ms-azure-resource": true
        }
      ],
      "description": "Schema Contract details.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/SchemaContractProperties",
          "description": "Properties of the Schema.",
          "x-ms-client-flatten": true
        }
      }
    },
    "SchemaContractProperties": {
      "description": "Schema contract Properties.",
      "properties": {
        "contentType": {
          "description": "Must be a valid a media type used in a Content-Type header as defined in the RFC 2616. Media type of the schema document (e.g. application/json, application/xml).",
          "type": "string"
        },
        "document": {
          "$ref": "#/definitions/SchemaDocumentProperties",
          "description": "Properties of the Schema Document.",
          "x-ms-client-flatten": true
        }
      },
      "required": [
        "contentType"
      ]
    },
    "SchemaDocumentProperties": {
      "description": "Schema Document Properties.",
      "properties": {
        "value": {
          "description": "Json escaped string defining the document representing the Schema.",
          "type": "string"
        }
      }
    },
    "SubscriptionKeyParameterNamesContract": {
      "description": "Subscription key parameter names details.",
      "example": {
        "subscriptionKeyParameterNames": {
          "header": "customHeaderParameterName",
          "query": "customQueryParameterName"
        }
      },
      "properties": {
        "header": {
          "description": "Subscription key header name.",
          "type": "string"
        },
        "query": {
          "description": "Subscription key query string parameter name.",
          "type": "string"
        }
      }
    }
  },
  "x-ms-paths": {
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}?export=true": {
      "get": {
        "description": "Gets the details of the API specified by its identifier in the format specified to the Storage Blob with SAS Key valid for 5 minutes.",
        "operationId": "ApiExport_Get",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "description": "The name of the API Management service.",
            "in": "path",
            "maxLength": 50,
            "minLength": 1,
            "name": "serviceName",
            "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
            "required": true,
            "type": "string",
            "x-ms-parameter-location": "method"
          },
          {
            "$ref": "#/parameters/ApiIdParameter"
          },
          {
            "description": "Format in which to export the Api Details to the Storage Blob with Sas Key valid for 5 minutes.",
            "enum": [
              "application/vnd.swagger.link+json",
              "application/vnd.sun.wadl.link+json",
              "application/vnd.ms.wsdl.link+xml"
            ],
            "in": "header",
            "name": "Accept",
            "required": true,
            "type": "string",
            "x-ms-enum": {
              "modelAsString": true,
              "name": "ExportFormat",
              "values": [
                {
                  "description": "Export the Api Definition in OpenApi Specification 2.0 format to the Storage Blob.",
                  "name": "OpenApi2",
                  "value": "application/vnd.swagger.link+json"
                },
                {
                  "description": "Export the Api Definition in WSDL Schema to Storage Blob.",
                  "name": "Wsdl",
                  "value": "application/vnd.ms.wsdl.link+xml"
                },
                {
                  "description": "Export the Api Definition in WADL Schema to Storage Blob.",
                  "name": "Wadl",
                  "value": "application/vnd.sun.wadl.link+json"
                }
              ]
            }
          },
          {
            "description": "Query parameter required to export the API details.",
            "enum": [
              "true"
            ],
            "in": "query",
            "name": "export",
            "required": true,
            "type": "string",
            "x-ms-enum": {
              "modelAsString": true,
              "name": "ExportApi"
            }
          },
          {
            "description": "Version of the API to be used with the client request.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The response contains a stream with a full set of API metadata and includes API entity with an embedded array of operation entities.",
            "schema": {
              "$ref": "#/definitions/ApiExportResult"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "description": "Error Body contract.",
              "properties": {
                "code": {
                  "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.",
                  "type": "string"
                },
                "details": {
                  "description": "The list of invalid fields send in request, in case of validation error.",
                  "items": {
                    "description": "Error Field contract.",
                    "properties": {
                      "code": {
                        "description": "Property level error code.",
                        "type": "string"
                      },
                      "message": {
                        "description": "Human-readable representation of property-level error.",
                        "type": "string"
                      },
                      "target": {
                        "description": "Property name.",
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Human-readable representation of the error.",
                  "type": "string"
                }
              }
            }
          }
        },
        "tags": [
          "Apis"
        ],
        "x-ms-examples": {
          "ApiManagementGetApiExportInOpenApi2dot0": {
            "parameters": {
              "Accept": "application/vnd.swagger.link+json",
              "api-version": "2017-03-01",
              "apiId": "echo-api",
              "export": "true",
              "resourceGroupName": "rg1",
              "serviceName": "apimService1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "link": "https://apimgmtstaobxxxxxxx.blob.core.windows.net/api-export/Echo API.json?sv=2015-07-08&sr=b&sig=xxxxxxxxxx%3D&se=2017-09-08T21:54:08Z&sp=r"
                }
              }
            }
          }
        }
      }
    }
  }
}