{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "ThreadStatusChangedNotification",
  "type": "object",
  "required": [
    "status",
    "threadId"
  ],
  "properties": {
    "status": {
      "$ref": "#/definitions/ThreadStatus"
    },
    "threadId": {
      "type": "string"
    }
  },
  "definitions": {
    "ThreadActiveFlag": {
      "type": "string",
      "enum": [
        "waitingOnApproval",
        "waitingOnUserInput"
      ]
    },
    "ThreadStatus": {
      "oneOf": [
        {
          "type": "object",
          "required": [
            "type"
          ],
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "notLoaded"
              ],
              "title": "NotLoadedThreadStatusType"
            }
          },
          "title": "NotLoadedThreadStatus"
        },
        {
          "type": "object",
          "required": [
            "type"
          ],
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "idle"
              ],
              "title": "IdleThreadStatusType"
            }
          },
          "title": "IdleThreadStatus"
        },
        {
          "type": "object",
          "required": [
            "type"
          ],
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "systemError"
              ],
              "title": "SystemErrorThreadStatusType"
            }
          },
          "title": "SystemErrorThreadStatus"
        },
        {
          "type": "object",
          "required": [
            "activeFlags",
            "type"
          ],
          "properties": {
            "activeFlags": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ThreadActiveFlag"
              }
            },
            "type": {
              "type": "string",
              "enum": [
                "active"
              ],
              "title": "ActiveThreadStatusType"
            }
          },
          "title": "ActiveThreadStatus"
        }
      ]
    }
  }
}