{
  "type": "object",
  "properties": {
    "action": {
      "enum": [
        "list",
        "get",
        "create",
        "edit",
        "vote",
        "clear_vote",
        "close",
        "reopen",
        "archive",
        "markdown"
      ],
      "description": "Operation to perform. Choose one advertised value; the remaining parameters are interpreted for that action."
    },
    "review": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "kind": {
              "const": "draft"
            },
            "id": {
              "type": "string",
              "minLength": 1,
              "maxLength": 1000
            }
          },
          "required": [
            "kind",
            "id"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "const": "package"
            },
            "id": {
              "type": "string",
              "minLength": 1,
              "maxLength": 1000
            }
          },
          "required": [
            "kind",
            "id"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "const": "guide"
            },
            "id": {
              "type": "string",
              "minLength": 1,
              "maxLength": 1000
            }
          },
          "required": [
            "kind",
            "id"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "const": "snapshot"
            },
            "id": {
              "type": "string",
              "minLength": 1,
              "maxLength": 1000
            }
          },
          "required": [
            "kind",
            "id"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "const": "preview"
            },
            "id": {
              "type": "string",
              "minLength": 1,
              "maxLength": 1000
            }
          },
          "required": [
            "kind",
            "id"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "const": "pr"
            },
            "provider": {
              "enum": [
                "github",
                "azure_devops"
              ]
            },
            "owner": {
              "type": "string"
            },
            "repo": {
              "type": "string"
            },
            "projectName": {
              "type": [
                "string",
                "null"
              ]
            },
            "prNumber": {
              "type": "integer",
              "minimum": 1
            }
          },
          "required": [
            "kind",
            "provider",
            "owner",
            "repo",
            "prNumber"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "const": "branch"
            },
            "provider": {
              "enum": [
                "github",
                "azure_devops"
              ]
            },
            "owner": {
              "type": "string"
            },
            "repo": {
              "type": "string"
            },
            "projectName": {
              "type": [
                "string",
                "null"
              ]
            },
            "branchRef": {
              "type": "string"
            }
          },
          "required": [
            "kind",
            "provider",
            "owner",
            "repo",
            "branchRef"
          ],
          "additionalProperties": false
        }
      ],
      "description": "Review used by the selected Review Polls action."
    },
    "threadId": {
      "type": "string",
      "description": "Stable Commentary review-thread identifier."
    },
    "commentId": {
      "type": "string",
      "description": "Stable Commentary comment identifier."
    },
    "pollId": {
      "type": "string",
      "description": "Stable poll-comment identifier."
    },
    "poll": {
      "type": "object",
      "description": "Poll object used by the selected Review Polls action."
    },
    "selectedOptionIds": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Selected option ids values used by the selected Review Polls action."
    },
    "after": {
      "type": "string",
      "description": "After used by the selected Review Polls action."
    },
    "reason": {
      "type": "string",
      "description": "Reason used by the selected Review Polls action."
    },
    "outcome": {
      "enum": [
        "all",
        "pending",
        "accepted_for_change",
        "blocked",
        "needs_owner_decision",
        "rejected",
        "out_of_scope",
        "stale"
      ],
      "description": "Allowed outcome value for the selected Review Polls action."
    }
  },
  "required": [
    "action"
  ],
  "additionalProperties": false
}