{
    "properties": {
        "config": {
            "properties": {
                "endpoints": {
                    "items": {
                        "description": "Name of the method config yaml(json) file",
                        "examples": [
                            "hello.yaml"
                        ],
                        "type": "string"
                    },
                    "type": "array"
                },
                "rateLimit": {
                    "description": "How many requests per second are allowed",
                    "examples": [
                        100
                    ],
                    "type": "integer"
                }
            },
            "type": "object"
        },
        "dependencies": {
            "properties": {
                "client": {
                    "items": {
                        "description": "The name of a client this endpoint depends on",
                        "examples": [
                            "bar"
                        ],
                        "type": "string"
                    },
                    "type": "array"
                },
                "middleware": {
                    "items": {
                        "description": "The name of a middleware this endpoint depends on",
                        "examples": [
                            "example"
                        ],
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "name": {
            "description": "Endpoint name",
            "examples": [
                "bar"
            ],
            "type": "string"
        },
        "type": {
            "description": "Endpoint protocol, either http or tchannel",
            "enum": [
                "http",
                "tchannel"
            ],
            "examples": [
                "http"
            ],
            "type": "string"
        }
    },
    "required": [
        "name",
        "type",
        "config",
        "dependencies"
    ],
    "type": "object"
}