{
    "additionalProperties": false,
    "description": "Schema for a Sauna command's envelope",
    "properties": {
        "commandId": {
            "_format": "uuid",
            "type": "string"
        },
        "execution": {
            "additionalProperties": false,
            "properties": {
                "semantics": {
                    "enum": [
                        "AT_LEAST_ONCE"
                    ]
                },
                "timeToLive": {
                    "type": [
                        "integer",
                        "null"
                    ]
                }
            },
            "required": [
                "semantics",
                "timeToLive"
            ],
            "type": "object"
        },
        "tags": {
            "additionalProperties": {
                "type": "string"
            },
            "type": "object"
        },
        "whenCreated": {
            "_format": "date-time",
            "type": "string"
        }
    },
    "required": [
        "commandId",
        "whenCreated",
        "execution",
        "tags"
    ],
    "self": {
        "format": "jsonschema",
        "name": "envelope",
        "vendor": "com.snowplowanalytics.sauna.commands",
        "version": "1-0-0"
    },
    "type": "object"
}