{
    "properties": {
        "config": {
            "properties": {
                "path": {
                    "description": "Package path to import the middleware",
                    "examples": [
                        "github.com/uber/zanzibar/examples/example-gateway/middlewares/example"
                    ],
                    "type": "string"
                },
                "schema": {
                    "description": "Path to the schema of the middleware, relative to middleware module config directory",
                    "examples": [
                        "./middlewares/example/example_schema.json"
                    ],
                    "type": "string"
                }
            },
            "type": "object"
        },
        "dependencies": {
            "properties": {
                "client": {
                    "items": {
                        "description": "Name of the client this middleware depends on",
                        "examples": [
                            "baz"
                        ],
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "name": {
            "description": "Name of the middleware",
            "examples": [
                "example"
            ],
            "type": "string"
        },
        "type": {
            "description": "Type of the middleware, currently only valid type is default",
            "examples": [
                "default"
            ],
            "type": "string"
        }
    },
    "required": [
        "name",
        "type",
        "config",
        "dependencies"
    ],
    "type": "object"
}