{
  "swagger": "2.0",
  "info": {
    "title": "Swagger Fixture",
    "version": "1.0"
  },
  "host": "petstore.swaggery.wordnik.com",
  "basePath": "/apibaby",
  "schemes": [
    "https"
  ],
  "consumes": [
    "bob"
  ],
  "produces": [
    "bob"
  ],
  "paths": {
    "/a/": {
      "get": {
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "type": "integer"
          },
          {
            "name": "headerParam",
            "in": "header",
            "type": "string"
          },
          {
            "name": "addedHeaderParam",
            "in": "header",
            "type": "string",
            "format": "password"
          },
          {
            "name": "changeMaxInt",
            "in": "query",
            "required": false,
            "type": "integer",
            "maximum": 300,
            "exclusiveMaximum": true
          },
          {
            "name": "removeMaxInt",
            "in": "query",
            "required": false,
            "type": "integer",
            "maximum": 200,
            "exclusiveMaximum": false
          },
          {
            "name": "changeMinInt",
            "in": "query",
            "required": false,
            "type": "integer",
            "minimum": 300,
            "exclusiveMinimum": true
          },
          {
            "name": "wideryString",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "personality",
            "in": "query",
            "required": false,
            "type": "string",
            "enum": [
              "crazy",
              "empathic",
              "saucy"
            ]
          },
          {
            "name": "changeyPattern",
            "in": "query",
            "required": false,
            "type": "string",
            "pattern": "anewpattern"
          },
          {
            "name": "primToObj",
            "in": "query",
            "required": false,
            "schema": {
              "$ref": "#/definitions/A2"
            }
          },
          {
            "name": "ObjToPrim",
            "in": "query",
            "required": false,
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "200 response",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/A1"
              }
            }
          }
        }
      },
      "post": {
        "parameters": [
          {
            "name": "",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/A2"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "200 response",
            "schema": {
              "$ref": "#/definitions/A3"
            }
          }
        }
      }
    },
    "/a/{id}": {
      "get": {
        "parameters": [
          {
            "name": "flavour",
            "required": false,
            "in": "query",
            "type": "string"
          },
          {
            "name": "id",
            "in": "path",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "200 response",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/A1"
              }
            }
          }
        }
      },
      "post": {
        "parameters": [
          {
            "name": "",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/A2"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "200 response",
            "schema": {
              "$ref": "#/definitions/A3"
            }
          }
        }
      }
    },
    "/b/": {
      "get": {
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "200 response",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/A1"
              }
            }
          }
        }
      },
      "post": {
        "parameters": [
          {
            "name": "",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/A2"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "200 response",
            "schema": {
              "$ref": "#/definitions/A3"
            }
          }
        }
      }
    },
    "/c/": {
      "get": {
        "responses": {
          "200": {
            "description": "200 response",
            "schema": {
              "type": "array",
              "maxItems": 1,
              "items": {
                "type": "object",
                "properties":{
                  "id": {"type": "integer"}
                }
              }
            }
          }
        }
      }
    }
  },
  "definitions": {
    "A1": {
      "type": "object",
      "required": ["busby"],
      "properties": {
        "id": {
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "personality": {
          "type": "string",
          "enum": [
            "crazy",
            "empathic",
            "saucy"
          ]
        },
        "busby": {
          "type": "string"
        },
        "newProp": {
          "type": "string"
        },
        "onceWasArray": {
          "type": "string"
        },
        "sameWideness": {
          "type": "number",
          "format":"float"
        }
      }
    },
    "A2": {
      "type": "object",
      "required": [
        "name"
      ],
      "properties": {
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string"
        }
      }
    },
    "ThisWasAdded": {
      "type": "object",
      "required": [
        "name"
      ],
      "properties": {
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string"
        }
      }
    },
    "A3": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "letters": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "attributes": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        }
      }
    }
  }
}
