{ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "success": { "type": "boolean", "enum": [ true ] }, "ctx": { "type": "object", "patternProperties": { "^[0-9a-zA-Z_-]{1,255}$": { "anyOf": [ [ { "type": "string", "maxLength": 32767 }, { "type": "number" }, { "type": "object", "properties": { "key": { "type": "string", "pattern": "^[0-9a-zA-Z_-]{1,255}$" }, "value": { "type": "string", "minLength": 1, "maxLength": 255 } }, "additionalProperties": false } ], { "type": "object", "properties": { "id": { "type": "string", "pattern": "^[A-Fa-f\\d]{24}$" }, "name": { "type": "string", "minLength": 1, "maxLength": 255 }, "description": { "type": "string", "maxLength": 32767 }, "tags": { "type": "object", "patternProperties": { "^[0-9a-zA-Z_-]{1,255}$": { "type": "array", "minItems": 1, "items": { "type": "string", "minLength": 1, "maxLength": 255 } } } }, "attributes": { "type": "object", "patternProperties": { "^[0-9a-zA-Z_-]{1,255}$": { "type": "object", "properties": { "dataType": { "type": "string", "enum": [ "string", "number", "gps", "boolean", "blob" ] }, "description": { "type": "string", "maxLength": 32767 }, "tags": { "type": "object", "patternProperties": { "^[0-9a-zA-Z_-]{1,255}$": { "type": "string", "minLength": 1, "maxLength": 255 } } } } } } } } } ] } }, "additionalProperties": false }, "dashboard": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1, "maxLength": 255 }, "id": { "type": "string", "pattern": "^[A-Fa-f\\d]{24}$" }, "duration": { "type": "integer", "minimum": 1 }, "resolution": { "type": "integer", "minimum": 1 }, "refreshRate": { "type": "number", "minimum": 5, "maximum": 600 } } } } }