{
    "name": "Test",
    "baseUrl": "http://api.example.com/api/",
    "operations": {
        "GetPerson": {
            "httpMethod": "GET",
            "uri": "person/{id}",
            "summary": "Get a person",
            "parameters": {
                "id": {
                    "location": "query",
                    "description": "Person to retrieve by ID",
                    "type": "integer",
                    "required": true
                }
            }
        },
        "GetPersonClass": {
            "httpMethod": "GET",
            "uri": "person/{id}",
            "summary": "Get a person",
            "responseClass": "Misd\\GuzzleBundle\\Tests\\Fixtures\\Person",
            "parameters": {
                "id": {
                    "location": "query",
                    "description": "Person to retrieve by ID",
                    "type": "integer",
                    "required": true
                }
            }
        },
        "GetPersonInvalidClass": {
            "httpMethod": "GET",
            "uri": "person/{id}",
            "summary": "Get a person",
            "responseClass": "Misd\\GuzzleBundle\\Tests\\Fixtures\\NonExistentPerson",
            "parameters": {
                "id": {
                    "location": "query",
                    "description": "Person to retrieve by ID",
                    "type": "integer",
                    "required": true
                }
            }
        },
        "GetPersonClassArray": {
            "httpMethod": "GET",
            "uri": "person",
            "summary": "Get an array of people",
            "responseClass": "array<Misd\\GuzzleBundle\\Tests\\Fixtures\\Person>"
        },
        "AddPerson": {
            "httpMethod": "POST",
            "uri": "person",
            "summary": "Add a person",
            "parameters": {
                "person": {
                    "location": "body",
                    "type": "object",
                    "instanceOf": "Misd\\GuzzleBundle\\Tests\\Fixtures\\Person",
                    "required": "true"
                }
            }
        },
        "AddPersonJson": {
            "httpMethod": "POST",
            "uri": "person",
            "summary": "Add a person",
            "parameters": {
                "person": {
                    "location": "body",
                    "type": "object",
                    "instanceOf": "Misd\\GuzzleBundle\\Tests\\Fixtures\\Person",
                    "sentAs": "json",
                    "required": "true"
                }
            }
        },
        "AddPersonYaml": {
            "httpMethod": "POST",
            "uri": "person",
            "summary": "Add a person",
            "parameters": {
                "person": {
                    "location": "body",
                    "type": "object",
                    "instanceOf": "Misd\\GuzzleBundle\\Tests\\Fixtures\\Person",
                    "sentAs": "yml",
                    "required": "true"
                }
            }
        },
        "UpdatePeopleJson": {
            "httpMethod": "POST",
            "uri": "updatePeople",
            "summary": "Update people",
            "parameters": {
                "people": {
                    "location": "body",
                    "type": "array",
                    "sentAs": "json",
                    "required": "true"
                }
            }
        },
        "UpdatePeopleJsonWithFilter": {
            "httpMethod": "POST",
            "uri": "updatePeople",
            "summary": "Update people",
            "parameters": {
                "people": {
                    "location": "body",
                    "type": "array",
                    "filters": ["json_encode"],
                    "required": "true"
                }
            }
        }
    }
}
