{
  "$id": "https://www.atsc-schemas.org/atsc3.0/a344/cs-20240822/org.atsc.notify-signalingData.json",
  "$schema": "https://json-schema.org/draft/2019-09/schema#",
  "title": "Signaling Data Change Notification API",
  "description": "Signaling Data Change Notification API",
  "type": "object",
  "properties": {
    "jsonrpc": {
      "type": "string",
      "enum": [ "2.0" ]
    },
    "method": {
      "type": "string",
      "enum": [ "org.atsc.notify" ]
    },
    "params": {
      "type": "object",
      "properties": {
        "msgType": {
          "type": "string",
          "enum": [ "signalingData" ]
        },
        "objectList": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "anyOf": [
                  {
                    "type": "integer"
                  },
                  {
                    "examples": [ "USBD", "STSID", "MPD", "APD",
                      "USD","PAT", "MPT", "MPIT", "CRIT", "DCIT",
                      "AEI", "VSPD", "ASD", "IED", "CAD", "ASPD", "SSD",
                      "EMSG", "EVTI",
                      "HELD", "DWD", "RSAT", "RDT",
                      "SLT", "RRT", "STT", "AEAT", "OSN", "SMT", "CDT",
                      1, 2, 3, 4, 5, 254, 6 ]
                  }
                ]
              },
              "group": {
                "type": "integer"
              },
              "version": {
                "type": "integer"
              },
              "table": {
                "type": "string",
                "anyOf": [
                  {
                    "format": "xml"
                  },
                  {
                    "format": "json"
                  }
                ]
              }
            },
            "required": [ "name", "version", "table" ],
            "if": {
              "properties": {
                "name": {
                  "type": "integer"
                }
              }
            },
            "then": {
              "required": [ "group" ]
            }
          },
          "else": {
            "not": {
              "required": [ "group" ]
            }
          }
        }
      },
      "required": [ "msgType" ]
    }
  },
  "required": [ "jsonrpc", "method", "params" ]
}