{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "message": {
        "sub-id": {
            "type": "string",
            "pattern": "[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}"
        },
        "topic": {
            "type": "string",
            "pattern": "^/[a-z\\-]+$"
        },
        "since": {
            "type": "number"
        },
        "snapshot": {
            "type": "boolean"
        },
        "filter": {
            "type": "string",
            "maxLength": 137,
            "pattern": "^[\\w\\-\\.#@\\*\\[\\]\\?]+$"
        }
    },
    "properties": {
        "message.sub-id": {
            "$ref": "#/message/sub-id"
        },
        "message.topic": {
            "$ref": "#/message/topic"
        },
        "message.since": {
            "$ref": "#/message/since"
        },
        "message.snapshot": {
            "$ref": "#/message/snapshot"
        },
        "message.filter": {
            "$ref": "#/message/filter"
        }
    },
    "required": [
        "message.sub-id",
        "message.topic",
        "message.since",
        "message.snapshot",
        "message.filter"
    ]
}