{ "type": "object", "required": ["v", "type", "ts", "deviceId", "payload"], "properties": { "v": { "type": "integer", "description": "Protocol version" }, "type": { "type": "string", "description": "Message type" }, "ts": { "type": "integer", "description": "Unix time in milliseconds" }, "deviceId": { "type": "string", "minLength": 1, "description": "Unique device identifier" }, "payload": { "type": "object", "description": "Message-specific data" } } }