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
View JSON Schema on GitHub

JSON Schema

nabu-cloud-device-out-schema.json Raw ↑
{
  "$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"
  ]
}