{
  "swagger": "2.0",
  "info": {
    "version": "1.0.0",
    "title": "Swagger Petstore",
    "contact": {
      "name": "Swagger API Team",
      "url": "http://Swagger.io"
    },
    "license": {
      "name": "Creative Commons 4.0 International",
      "url": "http://creativecommons.org/licenses/by/4.0/"
    }
  },
  "host": "petstore.Swagger.io",
  "basePath": "/api",
  "schemes": [
    "http"
  ],
  "paths": {
    "/pets": {
      "get": {
        "description": "Returns all pets from the system that the user has access to",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "A list of pets.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Pet"
              }
            }
          }
        }
      }
    }
  },
  "definitions": {
    "Pet": {
      "type": "object",
      "properties": {
        "sub-object": {
          "type": "object",
          "additionalProperties": true
        },
        "another-sub-object": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "nested-sub-objects": {
          "type": "object",
          "additionalProperties": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        },
        "children": {
          "items": {
            "$ref": "#/definitions/Pet"
          },
          "type": "array"
        },
        "child-pet": {
          "type": "object",
          "additionalProperties": {
            "properties": {
              "name": {
                "type": "string"
              },
              "child-pet-children": {
                "type": "object",
                "additionalProperties": {
                  "type": "string"
                }
              },
              "sub-object": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        }
      }
    }
  }
}
