{
	"$id": "https://www.atsc-schemas.org/atsc3.0/a344/20210323/org.atsc.xlinkResolution-response.json",
	"$schema": "https://json-schema.org/draft/2019-09/schema#",
	"title": "XLink Resolved API",
	"description": "XLink Resolved API",
	"type": "object",
    "properties": {
		"jsonrpc": {
			"type": "string", 
			"enum": [ "2.0" ]
		},
		"id": { 
			"type": "integer"
		},
		"result":{
            "type": "object",
            "properties": {
                "xlink": {"type": "string", "format": "uri"},
                "disposition": {
                    "type": "object",
                    "properties": {
                        "code": {"type": "integer"},
                        "description": {"type": "string"}
                    },
                    "required": ["code"]
                },
                "timing": {
                    "type": "object",
                    "properties": {
                        "currentPosition": {"type": "number"},
                        "periodStart": {"type": "string", "format": "xs:dateTime"},
                        "duration": {
                            "type": "number",
                            "minimum": 0.0
                        }
                    },
                    "required": ["currentPosition", "periodStart", "duration"]
                }
            },
            "required": ["xlink", "disposition", "timing"]
        },
        "error": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "integer"
                },
                "message": {
                    "type": "string"
                },
                "data": {}
            },
            "required": [ "code", "message" ]
        }
    },
	"required": [ "jsonrpc", "id" ],
    "oneOf": [
        {
            "required": [
                "result"
            ]
        },
        {
            "required": [
                "error"
            ]
        }
    ]
}
