{
    "swagger": "2.0",
    "info": {
      "title": "Multiapi Service Client",
      "description": "Service client for multiapi client testing",
      "version": "2.0.0"
    },
    "host": "localhost:3000",
    "schemes": [
        "http"
    ],
    "produces": [
        "application/json"
    ],
    "paths": {
        "/multiapi/testOneEndpoint": {
            "put": {
                "operationId": "testOne",
                "description": "TestOne should be in an SecondVersionOperationsMixin. Returns ModelTwo",
                "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": "Returns ModelTwo",
                        "schema": {
                            "$ref": "#/definitions/ModelTwo"
                        }
                    },
                    "default": {
                        "description": "Unexpected error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/multiapi/one/testTwoEndpoint": {
            "get": {
                "consumes": [
                    "application/json"
                ],
                "operationId": "OperationGroupOne_testTwo",
                "description": "TestTwo should be in OperationGroupOneOperations. Takes in ModelTwo and ouputs ModelTwo",
                "parameters": [
                    {
                        "name": "parameterOne",
                        "in": "body",
                        "description": "A ModelTwo parameter",
                        "schema": {
                            "$ref": "#/definitions/ModelTwo"
                        }
                    },
                    {
                        "$ref": "#/parameters/ApiVersionParameter"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns ModelTwo",
                        "schema": {
                            "$ref": "#/definitions/ModelTwo"
                        }
                    },
                    "default": {
                        "description": "Unexpected error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/multiapi/one/testThreeEndpoint": {
            "put": {
                "operationId": "OperationGroupOne_testThree",
                "description": "TestThree should be in OperationGroupOneOperations. Takes in ModelTwo",
                "parameters": [
                    {
                        "$ref": "#/parameters/ApiVersionParameter"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Empty response"
                    },
                    "default": {
                        "description": "Unexpected error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/multiapi/two/testFourEndpoint": {
            "post": {
                "operationId": "OperationGroupTwo_testFour",
                "description": "TestFour should be in OperationGroupTwoOperations.",
                "x-ms-request-id": "request-id",
                "parameters": [
                    {
                        "name": "parameterOne",
                        "in": "query",
                        "description": "A boolean parameter",
                        "type": "boolean",
                        "required": true
                    },
                    {
                        "$ref": "#/parameters/ApiVersionParameter"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Empty response"
                    },
                    "default": {
                        "description": "Unexpected error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        }
    },
    "definitions": {
        "Error": {
            "type":  "object",
            "properties": {
                "status": {
                    "type": "integer",
                    "format": "int32"
                },
                "message": {
                    "type": "string"
                }
            }
        },
        "ModelTwo": {
            "type": "object",
            "description": "Only exists in api version 2.0.0",
            "required": ["id"],
            "properties": {
                "id": {
                    "type": "integer",
                    "format": "int32"
                },
                "message": {
                    "type": "string"
                }
            }
        }
    },
    "parameters": {
        "ApiVersionParameter": {
            "name": "api-version",
            "in": "query",
            "required": true,
            "type": "string",
            "description": "The API version to use for this operation.",
            "minLength": 1
        }
    }
}