{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type": "object",
    "properties": {
        "deviceId": {
            "type": "string",
            "pattern": "^[A-Fa-f\\d]{24}$"
        },
        "key": {
            "type": "string"
        },
        "secret": {
            "type": "string"
        },
        "tokenTTL": {
            "type": "integer",
            "minimum": 0
        },
        "requestedScopes": {
            "type": "array",
            "_uniqueItems": true,
            "items": {
                "type": "string",
                "enum": [
                    "all.Device",
                    "all.Device.read",
                    "data.export",
                    "data.timeSeriesQuery",
                    "data.lastValueQuery",
                    "device.commandStream",
                    "device.get",
                    "device.getCompositeState",
                    "device.getState",
                    "device.stateStream",
                    "device.getLogEntries",
                    "device.getCommand",
                    "device.debug",
                    "device.sendState",
                    "device.sendCommand",
                    "device.setConnectionStatus",
                    "devices.get",
                    "devices.sendCommand"
                ]
            }
        }
    },
    "required": [
        "deviceId"
    ],
    "additionalProperties": false
}