Roku · Schema
DeviceOut
DeviceOut schema from Roku Nabu Cloud
StreamingTelevisionMediaEntertainmentConnected TVConsumer Electronics
Properties
| Name | Type | Description |
|---|---|---|
| id | integer | |
| esn | string | The ESN of the device. |
| device_type | object | The type of the Device. |
| name | string | The name of the Device. |
| description | object | Description of the Device. |
| account_name | object | Account name of the Device. |
| properties | object | Device properties. |
| qa_hub | boolean | Whether the device should be auto registered in QA Hub. |
| last_snapshot | integer | The ID of the snapshot to use for the device. |
| last_snapshot_name | string | Name of the snapshot. |
| rootfs_artifactory_path | string | The path of the rootfs image in artifactory. |
| snapshots | array | List of device snapshot IDs. |
| status | object | The running status of the device. |
| running_device | object |
JSON Schema
{
"$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": [
"[email protected]"
]
},
"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"
]
}