{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/roku/refs/heads/main/json-schema/nabu-cloud-device-out-schema.json", "title": "DeviceOut", "description": "DeviceOut schema from Roku Nabu Cloud", "type": "object", "properties": { "id": { "type": "integer", "minimum": 0, "title": "Id" }, "esn": { "type": "string", "maxLength": 12, "minLength": 12, "pattern": "^XY+([A-Z0-9]+)?$", "title": "Esn", "description": "The ESN of the device." }, "device_type": { "$ref": "#/components/schemas/DeviceType", "description": "The type of the Device.", "examples": [ "tv" ] }, "name": { "type": "string", "maxLength": 255, "minLength": 3, "title": "Name", "description": "The name of the Device." }, "description": { "anyOf": [ { "type": "string", "maxLength": 4096, "minLength": 0 }, { "type": "null" } ], "title": "Description", "description": "Description of the Device." }, "account_name": { "anyOf": [ { "type": "string", "format": "email" }, { "type": "null" } ], "title": "Account Name", "description": "Account name of the Device.", "examples": [ "user@roku.com" ] }, "properties": { "anyOf": [ { "additionalProperties": true, "type": "object", "maxProperties": 8192 }, { "type": "null" } ], "title": "Properties", "description": "Device properties.", "examples": [ {}, { "config_service_flags": { "fw.swup.channel-sync-enabled": "false" } } ] }, "qa_hub": { "type": "boolean", "title": "Qa Hub", "description": "Whether the device should be auto registered in QA Hub." }, "last_snapshot": { "type": "integer", "minimum": 0, "title": "Last Snapshot", "description": "The ID of the snapshot to use for the device." }, "last_snapshot_name": { "type": "string", "maxLength": 255, "minLength": 3, "title": "Last Snapshot Name", "description": "Name of the snapshot." }, "rootfs_artifactory_path": { "type": "string", "maxLength": 255, "minLength": 3, "pattern": "^[a-zA-Z0-9_-]*(\\/[a-zA-Z0-9._-]+)*(\\:[a-zA-Z0-9._-]+)?$", "title": "Rootfs Artifactory Path", "description": "The path of the rootfs image in artifactory.", "examples": [ "official/release/2024-h2/r14.0.4.122xx-rta/native_tv:latest", "premergeci/native_tv:4838657" ] }, "snapshots": { "items": { "type": "integer" }, "type": "array", "title": "Snapshots", "description": "List of device snapshot IDs.", "default": [] }, "status": { "$ref": "#/components/schemas/DeviceStatus", "description": "The running status of the device.", "default": "shutdown" }, "running_device": { "anyOf": [ { "$ref": "#/components/schemas/DeviceInstanceInfo" }, { "type": "null" } ] } }, "required": [ "id", "esn", "device_type", "name", "qa_hub" ] }