{
	"$id": "https://www.atsc-schemas.org/atsc3.0/a344/20230217/org.atsc.query.deviceInfo-response.json",
	"$schema": "https://json-schema.org/draft/2019-09/schema#",
	"title": "Query Device Info API",
	"description": "Query Device Info API",
	"type": "object",
	"properties": {
		"jsonrpc": {
			"type": "string",
			"enum": [ "2.0" ]
		},
		"id": {
			"type": "integer"
		},
		"result": {
			"type": "object",
			"properties": {
				"deviceMake": {"type": "string"},
				"deviceModel": {"type": "string"},
				"deviceInput": {
					"type": "object",
					"properties": {
						"ArrowUp": {"type": "integer"},
						"ArrowDown": {"type": "integer"},
						"ArrowRight": {"type": "integer"},
						"ArrowLeft": {"type": "integer"},
						"Select": {"type": "integer"},
						"Back": {"type": "integer"},
						"BAAppear": {
							"type": "object",
							"properties": {
								"label": {"type": "string"},
								"keycode": {"type": "integer"},
								"img": {"type": "string"}
							},
							"required": [ "label", "keycode" ]
						},
						"additionalProperties": { "type" : "integer" } 
					},
					"required": [ "ArrowUp", "ArrowDown", "ArrowRight", "ArrowLeft", "Select", "Back", "BAAppear" ]
				},
				"deviceInfo": {"type": "object"},
				"deviceId": {"type": "string"},
				"advertisingId": {"type": "string"},
				"deviceCapabilities": {"type": "string"},
				"deviceSupportedWebSocketAPIs": {
					"type": "array",
					"items": {
						"anyOf": [
							{
								"type": "object",
								"properties": {
									"method": {"type": "string"},
									"rev": {"type": "string"}
								},
								"required": [ "method" ]
							},
							{
								"type": "string"
							}
						]
					}
				},
				"deviceSupportedDRMs": {"type": "array","items": {"type": "string"}}
			},
			"required": [ "deviceMake", "deviceModel", "deviceInput" ]
		},
		"error": {
			"type": "object",
			"properties": {
				"code": {
					"type": "integer"
				},
				"message": {
					"type": "string"
				},
				"data": {}
			},
			"required": [
				"code",
				"message"
			]
		}
	},
	"required": [ "jsonrpc", "id" ],
	"oneOf": [
		{
			"required": [
				"result"
			]
		},
		{
			"required": [
				"error"
			]
		}
	]
}
