{
    "swagger": "2.0",
    "info": {
      "title": "Multiapi Service Client",
      "description": "Service client for multiapi client testing",
      "version": "1.0.0"
    },
    "host": "localhost:3000",
    "schemes": [
      "http"
    ],
    "produces": [
        "application/json"
    ],
    "paths": {
        "/multiapi/testOneEndpoint": {
            "put": {
                "operationId": "testOne",
                "description": "TestOne should be in an FirstVersionOperationsMixin",
                "x-ms-request-id": "request-id",
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "An int parameter",
                        "type": "integer",
                        "format": "int32",
                        "required": true
                    },
                    {
                        "name": "message",
                        "in": "query",
                        "description": "An optional string parameter",
                        "type": "string"
                    },
                    {
                        "$ref": "#/parameters/ApiVersionParameter"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The empty return value of testOne"
                    },
                    "default": {
                        "description": "Unexpected error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/multiapi/lro": {
            "put": {
              "x-ms-long-running-operation": true,
              "operationId": "testLRO",
              "description": "Put in whatever shape of Product you want, will return a Product with id equal to 100",
              "tags": [
                "LRO Operations"
              ],
              "parameters": [
                {
                  "name": "product",
                  "description": "Product to put",
                  "in": "body",
                  "schema": {
                    "$ref": "#/definitions/Product"
                  }
                }
              ],
              "responses": {
                "200": {
                  "description": "Initial response with Product ID = 100",
                  "schema": {
                    "$ref": "#/definitions/Product"
                  }
                },
                "204": {
                  "description": "Final response"
                },
                "default": {
                  "description": "Unexpected error",
                  "schema": {
                    "$ref": "#/definitions/Error"
                  }
                }
              }
            }
          },
          "/multiapi/lroAndPaging": {
            "post": {
              "x-ms-long-running-operation": true,
              "x-ms-pageable": { "nextLinkName": "nextLink", "itemName": "values" },
              "operationId": "testLROAndPaging",
              "description": "A long-running paging operation that includes a nextLink that has 10 pages",
              "parameters": [
                {
                  "name": "client-request-id",
                  "in": "header",
                  "required": false,
                  "type": "string"
                },
                {
                  "name": "maxresults",
                  "in": "header",
                  "required": false,
                  "type": "integer",
                  "format": "int32",
                  "description": "Sets the maximum number of items to return in the response.",
                  "x-ms-parameter-grouping": {
                      "postfix": "Options"
                  }
                },
                {
                  "name": "timeout",
                  "in": "header",
                  "required": false,
                  "type": "integer",
                  "format": "int32",
                  "default": 30,
                  "description": "Sets the maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
                  "x-ms-parameter-grouping": {
                      "postfix": "Options"
                  }
                }
              ],
              "responses": {
                "200": {
                  "description": "Initial response with Product ID = 100",
                  "schema": {
                    "$ref": "#/definitions/PagingResult"
                  }
                },
                "default": {
                  "description": "Unexpected error"
                }
              }
            }
          },
        "/multiapi/one/testTwoEndpoint": {
            "get": {
                "operationId": "OperationGroupOne_testTwo",
                "description": "TestTwo should be in OperationGroupOneOperations",
                "x-ms-request-id": "request-id",
                "parameters": [
                    {
                        "$ref": "#/parameters/ApiVersionParameter"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The empty return value of testTwo"
                    },
                    "default": {
                        "description": "Unexpected error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        }
    },
    "definitions": {
        "Error": {
            "type":  "object",
            "properties": {
                "status": {
                    "type": "integer",
                    "format": "int32"
                },
                "message": {
                    "type": "string"
                }
            }
        },
        "PagingResult": {
          "type":  "object",
          "properties": {
            "values": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Product"
              }
            },
            "nextLink": {
              "type": "string"
            }
          }
      },
        "Product": {
            "x-ms-azure-resource": true,
            "type": "object",
            "properties": {
                "id": {
                    "type": "integer",
                    "format": "int32"
                }
            }
        }
    },
    "parameters": {
        "ApiVersionParameter": {
            "name": "api-version",
            "in": "query",
            "required": true,
            "type": "string",
            "description": "The API version to use for this operation.",
            "minLength": 1
        }
    }
}