{
  "openapi": "3.1.0",
  "servers": [
    {
      "url": "https://api.trunk.io/v1"
    }
  ],
  "info": {
    "title": "Trunk APIs",
    "version": "1.0.0",
    "license": {
      "name": "UNLICENSED"
    }
  },
  "paths": {
    "/submitPullRequest": {
      "post": {
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Submit a pull request to a merge queue.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "repo": {
                    "type": "object",
                    "properties": {
                      "host": {
                        "type": "string"
                      },
                      "owner": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "host",
                      "owner",
                      "name"
                    ]
                  },
                  "pr": {
                    "type": "object",
                    "properties": {
                      "number": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 4294967295
                      }
                    },
                    "required": [
                      "number"
                    ]
                  },
                  "targetBranch": {
                    "type": "string"
                  },
                  "priority": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 4294967295
                      },
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "noBatch": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "repo",
                  "pr",
                  "targetBranch"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/cancelPullRequest": {
      "post": {
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Cancel a pull request in a merge queue.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "repo": {
                    "type": "object",
                    "properties": {
                      "host": {
                        "type": "string"
                      },
                      "owner": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "host",
                      "owner",
                      "name"
                    ]
                  },
                  "pr": {
                    "type": "object",
                    "properties": {
                      "number": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 4294967295
                      }
                    },
                    "required": [
                      "number"
                    ]
                  },
                  "targetBranch": {
                    "type": "string"
                  }
                },
                "required": [
                  "repo",
                  "pr",
                  "targetBranch"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/restartTestsOnPullRequest": {
      "post": {
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Restart tests on a pull request in a merge queue.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "repo": {
                    "type": "object",
                    "properties": {
                      "host": {
                        "type": "string"
                      },
                      "owner": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "host",
                      "owner",
                      "name"
                    ]
                  },
                  "pr": {
                    "type": "object",
                    "properties": {
                      "number": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 4294967295
                      }
                    },
                    "required": [
                      "number"
                    ]
                  },
                  "targetBranch": {
                    "type": "string"
                  }
                },
                "required": [
                  "repo",
                  "pr",
                  "targetBranch"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/getSubmittedPullRequest": {
      "post": {
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Get a submitted pull request from a merge queue.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "repo": {
                    "type": "object",
                    "properties": {
                      "host": {
                        "type": "string"
                      },
                      "owner": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "host",
                      "owner",
                      "name"
                    ]
                  },
                  "pr": {
                    "type": "object",
                    "properties": {
                      "number": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 4294967295
                      }
                    },
                    "required": [
                      "number"
                    ]
                  },
                  "targetBranch": {
                    "type": "string"
                  }
                },
                "required": [
                  "repo",
                  "pr",
                  "targetBranch"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "state": {
                      "type": "string",
                      "enum": [
                        "not_ready",
                        "pending",
                        "testing",
                        "tests_passed",
                        "merged",
                        "failed",
                        "cancelled",
                        "pending_failure"
                      ],
                      "description": "The state of a pull request in the merge queue. See https://docs.trunk.io/merge-queue/using-the-queue/reference#pull-request-states for the full description of each state."
                    },
                    "readiness": {
                      "type": "object",
                      "properties": {
                        "hasImpactedTargets": {
                          "type": "boolean",
                          "description": "Whether the set of impacted build/test targets for this PR has been reported."
                        },
                        "requiresImpactedTargets": {
                          "type": "boolean",
                          "description": "Whether the queue is configured to require impacted-target reporting before a PR can start testing."
                        },
                        "doesBaseBranchMatch": {
                          "type": "boolean",
                          "description": "Whether the PR's base branch matches the queue's target branch."
                        },
                        "gitHubMergeability": {
                          "type": "string",
                          "enum": [
                            "unspecified",
                            "in_progress",
                            "mergeable",
                            "not_mergeable"
                          ],
                          "description": "GitHub's mergeability state for the PR (cached). `unspecified` — not yet known. `in_progress` — GitHub is still computing mergeability. `mergeable` — GitHub reports the PR can be merged. `not_mergeable` — GitHub reports the PR cannot be merged (e.g. merge conflict)."
                        }
                      },
                      "required": [
                        "requiresImpactedTargets",
                        "doesBaseBranchMatch",
                        "gitHubMergeability"
                      ],
                      "description": "Readiness signals for a pull request in the merge queue. A PR can start testing when `doesBaseBranchMatch` is true, `gitHubMergeability` is `mergeable`, and (when `requiresImpactedTargets` is true) `hasImpactedTargets` is true."
                    },
                    "stateChangedAt": {
                      "type": "string"
                    },
                    "priorityValue": {
                      "type": "number"
                    },
                    "priorityName": {
                      "type": "string"
                    },
                    "usedDefaultPriorityName": {
                      "type": "string"
                    },
                    "skipTheLine": {
                      "type": "boolean"
                    },
                    "forceEnqueued": {
                      "type": "boolean"
                    },
                    "isCurrentlySubmittedToQueue": {
                      "type": "boolean"
                    },
                    "prNumber": {
                      "type": "number"
                    },
                    "prTitle": {
                      "type": "string"
                    },
                    "prSha": {
                      "type": "string"
                    },
                    "prBaseBranch": {
                      "type": "string"
                    },
                    "prAuthor": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "stateChangedAt",
                    "priorityValue",
                    "priorityName",
                    "skipTheLine",
                    "forceEnqueued",
                    "isCurrentlySubmittedToQueue",
                    "prNumber",
                    "prTitle",
                    "prSha",
                    "prBaseBranch",
                    "prAuthor"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/listPullRequests": {
      "post": {
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "List pull requests in a merge queue.",
        "description": "Returns a paginated list of pull requests in the merge queue. Optionally filter by state and/or by a time range for concluded pull requests.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "repo": {
                    "type": "object",
                    "properties": {
                      "host": {
                        "type": "string",
                        "description": "The host of the repository (e.g., github.com).",
                        "examples": [
                          "github.com"
                        ]
                      },
                      "owner": {
                        "type": "string",
                        "description": "The owner of the repository.",
                        "examples": [
                          "trunk-io"
                        ]
                      },
                      "name": {
                        "type": "string",
                        "description": "The name of the repository.",
                        "examples": [
                          "trunk"
                        ]
                      }
                    },
                    "required": [
                      "host",
                      "owner",
                      "name"
                    ]
                  },
                  "targetBranch": {
                    "type": "string",
                    "description": "The target branch of the merge queue.",
                    "examples": [
                      "main"
                    ]
                  },
                  "state": {
                    "type": "string",
                    "enum": [
                      "not_ready",
                      "pending",
                      "testing",
                      "tests_passed",
                      "merged",
                      "failed",
                      "cancelled",
                      "pending_failure"
                    ],
                    "description": "Optional filter for the state of pull requests. If not provided, pull requests of all states will be returned."
                  },
                  "since": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Optional ISO 8601 timestamp. When provided, returns pull requests that concluded (merged, failed, or cancelled) since this time.",
                    "examples": [
                      "2024-01-01T00:00:00Z"
                    ]
                  },
                  "cursor": {
                    "type": "string",
                    "format": "uuid",
                    "description": "Optional cursor for pagination. Use the nextCursor from the previous response."
                  },
                  "take": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 100,
                    "default": 50,
                    "description": "Number of pull requests to return (1-100). Defaults to 50."
                  }
                },
                "required": [
                  "repo",
                  "targetBranch"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "pullRequests": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "state": {
                            "type": "string",
                            "enum": [
                              "not_ready",
                              "pending",
                              "testing",
                              "tests_passed",
                              "merged",
                              "failed",
                              "cancelled",
                              "pending_failure"
                            ],
                            "description": "The state of a pull request in the merge queue. See https://docs.trunk.io/merge-queue/using-the-queue/reference#pull-request-states for the full description of each state."
                          },
                          "stateChangedAt": {
                            "type": "string"
                          },
                          "priorityValue": {
                            "type": "number"
                          },
                          "priorityName": {
                            "type": "string"
                          },
                          "usedDefaultPriorityName": {
                            "type": "string"
                          },
                          "skipTheLine": {
                            "type": "boolean"
                          },
                          "noBatch": {
                            "type": "boolean"
                          },
                          "prNumber": {
                            "type": "number"
                          },
                          "prTitle": {
                            "type": "string"
                          },
                          "prSha": {
                            "type": "string"
                          },
                          "prBaseBranch": {
                            "type": "string"
                          },
                          "prAuthor": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "stateChangedAt",
                          "priorityValue",
                          "priorityName",
                          "skipTheLine",
                          "noBatch",
                          "prNumber",
                          "prTitle",
                          "prSha",
                          "prBaseBranch",
                          "prAuthor"
                        ]
                      },
                      "description": "List of pull requests in the merge queue."
                    },
                    "nextCursor": {
                      "type": "string",
                      "format": "uuid",
                      "description": "Cursor for the next page of results. If absent, there are no more results."
                    }
                  },
                  "required": [
                    "pullRequests"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/getQueue": {
      "post": {
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Get the merge queue.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "repo": {
                    "type": "object",
                    "properties": {
                      "host": {
                        "type": "string"
                      },
                      "owner": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "host",
                      "owner",
                      "name"
                    ]
                  },
                  "targetBranch": {
                    "type": "string"
                  }
                },
                "required": [
                  "repo",
                  "targetBranch"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "state": {
                      "type": "string",
                      "enum": [
                        "running",
                        "paused",
                        "draining",
                        "switching_modes"
                      ],
                      "description": "The state of the merge queue. See https://docs.trunk.io/merge-queue/administration/advanced-settings#merge-queue-state for the full description of each state."
                    },
                    "branch": {
                      "type": "string"
                    },
                    "concurrency": {
                      "type": "number"
                    },
                    "testingTimeoutMinutes": {
                      "type": "number"
                    },
                    "mode": {
                      "type": "string",
                      "enum": [
                        "single",
                        "parallel"
                      ]
                    },
                    "canOptimisticallyMerge": {
                      "type": "boolean"
                    },
                    "pendingFailureDepth": {
                      "type": "number"
                    },
                    "batch": {
                      "type": "boolean"
                    },
                    "batchingMaxWaitTimeMinutes": {
                      "type": "number"
                    },
                    "batchingMinSize": {
                      "type": "number"
                    },
                    "createPrsForTestingBranches": {
                      "type": "boolean"
                    },
                    "commentsEnabled": {
                      "type": "boolean"
                    },
                    "commandsEnabled": {
                      "type": "boolean"
                    },
                    "statusCheckEnabled": {
                      "type": "boolean"
                    },
                    "bisectionConcurrency": {
                      "type": "number"
                    },
                    "requiredStatuses": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "directMergeMode": {
                      "type": "string",
                      "enum": [
                        "off",
                        "always"
                      ],
                      "description": "Controls whether PRs can skip the queue's test run and merge directly when already up to date with the target branch. See https://docs.trunk.io/merge-queue/administration/advanced-settings#direct-merge-to-main for details."
                    },
                    "optimizationMode": {
                      "type": "string",
                      "enum": [
                        "off",
                        "bisection_skip_redundant_tests"
                      ],
                      "description": "The optimization strategy for the merge queue. `off` — no optimizations. See https://docs.trunk.io/merge-queue/optimizations/batching#test-caching-during-bisection for details on `bisection_skip_redundant_tests`."
                    },
                    "mergeMethod": {
                      "type": "string",
                      "enum": [
                        "merge_commit",
                        "squash",
                        "rebase"
                      ],
                      "description": "The Git strategy used to merge a PR into the target branch. See https://docs.trunk.io/merge-queue/administration/advanced-settings#merge-method for details."
                    },
                    "enqueuedPullRequests": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "state": {
                            "type": "string",
                            "enum": [
                              "not_ready",
                              "pending",
                              "testing",
                              "tests_passed",
                              "merged",
                              "failed",
                              "cancelled",
                              "pending_failure"
                            ],
                            "description": "The state of a pull request in the merge queue. See https://docs.trunk.io/merge-queue/using-the-queue/reference#pull-request-states for the full description of each state."
                          },
                          "stateChangedAt": {
                            "type": "string"
                          },
                          "priorityValue": {
                            "type": "number"
                          },
                          "priorityName": {
                            "type": "string"
                          },
                          "usedDefaultPriorityName": {
                            "type": "string"
                          },
                          "skipTheLine": {
                            "type": "boolean"
                          },
                          "noBatch": {
                            "type": "boolean"
                          },
                          "prNumber": {
                            "type": "number"
                          },
                          "prTitle": {
                            "type": "string"
                          },
                          "prSha": {
                            "type": "string"
                          },
                          "prBaseBranch": {
                            "type": "string"
                          },
                          "prAuthor": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "stateChangedAt",
                          "priorityValue",
                          "priorityName",
                          "skipTheLine",
                          "noBatch",
                          "prNumber",
                          "prTitle",
                          "prSha",
                          "prBaseBranch",
                          "prAuthor"
                        ]
                      }
                    }
                  },
                  "required": [
                    "state",
                    "branch",
                    "concurrency",
                    "testingTimeoutMinutes",
                    "mode",
                    "canOptimisticallyMerge",
                    "pendingFailureDepth",
                    "batch",
                    "batchingMaxWaitTimeMinutes",
                    "batchingMinSize",
                    "createPrsForTestingBranches",
                    "commentsEnabled",
                    "commandsEnabled",
                    "statusCheckEnabled",
                    "bisectionConcurrency",
                    "requiredStatuses",
                    "directMergeMode",
                    "optimizationMode",
                    "mergeMethod",
                    "enqueuedPullRequests"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/updateQueue": {
      "post": {
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Update the merge queue.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "repo": {
                    "type": "object",
                    "properties": {
                      "host": {
                        "type": "string"
                      },
                      "owner": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "host",
                      "owner",
                      "name"
                    ]
                  },
                  "targetBranch": {
                    "type": "string",
                    "description": "The branch that the merge queue is targeting."
                  },
                  "state": {
                    "type": "string",
                    "enum": [
                      "running",
                      "paused",
                      "draining"
                    ],
                    "description": "The desired state of the merge queue. Valid values: RUNNING, PAUSED, DRAINING."
                  },
                  "concurrency": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 4294967295,
                    "description": "The number of PRs or batches of PRs the queue can test at once."
                  },
                  "bisectionConcurrency": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 4294967295,
                    "description": "The number of tests the merge queue can run when bisecting a batch to figure out what PR in the batch failed."
                  },
                  "testingTimeoutMinutes": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 4294967295,
                    "description": "The maximum number of minutes the merge queue will wait for tests to complete before timing out."
                  },
                  "pendingFailureDepth": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 4294967295,
                    "description": "When enabled, PRs that fail tests will wait for the specified number of PRs below them to finish testing before getting kicked from the queue. This works best with optimistic merging enabled."
                  },
                  "canOptimisticallyMerge": {
                    "type": "boolean",
                    "description": "When enabled, a PR that passes tests will also cause any PR ahead of it in the queue to also get marked as passing, since tests have passed with those commits."
                  },
                  "batch": {
                    "type": "boolean",
                    "description": "Enable or disable batching. When enabled, the merge queue will group PRs into batches for testing."
                  },
                  "batchingMaxWaitTimeMinutes": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 4294967295,
                    "description": "The maximum number of minutes the merge queue will wait to collect PRs into a batch before starting tests."
                  },
                  "batchingMinSize": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 4294967295,
                    "description": "The minimum number of PRs required to form a batch."
                  },
                  "mode": {
                    "type": "string",
                    "enum": [
                      "single",
                      "parallel"
                    ],
                    "description": "The queue mode. 'single' processes PRs one at a time. 'parallel' processes multiple PRs concurrently."
                  },
                  "commentsEnabled": {
                    "type": "boolean",
                    "description": "Whether or not Merge Queue will post GitHub comments on PRs."
                  },
                  "commandsEnabled": {
                    "type": "boolean",
                    "description": "Whether or not users are allowed to submit PRs to the merge queue by commenting `/trunk merge`."
                  },
                  "createPrsForTestingBranches": {
                    "type": "boolean",
                    "description": "Whether or not the merge queue will create PRs for its testing branches, allowing CI to run on them."
                  },
                  "directMergeMode": {
                    "type": "string",
                    "enum": [
                      "off",
                      "always"
                    ],
                    "description": "Allow PRs to merge directly into the target branch if they're up to date with the target branch when submitting them to the queue instead of running tests on them in the merge queue."
                  },
                  "optimizationMode": {
                    "type": "string",
                    "enum": [
                      "off",
                      "bisection_skip_redundant_tests"
                    ],
                    "description": "The optimization strategy for the merge queue. 'off' disables optimizations. 'bisection_skip_redundant_tests' uses bisection and skips redundant tests."
                  },
                  "mergeMethod": {
                    "type": "string",
                    "enum": [
                      "merge_commit",
                      "squash",
                      "rebase"
                    ],
                    "description": "The Git merge method used when merging PRs into the target branch. Valid values: merge_commit, squash, rebase."
                  },
                  "statusCheckEnabled": {
                    "type": "boolean",
                    "description": "Post a GitHub status check on PRs with the status of the PR in the merge queue."
                  },
                  "requiredStatuses": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "Allows setting the statuses that must pass when the merge queue performs tests in order for a PR to merge. Setting the statuses here will override GitHub branch protection settings or your `.trunk/trunk.yaml`."
                  },
                  "deleteRequiredStatuses": {
                    "type": "boolean",
                    "description": "Removes a manually specified set of required statuses. After this, the statuses that must pass when the merge queue performs testing will be pulled from either GitHub branch protection settings or your `.trunk/trunk.yaml`."
                  }
                },
                "required": [
                  "repo",
                  "targetBranch"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "state": {
                      "type": "string",
                      "enum": [
                        "running",
                        "paused",
                        "draining",
                        "switching_modes"
                      ],
                      "description": "The state of the merge queue. See https://docs.trunk.io/merge-queue/administration/advanced-settings#merge-queue-state for the full description of each state."
                    },
                    "branch": {
                      "type": "string"
                    },
                    "concurrency": {
                      "type": "number"
                    },
                    "testingTimeoutMinutes": {
                      "type": "number"
                    },
                    "mode": {
                      "type": "string",
                      "enum": [
                        "single",
                        "parallel"
                      ]
                    },
                    "canOptimisticallyMerge": {
                      "type": "boolean"
                    },
                    "pendingFailureDepth": {
                      "type": "number"
                    },
                    "batch": {
                      "type": "boolean"
                    },
                    "batchingMaxWaitTimeMinutes": {
                      "type": "number"
                    },
                    "batchingMinSize": {
                      "type": "number"
                    },
                    "createPrsForTestingBranches": {
                      "type": "boolean"
                    },
                    "commentsEnabled": {
                      "type": "boolean"
                    },
                    "commandsEnabled": {
                      "type": "boolean"
                    },
                    "statusCheckEnabled": {
                      "type": "boolean"
                    },
                    "bisectionConcurrency": {
                      "type": "number"
                    },
                    "requiredStatuses": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "directMergeMode": {
                      "type": "string",
                      "enum": [
                        "off",
                        "always"
                      ],
                      "description": "Controls whether PRs can skip the queue's test run and merge directly when already up to date with the target branch. See https://docs.trunk.io/merge-queue/administration/advanced-settings#direct-merge-to-main for details."
                    },
                    "optimizationMode": {
                      "type": "string",
                      "enum": [
                        "off",
                        "bisection_skip_redundant_tests"
                      ],
                      "description": "The optimization strategy for the merge queue. `off` — no optimizations. See https://docs.trunk.io/merge-queue/optimizations/batching#test-caching-during-bisection for details on `bisection_skip_redundant_tests`."
                    },
                    "mergeMethod": {
                      "type": "string",
                      "enum": [
                        "merge_commit",
                        "squash",
                        "rebase"
                      ],
                      "description": "The Git strategy used to merge a PR into the target branch. See https://docs.trunk.io/merge-queue/administration/advanced-settings#merge-method for details."
                    }
                  },
                  "required": [
                    "state",
                    "branch",
                    "concurrency",
                    "testingTimeoutMinutes",
                    "mode",
                    "canOptimisticallyMerge",
                    "pendingFailureDepth",
                    "batch",
                    "batchingMaxWaitTimeMinutes",
                    "batchingMinSize",
                    "createPrsForTestingBranches",
                    "commentsEnabled",
                    "commandsEnabled",
                    "statusCheckEnabled",
                    "bisectionConcurrency",
                    "requiredStatuses",
                    "directMergeMode",
                    "optimizationMode",
                    "mergeMethod"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/createQueue": {
      "post": {
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Create a new merge queue.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "repo": {
                    "type": "object",
                    "properties": {
                      "host": {
                        "type": "string"
                      },
                      "owner": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "host",
                      "owner",
                      "name"
                    ]
                  },
                  "targetBranch": {
                    "type": "string"
                  },
                  "mode": {
                    "type": "string",
                    "enum": [
                      "single",
                      "parallel"
                    ],
                    "description": "The queue processing mode. See https://docs.trunk.io/merge-queue/administration/advanced-settings#merge-queue-mode for details."
                  },
                  "concurrency": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 4294967295
                  }
                },
                "required": [
                  "repo",
                  "targetBranch"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/deleteQueue": {
      "post": {
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Delete the specified merge queue. The queue must be empty in order to be deleted.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "repo": {
                    "type": "object",
                    "properties": {
                      "host": {
                        "type": "string"
                      },
                      "owner": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "host",
                      "owner",
                      "name"
                    ]
                  },
                  "targetBranch": {
                    "type": "string"
                  }
                },
                "required": [
                  "repo",
                  "targetBranch"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/getMergeQueueTestingDetails": {
      "post": {
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Get details about testing that Merge Queue is performing",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "repo": {
                    "type": "object",
                    "properties": {
                      "host": {
                        "type": "string",
                        "description": "The host of the repository (e.g. `github.com`)."
                      },
                      "owner": {
                        "type": "string",
                        "description": "The owner of the repository (e.g. `my-org`)."
                      },
                      "name": {
                        "type": "string",
                        "description": "The name of the repository (e.g. `my-repo`)."
                      }
                    },
                    "required": [
                      "host",
                      "owner",
                      "name"
                    ],
                    "description": "The repository whose merge queue is running the test run."
                  },
                  "testRunId": {
                    "type": "string"
                  },
                  "targetBranch": {
                    "type": "string",
                    "description": "The target branch of the merge queue that is running the test run (e.g. `main`)."
                  }
                },
                "required": [
                  "repo",
                  "testRunId",
                  "targetBranch"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "requiredStatuses": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "The list of status check names that must all pass for the test run to succeed and its PRs to merge."
                    },
                    "requiredStatusesSource": {
                      "type": "string",
                      "enum": [
                        "trunk_config",
                        "repo_provider_branch_protection",
                        "merge_instance"
                      ],
                      "description": "Where the merge queue sourced the list of required statuses from. `trunk_config` — from the repository's `.trunk/trunk.yaml`. `repo_provider_branch_protection` — from the Git provider's branch protection settings (e.g. GitHub branch protection rules). `merge_instance` — from the merge queue's own configuration (e.g. set via the API)."
                    },
                    "testBranch": {
                      "type": "string",
                      "description": "The name of the temporary branch the merge queue created to run tests against (e.g. `trunk-merge/pr-1815/5df78918-...`)."
                    },
                    "testBranchSha": {
                      "type": "string",
                      "description": "The commit SHA at the tip of the test branch that the test run was started on."
                    },
                    "createdAt": {
                      "type": "string",
                      "description": "ISO 8601 timestamp of when the test run was created."
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "in_progress",
                        "failed",
                        "cancelled",
                        "succeeded"
                      ],
                      "description": "The status of a merge queue test run. `in_progress` — tests are currently running. `succeeded` — all required statuses passed. `failed` — at least one required status failed. `cancelled` — the test run was cancelled before completion."
                    },
                    "checkSuites": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "checkRuns": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "name": {
                                  "type": "string",
                                  "description": "The name of the GitHub check run (e.g. `build`, `lint`)."
                                },
                                "url": {
                                  "type": "string",
                                  "description": "URL to the check run on GitHub."
                                },
                                "status": {
                                  "type": "string",
                                  "enum": [
                                    "QUEUED",
                                    "IN_PROGRESS",
                                    "COMPLETED"
                                  ],
                                  "description": "The status of a GitHub check run. Mirrors GitHub's check run status values."
                                },
                                "conclusion": {
                                  "type": "string",
                                  "enum": [
                                    "ACTION_REQUIRED",
                                    "CANCELLED",
                                    "FAILURE",
                                    "NEUTRAL",
                                    "SUCCESS",
                                    "SKIPPED",
                                    "STALE",
                                    "TIMED_OUT"
                                  ],
                                  "description": "The conclusion of a completed GitHub check run. Mirrors GitHub's check run conclusion values; only set once `status` is `COMPLETED`."
                                }
                              },
                              "required": [
                                "name",
                                "url"
                              ]
                            },
                            "description": "The individual check runs that make up this check suite."
                          }
                        },
                        "required": [
                          "checkRuns"
                        ]
                      },
                      "description": "GitHub check suites reported against the test branch."
                    },
                    "statusChecks": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "context": {
                            "type": "string",
                            "description": "The context (name) of the status check as posted to GitHub (e.g. `ci/lint`)."
                          },
                          "url": {
                            "type": "string",
                            "description": "URL with more details about this status check, if any."
                          },
                          "state": {
                            "type": "string",
                            "enum": [
                              "ERROR",
                              "FAILURE",
                              "PENDING",
                              "SUCCESS"
                            ],
                            "description": "The state of a GitHub commit status check. Mirrors GitHub's commit status state values."
                          }
                        },
                        "required": [
                          "context"
                        ]
                      },
                      "description": "GitHub commit status checks reported against the test branch SHA."
                    },
                    "testedPullRequests": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "prNumber": {
                            "type": "number",
                            "description": "The pull request number on the Git provider."
                          },
                          "prUrl": {
                            "type": "string",
                            "description": "URL of the pull request on the Git provider."
                          },
                          "title": {
                            "type": "string",
                            "description": "The title of the pull request."
                          }
                        },
                        "required": [
                          "prNumber",
                          "prUrl",
                          "title"
                        ]
                      },
                      "description": "The pull requests that this test run is testing. Contains multiple entries when batching is enabled."
                    },
                    "impactedTargets": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "The union of impacted build/test targets across all PRs involved in the test run, including any dependent PRs previously merged into the test branch. Only present when impacted targets are being uploaded for the repository."
                    },
                    "impactedTargetsForTestedPrs": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "The impacted build/test targets for only the PRs being tested in this run (i.e. `testedPullRequests`), excluding any dependent PRs. Only present when impacted targets are being uploaded for the repository."
                    },
                    "dependentPrs": {
                      "type": "array",
                      "items": {
                        "type": "number"
                      },
                      "description": "PR numbers of other PRs this test run depends on but is not itself testing. Populated in parallel-mode queues when previously-passed PRs ahead of the tested PR are merged into the test branch to form the predicted base."
                    }
                  },
                  "required": [
                    "requiredStatuses",
                    "testBranch",
                    "testBranchSha",
                    "checkSuites",
                    "statusChecks",
                    "testedPullRequests"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/getMergeQueueMetrics": {
      "get": {
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Get Prometheus-format metrics for a merge queue",
        "responses": {
          "200": {
            "description": "Prometheus-format metrics",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/setImpactedTargets": {
      "post": {
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Set impacted targets for a pull request.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "repo": {
                    "type": "object",
                    "properties": {
                      "host": {
                        "type": "string"
                      },
                      "owner": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "host",
                      "owner",
                      "name"
                    ]
                  },
                  "pr": {
                    "type": "object",
                    "properties": {
                      "number": {
                        "type": "integer",
                        "minimum": 1,
                        "maximum": 4294967295
                      },
                      "sha": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "number",
                      "sha"
                    ]
                  },
                  "targetBranch": {
                    "type": "string"
                  },
                  "impactedTargets": {
                    "anyOf": [
                      {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      {
                        "type": "string",
                        "const": "ALL"
                      }
                    ]
                  }
                },
                "required": [
                  "repo",
                  "pr",
                  "targetBranch",
                  "impactedTargets"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/flaky-ci/create-ci-run": {
      "post": {
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "[alpha] Record a CI run",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "repo": {
                    "type": "object",
                    "properties": {
                      "host": {
                        "type": "string"
                      },
                      "owner": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "host",
                      "owner",
                      "name"
                    ]
                  },
                  "org_url_slug": {
                    "type": "string"
                  },
                  "ci_job_name": {
                    "type": "string"
                  },
                  "provider": {
                    "type": "string",
                    "enum": [
                      "github",
                      "jenkins",
                      "circleci",
                      "semaphore",
                      "travis",
                      "webappio",
                      "codebuild",
                      "bitbucket",
                      "azure",
                      "gitlab",
                      "drone",
                      "buildkite"
                    ]
                  },
                  "run_start": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "run_end": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "branch": {
                    "type": "string"
                  },
                  "sha": {
                    "type": "string"
                  },
                  "attempt": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 4294967295
                  },
                  "run_conclusion": {
                    "type": "string",
                    "enum": [
                      "success",
                      "failure",
                      "skipped",
                      "cancelled"
                    ]
                  },
                  "run_conclusion_cause": {
                    "type": "string",
                    "enum": [
                      "test",
                      "ci"
                    ]
                  },
                  "providers_job_id": {
                    "type": "string"
                  },
                  "providers_run_id": {
                    "type": "string"
                  }
                },
                "required": [
                  "repo",
                  "org_url_slug",
                  "ci_job_name",
                  "run_start",
                  "run_end",
                  "branch",
                  "sha",
                  "attempt"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "run_id": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "run_id"
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/flaky-tests/list-quarantined-tests": {
      "post": {
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Get a list of quarantined tests",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "repo": {
                    "type": "object",
                    "properties": {
                      "host": {
                        "type": "string",
                        "description": "The host of the repository. For example, `github.com` or `gitlab.com`. If self-hosting, this will be the hostname of your instance.",
                        "examples": [
                          "github.com",
                          "gitlab.com",
                          "github-enterprise.my-org-tld.com",
                          "gitlab-enterprise.my-org-tld.com"
                        ]
                      },
                      "owner": {
                        "type": "string",
                        "description": "The owner of the repository. For example, `my-github-org` or `my-gitlab-org/my/sub/group`. `owner` for GitLab will include the GitLab org, plus the project path, but excluding the repo name itself.",
                        "examples": [
                          "my-github-org",
                          "my-gitlab-org/my/sub/group"
                        ]
                      },
                      "name": {
                        "type": "string",
                        "description": "The name of the repository.",
                        "examples": [
                          "my-repo"
                        ]
                      }
                    },
                    "required": [
                      "host",
                      "owner",
                      "name"
                    ],
                    "description": "The repository to list tests for."
                  },
                  "org_url_slug": {
                    "type": "string",
                    "description": "The slug of your organization. Find this at https://app.trunk.io/trunk/settings under \"Organization Name\" > \"Slug\"",
                    "examples": [
                      "my-trunk-org-slug"
                    ]
                  },
                  "page_query": {
                    "type": "object",
                    "properties": {
                      "page_size": {
                        "type": "integer",
                        "minimum": 1,
                        "maximum": 100,
                        "description": "The number of tests to return per page."
                      },
                      "page_token": {
                        "type": "string",
                        "description": "The page token to use for pagination. This is returned from the previous call to this endpoint. For the first page, this should be empty.",
                        "examples": [
                          ""
                        ]
                      }
                    },
                    "required": [
                      "page_size"
                    ],
                    "description": "Pagination options for the list of tests."
                  }
                },
                "required": [
                  "repo",
                  "org_url_slug",
                  "page_query"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "quarantined_tests": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "name": {
                            "type": "string",
                            "description": "The name of the test case."
                          },
                          "parent": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "description": "The parent of the test case."
                          },
                          "file": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "description": "The file of the test case."
                          },
                          "classname": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "description": "The class name of the test case."
                          },
                          "status": {
                            "type": "string",
                            "enum": [
                              "HEALTHY",
                              "FLAKY",
                              "BROKEN"
                            ],
                            "description": "The status of the test case."
                          },
                          "codeowners": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "description": "The latest codeowners of the test case."
                          },
                          "quarantine_setting": {
                            "type": "string",
                            "enum": [
                              "ALWAYS_QUARANTINE",
                              "AUTO_QUARANTINE"
                            ],
                            "description": "The quarantine setting of the test case."
                          },
                          "quarantined_at": {
                            "type": "string",
                            "format": "date-time",
                            "description": "The time at which the test case was quarantined, if applicable."
                          },
                          "status_last_updated_at": {
                            "type": "string",
                            "format": "date-time",
                            "description": "The last time the status of the test case was updated."
                          },
                          "test_case_id": {
                            "type": "string",
                            "description": "The ID of the test case. This value is unstable and should not be relied upon."
                          },
                          "variant": {
                            "type": "string",
                            "description": "The variant of the test case."
                          }
                        },
                        "required": [
                          "name",
                          "parent",
                          "file",
                          "classname",
                          "status",
                          "codeowners",
                          "quarantine_setting",
                          "quarantined_at",
                          "status_last_updated_at",
                          "test_case_id",
                          "variant"
                        ],
                        "description": "A quarantined test case."
                      },
                      "description": "A page of quarantined test cases."
                    },
                    "page": {
                      "type": "object",
                      "properties": {
                        "total_rows": {
                          "type": "number",
                          "minimum": 0,
                          "description": "The total number of test cases in the paginated list."
                        },
                        "total_pages": {
                          "type": "number",
                          "minimum": 0,
                          "description": "The total number of pages in the paginated list of test cases."
                        },
                        "next_page_token": {
                          "type": "string",
                          "description": "The next page token to use for pagination. See `page_token` in the request for more information."
                        },
                        "prev_page_token": {
                          "type": "string",
                          "description": "The previous page token to use for pagination. See `page_token` in the request for more information."
                        },
                        "last_page_token": {
                          "type": "string",
                          "description": "The last page token to use for pagination. See `page_token` in the request for more information."
                        },
                        "page_index": {
                          "type": "number",
                          "minimum": 0,
                          "description": "The index of the current page in the paginated list of test cases."
                        }
                      },
                      "required": [
                        "total_rows",
                        "total_pages",
                        "next_page_token",
                        "prev_page_token",
                        "last_page_token",
                        "page_index"
                      ],
                      "description": "Pagination information for the list of test cases."
                    }
                  },
                  "required": [
                    "quarantined_tests",
                    "page"
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/flaky-tests/list-unhealthy-tests": {
      "post": {
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Get a list of unhealthy tests",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "repo": {
                    "type": "object",
                    "properties": {
                      "host": {
                        "type": "string",
                        "description": "The host of the repository. For example, `github.com` or `gitlab.com`. If self-hosting, this will be the hostname of your instance.",
                        "examples": [
                          "github.com",
                          "gitlab.com",
                          "github-enterprise.my-org-tld.com",
                          "gitlab-enterprise.my-org-tld.com"
                        ]
                      },
                      "owner": {
                        "type": "string",
                        "description": "The owner of the repository. For example, `my-github-org` or `my-gitlab-org/my/sub/group`. `owner` for GitLab will include the GitLab org, plus the project path, but excluding the repo name itself.",
                        "examples": [
                          "my-github-org",
                          "my-gitlab-org/my/sub/group"
                        ]
                      },
                      "name": {
                        "type": "string",
                        "description": "The name of the repository.",
                        "examples": [
                          "my-repo"
                        ]
                      }
                    },
                    "required": [
                      "host",
                      "owner",
                      "name"
                    ],
                    "description": "The repository to list tests for."
                  },
                  "org_url_slug": {
                    "type": "string",
                    "description": "The slug of your organization. Find this at https://app.trunk.io/trunk/settings under \"Organization Name\" > \"Slug\"",
                    "examples": [
                      "my-trunk-org-slug"
                    ]
                  },
                  "page_query": {
                    "type": "object",
                    "properties": {
                      "page_size": {
                        "type": "integer",
                        "minimum": 1,
                        "maximum": 100,
                        "description": "The number of tests to return per page."
                      },
                      "page_token": {
                        "type": "string",
                        "description": "The page token to use for pagination. This is returned from the previous call to this endpoint. For the first page, this should be empty.",
                        "examples": [
                          ""
                        ]
                      }
                    },
                    "required": [
                      "page_size"
                    ],
                    "description": "Pagination options for the list of tests."
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "FLAKY",
                      "BROKEN"
                    ],
                    "description": "The status filter for unhealthy tests."
                  }
                },
                "required": [
                  "repo",
                  "org_url_slug",
                  "page_query",
                  "status"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "tests": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "format": "uuid",
                            "description": "A stable unique identifier for the test"
                          },
                          "repository": {
                            "type": "object",
                            "properties": {
                              "html_url": {
                                "type": "string",
                                "format": "uri",
                                "description": "The URL of the repository"
                              }
                            },
                            "required": [
                              "html_url"
                            ]
                          },
                          "html_url": {
                            "type": "string",
                            "format": "uri",
                            "description": "The URL of the test details"
                          },
                          "name": {
                            "type": "string",
                            "description": "The name of the test"
                          },
                          "variant": {
                            "type": "string",
                            "description": "The name of the test variant"
                          },
                          "status": {
                            "type": "object",
                            "properties": {
                              "value": {
                                "type": "string",
                                "enum": [
                                  "healthy",
                                  "flaky",
                                  "broken"
                                ],
                                "description": "The current status value in lowercase"
                              },
                              "reason": {
                                "type": "string",
                                "description": "The reason for the current status"
                              },
                              "timestamp": {
                                "type": "string",
                                "format": "date-time",
                                "description": "The timestamp of the current status change"
                              }
                            },
                            "required": [
                              "value",
                              "reason",
                              "timestamp"
                            ]
                          },
                          "file_path": {
                            "type": "string",
                            "description": "The file path of the test"
                          },
                          "parent": {
                            "type": "string",
                            "description": "The parent of the test. This includes the test suite (depending on the test runner)"
                          },
                          "classname": {
                            "type": "string",
                            "description": "The class name of the test"
                          },
                          "codeowners": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "description": "Code owners for the test"
                          },
                          "pull_requests_impacted_last_7d": {
                            "type": "integer",
                            "minimum": 0,
                            "description": "The number of pull requests impacted in the last 7 days"
                          },
                          "quarantined": {
                            "type": "boolean",
                            "description": "Whether the test is quarantined.\n\n  This is `true` when quarantining is enabled for the repo and either of the following applies:\n\n  - The quarantine override is set to `ALWAYS_QUARANTINE` for this test\n  - Automatic quarantining is enabled for the repo, and this test's status is either `flaky` or `broken`\n\n  If this is `true`, the next test run will be marked as passed even if the test run conclusion is\n  failed."
                          },
                          "ticket": {
                            "type": "object",
                            "properties": {
                              "html_url": {
                                "type": "string",
                                "format": "uri",
                                "description": "The URL of the associated ticket"
                              }
                            },
                            "required": [
                              "html_url"
                            ]
                          }
                        },
                        "required": [
                          "id",
                          "repository",
                          "html_url",
                          "name",
                          "variant",
                          "status",
                          "codeowners",
                          "pull_requests_impacted_last_7d",
                          "quarantined"
                        ]
                      },
                      "description": "A page of unhealthy test cases."
                    },
                    "page": {
                      "type": "object",
                      "properties": {
                        "total_rows": {
                          "type": "number",
                          "minimum": 0,
                          "description": "The total number of test cases in the paginated list."
                        },
                        "total_pages": {
                          "type": "number",
                          "minimum": 0,
                          "description": "The total number of pages in the paginated list of test cases."
                        },
                        "next_page_token": {
                          "type": "string",
                          "description": "The next page token to use for pagination. See `page_token` in the request for more information."
                        },
                        "prev_page_token": {
                          "type": "string",
                          "description": "The previous page token to use for pagination. See `page_token` in the request for more information."
                        },
                        "last_page_token": {
                          "type": "string",
                          "description": "The last page token to use for pagination. See `page_token` in the request for more information."
                        },
                        "page_index": {
                          "type": "number",
                          "minimum": 0,
                          "description": "The index of the current page in the paginated list of test cases."
                        }
                      },
                      "required": [
                        "total_rows",
                        "total_pages",
                        "next_page_token",
                        "prev_page_token",
                        "last_page_token",
                        "page_index"
                      ],
                      "description": "Pagination information for the list of test cases."
                    }
                  },
                  "required": [
                    "tests",
                    "page"
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/flaky-tests/list-failing-tests": {
      "post": {
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Get a list of distinct tests that failed in the given time range",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "repo": {
                    "type": "object",
                    "properties": {
                      "host": {
                        "type": "string",
                        "description": "The host of the repository. For example, `github.com` or `gitlab.com`. If self-hosting, this will be the hostname of your instance.",
                        "examples": [
                          "github.com",
                          "gitlab.com",
                          "github-enterprise.my-org-tld.com",
                          "gitlab-enterprise.my-org-tld.com"
                        ]
                      },
                      "owner": {
                        "type": "string",
                        "description": "The owner of the repository. For example, `my-github-org` or `my-gitlab-org/my/sub/group`. `owner` for GitLab will include the GitLab org, plus the project path, but excluding the repo name itself.",
                        "examples": [
                          "my-github-org",
                          "my-gitlab-org/my/sub/group"
                        ]
                      },
                      "name": {
                        "type": "string",
                        "description": "The name of the repository.",
                        "examples": [
                          "my-repo"
                        ]
                      }
                    },
                    "required": [
                      "host",
                      "owner",
                      "name"
                    ],
                    "description": "The repository to list tests for."
                  },
                  "org_url_slug": {
                    "type": "string",
                    "description": "The slug of your organization. Find this at https://app.trunk.io/trunk/settings under \"Organization Name\" > \"Slug\"",
                    "examples": [
                      "my-trunk-org-slug"
                    ]
                  },
                  "start_time": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The start time of the failing tests (inclusive). Must be within 7 days of the end time."
                  },
                  "end_time": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The end time of the failing tests (exclusive). Must be within 7 days of the start time."
                  },
                  "page_query": {
                    "type": "object",
                    "properties": {
                      "page_size": {
                        "type": "integer",
                        "minimum": 1,
                        "maximum": 100,
                        "description": "The number of tests to return per page."
                      },
                      "page_token": {
                        "type": "string",
                        "description": "The page token to use for pagination. This is returned from the previous call to this endpoint. For the first page, this should be empty.",
                        "examples": [
                          ""
                        ]
                      }
                    },
                    "required": [
                      "page_size"
                    ],
                    "description": "Pagination options for the list of tests."
                  }
                },
                "required": [
                  "repo",
                  "org_url_slug",
                  "start_time",
                  "end_time",
                  "page_query"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "tests": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "format": "uuid",
                            "description": "A stable unique identifier for the test"
                          },
                          "repository": {
                            "type": "object",
                            "properties": {
                              "html_url": {
                                "type": "string",
                                "format": "uri",
                                "description": "The URL of the repository"
                              }
                            },
                            "required": [
                              "html_url"
                            ]
                          },
                          "html_url": {
                            "type": "string",
                            "format": "uri",
                            "description": "The URL of the test details"
                          },
                          "name": {
                            "type": "string",
                            "description": "The name of the test"
                          },
                          "variant": {
                            "type": "string",
                            "description": "The name of the test variant"
                          },
                          "status": {
                            "type": "object",
                            "properties": {
                              "value": {
                                "type": "string",
                                "enum": [
                                  "healthy",
                                  "flaky",
                                  "broken"
                                ],
                                "description": "The current status value in lowercase"
                              },
                              "reason": {
                                "type": "string",
                                "description": "The reason for the current status"
                              },
                              "timestamp": {
                                "type": "string",
                                "format": "date-time",
                                "description": "The timestamp of the current status change"
                              }
                            },
                            "required": [
                              "value",
                              "reason",
                              "timestamp"
                            ]
                          },
                          "most_common_failures": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "summary": {
                                  "type": "string",
                                  "description": "The summary of the failure"
                                },
                                "occurrence_count": {
                                  "type": "integer",
                                  "minimum": 0,
                                  "description": "The number of occurrences of this failure"
                                },
                                "last_occurrence": {
                                  "type": "string",
                                  "format": "date-time",
                                  "description": "The timestamp of the last occurrence"
                                }
                              },
                              "required": [
                                "summary",
                                "occurrence_count"
                              ]
                            },
                            "description": "Several of the most common failures of the test. This is behind a feature flag, access to this feature can be requested by reaching out to the Trunk team."
                          },
                          "failure_rate_last_7d": {
                            "type": "number",
                            "description": "The failure rate over the last 7 days"
                          },
                          "failure_rate_last_24h": {
                            "type": "number",
                            "description": "The failure rate over the last 24 hours"
                          },
                          "file_path": {
                            "type": "string",
                            "description": "The file path of the test"
                          },
                          "parent": {
                            "type": "string",
                            "description": "The parent of the test. This includes the test suite (depending on the test runner)"
                          },
                          "classname": {
                            "type": "string",
                            "description": "The class name of the test"
                          },
                          "codeowners": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "description": "Code owners for the test"
                          },
                          "pull_requests_impacted_last_7d": {
                            "type": "integer",
                            "minimum": 0,
                            "description": "The number of pull requests impacted in the last 7 days"
                          },
                          "quarantined": {
                            "type": "boolean",
                            "description": "Whether the test is quarantined.\n\n  This is `true` when quarantining is enabled for the repo and either of the following applies:\n\n  - The quarantine override is set to `ALWAYS_QUARANTINE` for this test\n  - Automatic quarantining is enabled for the repo, and this test's status is either `flaky` or `broken`\n\n  If this is `true`, the next test run will be marked as passed even if the test run conclusion is\n  failed."
                          },
                          "ticket": {
                            "type": "object",
                            "properties": {
                              "html_url": {
                                "type": "string",
                                "format": "uri",
                                "description": "The URL of the associated ticket"
                              }
                            },
                            "required": [
                              "html_url"
                            ]
                          }
                        },
                        "required": [
                          "id",
                          "repository",
                          "html_url",
                          "name",
                          "variant",
                          "status",
                          "most_common_failures",
                          "failure_rate_last_7d",
                          "failure_rate_last_24h",
                          "codeowners",
                          "pull_requests_impacted_last_7d",
                          "quarantined"
                        ]
                      },
                      "description": "A page of failing test cases."
                    },
                    "page": {
                      "type": "object",
                      "properties": {
                        "total_rows": {
                          "type": "number",
                          "minimum": 0,
                          "description": "The total number of test cases in the paginated list."
                        },
                        "total_pages": {
                          "type": "number",
                          "minimum": 0,
                          "description": "The total number of pages in the paginated list of test cases."
                        },
                        "next_page_token": {
                          "type": "string",
                          "description": "The next page token to use for pagination. See `page_token` in the request for more information."
                        },
                        "prev_page_token": {
                          "type": "string",
                          "description": "The previous page token to use for pagination. See `page_token` in the request for more information."
                        },
                        "last_page_token": {
                          "type": "string",
                          "description": "The last page token to use for pagination. See `page_token` in the request for more information."
                        },
                        "page_index": {
                          "type": "number",
                          "minimum": 0,
                          "description": "The index of the current page in the paginated list of test cases."
                        }
                      },
                      "required": [
                        "total_rows",
                        "total_pages",
                        "next_page_token",
                        "prev_page_token",
                        "last_page_token",
                        "page_index"
                      ],
                      "description": "Pagination information for the list of test cases."
                    }
                  },
                  "required": [
                    "tests",
                    "page"
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/flaky-tests/get-test-details": {
      "post": {
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Get the details of a test case",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "repo": {
                    "type": "object",
                    "properties": {
                      "host": {
                        "type": "string",
                        "description": "The host of the repository. For example, `github.com` or `gitlab.com`. If self-hosting, this will be the hostname of your instance.",
                        "examples": [
                          "github.com",
                          "gitlab.com",
                          "github-enterprise.my-org-tld.com",
                          "gitlab-enterprise.my-org-tld.com"
                        ]
                      },
                      "owner": {
                        "type": "string",
                        "description": "The owner of the repository. For example, `my-github-org` or `my-gitlab-org/my/sub/group`. `owner` for GitLab will include the GitLab org, plus the project path, but excluding the repo name itself.",
                        "examples": [
                          "my-github-org",
                          "my-gitlab-org/my/sub/group"
                        ]
                      },
                      "name": {
                        "type": "string",
                        "description": "The name of the repository.",
                        "examples": [
                          "my-repo"
                        ]
                      }
                    },
                    "required": [
                      "host",
                      "owner",
                      "name"
                    ],
                    "description": "The repository to list tests for."
                  },
                  "org_url_slug": {
                    "type": "string",
                    "description": "The slug of your organization. Find this at https://app.trunk.io/trunk/settings under \"Organization Name\" > \"Slug\"",
                    "examples": [
                      "my-trunk-org-slug"
                    ]
                  },
                  "test_id": {
                    "type": "string",
                    "format": "uuid",
                    "description": "The id of a test case. Should be a UUID.",
                    "examples": [
                      "01234567-0123-0123-0123-0123456789ab"
                    ]
                  }
                },
                "required": [
                  "repo",
                  "org_url_slug",
                  "test_id"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "test": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "format": "uuid",
                          "description": "A stable unique identifier for the test"
                        },
                        "repository": {
                          "type": "object",
                          "properties": {
                            "html_url": {
                              "type": "string",
                              "format": "uri",
                              "description": "The URL of the repository"
                            }
                          },
                          "required": [
                            "html_url"
                          ]
                        },
                        "html_url": {
                          "type": "string",
                          "format": "uri",
                          "description": "The URL of the test details"
                        },
                        "name": {
                          "type": "string",
                          "description": "The name of the test"
                        },
                        "variant": {
                          "type": "string",
                          "description": "The name of the test variant"
                        },
                        "status": {
                          "type": "object",
                          "properties": {
                            "value": {
                              "type": "string",
                              "enum": [
                                "healthy",
                                "flaky",
                                "broken"
                              ],
                              "description": "The current status value in lowercase"
                            },
                            "reason": {
                              "type": "string",
                              "description": "The reason for the current status"
                            },
                            "timestamp": {
                              "type": "string",
                              "format": "date-time",
                              "description": "The timestamp of the current status change"
                            }
                          },
                          "required": [
                            "value",
                            "reason",
                            "timestamp"
                          ]
                        },
                        "most_common_failures": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "summary": {
                                "type": "string",
                                "description": "The summary of the failure"
                              },
                              "occurrence_count": {
                                "type": "integer",
                                "minimum": 0,
                                "description": "The number of occurrences of this failure"
                              },
                              "last_occurrence": {
                                "type": "string",
                                "format": "date-time",
                                "description": "The timestamp of the last occurrence"
                              }
                            },
                            "required": [
                              "summary",
                              "occurrence_count"
                            ]
                          },
                          "description": "Several of the most common failures of the test. This is behind a feature flag, access to this feature can be requested by reaching out to the Trunk team."
                        },
                        "failure_rate_last_7d": {
                          "type": "number",
                          "description": "The failure rate over the last 7 days"
                        },
                        "failure_rate_last_24h": {
                          "type": "number",
                          "description": "The failure rate over the last 24 hours"
                        },
                        "file_path": {
                          "type": "string",
                          "description": "The file path of the test"
                        },
                        "parent": {
                          "type": "string",
                          "description": "The parent of the test. This includes the test suite (depending on the test runner)"
                        },
                        "classname": {
                          "type": "string",
                          "description": "The class name of the test"
                        },
                        "codeowners": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "Code owners for the test"
                        },
                        "pull_requests_impacted_last_7d": {
                          "type": "integer",
                          "minimum": 0,
                          "description": "The number of pull requests impacted in the last 7 days"
                        },
                        "quarantined": {
                          "type": "boolean",
                          "description": "Whether the test is quarantined.\n\n  This is `true` when quarantining is enabled for the repo and either of the following applies:\n\n  - The quarantine override is set to `ALWAYS_QUARANTINE` for this test\n  - Automatic quarantining is enabled for the repo, and this test's status is either `flaky` or `broken`\n\n  If this is `true`, the next test run will be marked as passed even if the test run conclusion is\n  failed."
                        },
                        "ticket": {
                          "type": "object",
                          "properties": {
                            "html_url": {
                              "type": "string",
                              "format": "uri",
                              "description": "The URL of the associated ticket"
                            }
                          },
                          "required": [
                            "html_url"
                          ]
                        }
                      },
                      "required": [
                        "id",
                        "repository",
                        "html_url",
                        "name",
                        "variant",
                        "status",
                        "most_common_failures",
                        "failure_rate_last_7d",
                        "failure_rate_last_24h",
                        "codeowners",
                        "pull_requests_impacted_last_7d",
                        "quarantined"
                      ],
                      "description": "The details of a test case."
                    }
                  },
                  "required": [
                    "test"
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/flaky-tests/link-ticket-to-test-case": {
      "post": {
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Link a ticket to a test case",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "test_case_id": {
                    "type": "string",
                    "format": "uuid",
                    "description": "The id of the test case. Should be a UUID.",
                    "examples": [
                      "01234567-0123-0123-0123-0123456789ab"
                    ]
                  },
                  "external_ticket_id": {
                    "type": "string",
                    "description": "The external identifier of the ticket. For Jira this is the ticket number prefixed by the Project Key. For Linear this is the ticket number prefixed by the Team Identifier",
                    "examples": [
                      "KAN-123",
                      "TRUNK-1234"
                    ]
                  },
                  "repo": {
                    "type": "object",
                    "properties": {
                      "host": {
                        "type": "string",
                        "description": "The host of the repository. For example, `github.com` or `gitlab.com`. If self-hosting, this will be the hostname of your instance.",
                        "examples": [
                          "github.com",
                          "gitlab.com",
                          "github-enterprise.my-org-tld.com",
                          "gitlab-enterprise.my-org-tld.com"
                        ]
                      },
                      "owner": {
                        "type": "string",
                        "description": "The owner of the repository. For example, `my-github-org` or `my-gitlab-org/my/sub/group`. `owner` for GitLab will include the GitLab org, plus the project path, but excluding the repo name itself.",
                        "examples": [
                          "my-github-org",
                          "my-gitlab-org/my/sub/group"
                        ]
                      },
                      "name": {
                        "type": "string",
                        "description": "The name of the repository.",
                        "examples": [
                          "my-repo"
                        ]
                      }
                    },
                    "required": [
                      "host",
                      "owner",
                      "name"
                    ],
                    "description": "The repository to list tests for."
                  }
                },
                "required": [
                  "test_case_id",
                  "external_ticket_id",
                  "repo"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {}
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/status": {
      "get": {
        "security": [],
        "summary": "Get the status of Trunk services",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "overallStatus": {
                      "oneOf": [
                        {
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string",
                              "const": "up"
                            },
                            "color": {
                              "type": "string",
                              "enum": [
                                "green"
                              ]
                            },
                            "overallStatusDescription": {
                              "type": "string",
                              "const": "All systems operational"
                            }
                          },
                          "required": [
                            "type",
                            "color",
                            "overallStatusDescription"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string",
                              "const": "impacted"
                            },
                            "color": {
                              "type": "string",
                              "enum": [
                                "yellow",
                                "red"
                              ]
                            },
                            "overallStatusDescription": {
                              "type": "string",
                              "const": "Impacted"
                            },
                            "impactedStatuses": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "name": {
                                    "type": "string"
                                  },
                                  "color": {
                                    "type": "string",
                                    "enum": [
                                      "yellow",
                                      "red"
                                    ]
                                  },
                                  "statusDescription": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "name",
                                  "color",
                                  "statusDescription"
                                ]
                              }
                            }
                          },
                          "required": [
                            "type",
                            "color",
                            "overallStatusDescription",
                            "impactedStatuses"
                          ]
                        }
                      ]
                    },
                    "statuses": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "name": {
                            "type": "string"
                          },
                          "color": {
                            "type": "string",
                            "enum": [
                              "green",
                              "yellow",
                              "red"
                            ]
                          },
                          "statusDescription": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "name",
                          "color",
                          "statusDescription"
                        ]
                      }
                    }
                  },
                  "required": [
                    "overallStatus",
                    "statuses"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/device-auth/initiate": {
      "post": {
        "security": [],
        "summary": "Initiate device login flow via WorkOS CLI auth",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "deviceCode": {
                      "type": "string",
                      "description": "Device code for polling"
                    },
                    "userCode": {
                      "type": "string",
                      "description": "User code displayed to the user"
                    },
                    "verificationUri": {
                      "type": "string",
                      "description": "URI the user should visit to authenticate"
                    },
                    "verificationUriComplete": {
                      "type": "string",
                      "description": "URI with the user code pre-filled for one-click authentication"
                    },
                    "expiresIn": {
                      "type": "number",
                      "exclusiveMinimum": 0,
                      "description": "Seconds until the codes expire"
                    },
                    "interval": {
                      "type": "number",
                      "exclusiveMinimum": 0,
                      "description": "Polling interval in seconds"
                    }
                  },
                  "required": [
                    "deviceCode",
                    "userCode",
                    "verificationUri",
                    "verificationUriComplete",
                    "expiresIn",
                    "interval"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/device-auth/tokens": {
      "post": {
        "security": [],
        "summary": "Poll for device login tokens via WorkOS CLI auth",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "deviceCode": {
                    "type": "string",
                    "description": "Device code returned from initiate"
                  }
                },
                "required": [
                  "deviceCode"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "pending",
                        "success",
                        "denied",
                        "expired",
                        "slow_down"
                      ],
                      "description": "Authentication status"
                    },
                    "sealedSession": {
                      "type": "string",
                      "description": "Sealed session for authenticating subsequent requests, present on success"
                    },
                    "interval": {
                      "type": "number",
                      "description": "Updated polling interval in seconds, present on slow_down"
                    }
                  },
                  "required": [
                    "status"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/plain-text": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    }
  },
  "webhooks": {
    "test_case.quarantining_setting_changed": {
      "post": {
        "operationId": "test_case.quarantining_setting_changed",
        "summary": "Test case quarantining setting changed",
        "description": "Emitted when the quarantining setting of a test case changes",
        "security": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "test_case.quarantining_setting_changed",
                    "description": "The type of webhook event that occurred"
                  },
                  "test_case": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "format": "uuid",
                        "description": "A stable unique identifier for the test"
                      },
                      "repository": {
                        "type": "object",
                        "properties": {
                          "html_url": {
                            "type": "string",
                            "format": "uri",
                            "description": "The URL of the repository"
                          }
                        },
                        "required": [
                          "html_url"
                        ]
                      },
                      "html_url": {
                        "type": "string",
                        "format": "uri",
                        "description": "The URL of the test details"
                      },
                      "name": {
                        "type": "string",
                        "description": "The name of the test"
                      },
                      "variant": {
                        "type": "string",
                        "description": "The name of the test variant"
                      },
                      "status": {
                        "type": "object",
                        "properties": {
                          "value": {
                            "type": "string",
                            "enum": [
                              "healthy",
                              "flaky",
                              "broken"
                            ],
                            "description": "The current status value in lowercase"
                          },
                          "reason": {
                            "type": "string",
                            "description": "The reason for the current status"
                          },
                          "timestamp": {
                            "type": "string",
                            "format": "date-time",
                            "description": "The timestamp of the current status change"
                          }
                        },
                        "required": [
                          "value",
                          "reason",
                          "timestamp"
                        ]
                      },
                      "most_common_failures": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "summary": {
                              "type": "string",
                              "description": "The summary of the failure"
                            },
                            "occurrence_count": {
                              "type": "integer",
                              "minimum": 0,
                              "description": "The number of occurrences of this failure"
                            },
                            "last_occurrence": {
                              "type": "string",
                              "format": "date-time",
                              "description": "The timestamp of the last occurrence"
                            }
                          },
                          "required": [
                            "summary",
                            "occurrence_count"
                          ]
                        },
                        "description": "Several of the most common failures of the test. This is behind a feature flag, access to this feature can be requested by reaching out to the Trunk team."
                      },
                      "failure_rate_last_7d": {
                        "type": "number",
                        "description": "The failure rate over the last 7 days"
                      },
                      "failure_rate_last_24h": {
                        "type": "number",
                        "description": "The failure rate over the last 24 hours"
                      },
                      "file_path": {
                        "type": "string",
                        "description": "The file path of the test"
                      },
                      "parent": {
                        "type": "string",
                        "description": "The parent of the test. This includes the test suite (depending on the test runner)"
                      },
                      "classname": {
                        "type": "string",
                        "description": "The class name of the test"
                      },
                      "codeowners": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "description": "Code owners for the test"
                      },
                      "pull_requests_impacted_last_7d": {
                        "type": "integer",
                        "minimum": 0,
                        "description": "The number of pull requests impacted in the last 7 days"
                      },
                      "quarantined": {
                        "type": "boolean",
                        "description": "Whether the test is quarantined.\n\n  This is `true` when quarantining is enabled for the repo and either of the following applies:\n\n  - The quarantine override is set to `ALWAYS_QUARANTINE` for this test\n  - Automatic quarantining is enabled for the repo, and this test's status is either `flaky` or `broken`\n\n  If this is `true`, the next test run will be marked as passed even if the test run conclusion is\n  failed."
                      },
                      "ticket": {
                        "type": "object",
                        "properties": {
                          "html_url": {
                            "type": "string",
                            "format": "uri",
                            "description": "The URL of the associated ticket"
                          }
                        },
                        "required": [
                          "html_url"
                        ]
                      },
                      "test_suite": {
                        "type": "string",
                        "description": "The test suite of the test (deprecated, use `parent` instead)"
                      }
                    },
                    "required": [
                      "id",
                      "repository",
                      "html_url",
                      "name",
                      "variant",
                      "status",
                      "most_common_failures",
                      "failure_rate_last_7d",
                      "failure_rate_last_24h",
                      "codeowners",
                      "pull_requests_impacted_last_7d",
                      "quarantined"
                    ]
                  },
                  "quarantine_setting_changed": {
                    "type": "object",
                    "properties": {
                      "actor": {
                        "type": "object",
                        "properties": {
                          "full_name": {
                            "type": "string",
                            "description": "The full name of the user that changed the quarantining setting"
                          },
                          "email": {
                            "type": "string",
                            "description": "The email of the user that changed the quarantining setting"
                          }
                        },
                        "required": [
                          "full_name",
                          "email"
                        ],
                        "description": "The details of the user that changed the quarantining setting"
                      },
                      "reason": {
                        "type": [
                          "string",
                          "null"
                        ],
                        "description": "The annotated reason for the quarantining setting change"
                      },
                      "timestamp": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The timestamp of the quarantining setting change"
                      },
                      "previous_quarantining_setting": {
                        "type": "string",
                        "enum": [
                          "ALWAYS_QUARANTINE",
                          "NEVER_QUARANTINE",
                          "UNSPECIFIED"
                        ],
                        "description": "The previous quarantining setting (`UNSPECIFIED` means the repo default)",
                        "example": "UNSPECIFIED"
                      },
                      "updated_quarantining_setting": {
                        "type": "string",
                        "enum": [
                          "ALWAYS_QUARANTINE",
                          "NEVER_QUARANTINE",
                          "UNSPECIFIED"
                        ],
                        "description": "The updated quarantining setting (`UNSPECIFIED` means the repo default)",
                        "example": "ALWAYS_QUARANTINE"
                      }
                    },
                    "required": [
                      "actor",
                      "reason",
                      "timestamp",
                      "previous_quarantining_setting",
                      "updated_quarantining_setting"
                    ],
                    "description": "The quarantining setting that was changed"
                  }
                },
                "required": [
                  "type",
                  "test_case",
                  "quarantine_setting_changed"
                ],
                "description": "Emitted when the quarantining setting of a test case changes"
              },
              "example": {
                "type": "test_case.quarantining_setting_changed",
                "test_case": {
                  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
                  "repository": {
                    "html_url": "http://example.com"
                  },
                  "html_url": "http://example.com",
                  "name": "string",
                  "variant": "string",
                  "status": {
                    "value": "healthy",
                    "reason": "string",
                    "timestamp": "2019-08-24T14:15:22Z"
                  },
                  "most_common_failures": [
                    {
                      "summary": "string",
                      "occurrence_count": 0,
                      "last_occurrence": "2019-08-24T14:15:22Z"
                    }
                  ],
                  "failure_rate_last_7d": 0,
                  "failure_rate_last_24h": 0,
                  "file_path": "string",
                  "parent": "string",
                  "classname": "string",
                  "codeowners": [
                    "string"
                  ],
                  "pull_requests_impacted_last_7d": 0,
                  "quarantined": true,
                  "ticket": {
                    "html_url": "http://example.com"
                  },
                  "test_suite": "string"
                },
                "quarantine_setting_changed": {
                  "actor": {
                    "full_name": "string",
                    "email": "string"
                  },
                  "reason": "string",
                  "timestamp": "2019-08-24T14:15:22Z",
                  "previous_quarantining_setting": "UNSPECIFIED",
                  "updated_quarantining_setting": "ALWAYS_QUARANTINE"
                }
              }
            }
          }
        },
        "responses": {}
      }
    },
    "test_case.status_changed": {
      "post": {
        "operationId": "test_case.status_changed",
        "summary": "Test case status changed",
        "description": "Emitted when the health status of a test case changes. Test status can transition between `healthy`, `flaky`, and `broken`. Learn how test health is detected: https://docs.trunk.io/flaky-tests/detection",
        "security": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "test_case.status_changed",
                    "description": "The type of webhook event that occurred"
                  },
                  "test_case": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "format": "uuid",
                        "description": "A stable unique identifier for the test"
                      },
                      "repository": {
                        "type": "object",
                        "properties": {
                          "html_url": {
                            "type": "string",
                            "format": "uri",
                            "description": "The URL of the repository"
                          }
                        },
                        "required": [
                          "html_url"
                        ]
                      },
                      "html_url": {
                        "type": "string",
                        "format": "uri",
                        "description": "The URL of the test details"
                      },
                      "name": {
                        "type": "string",
                        "description": "The name of the test"
                      },
                      "variant": {
                        "type": "string",
                        "description": "The name of the test variant"
                      },
                      "status": {
                        "type": "object",
                        "properties": {
                          "value": {
                            "type": "string",
                            "enum": [
                              "healthy",
                              "flaky",
                              "broken"
                            ],
                            "description": "The current status value in lowercase"
                          },
                          "reason": {
                            "type": "string",
                            "description": "The reason for the current status"
                          },
                          "timestamp": {
                            "type": "string",
                            "format": "date-time",
                            "description": "The timestamp of the current status change"
                          }
                        },
                        "required": [
                          "value",
                          "reason",
                          "timestamp"
                        ]
                      },
                      "most_common_failures": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "summary": {
                              "type": "string",
                              "description": "The summary of the failure"
                            },
                            "occurrence_count": {
                              "type": "integer",
                              "minimum": 0,
                              "description": "The number of occurrences of this failure"
                            },
                            "last_occurrence": {
                              "type": "string",
                              "format": "date-time",
                              "description": "The timestamp of the last occurrence"
                            }
                          },
                          "required": [
                            "summary",
                            "occurrence_count"
                          ]
                        },
                        "description": "Several of the most common failures of the test. This is behind a feature flag, access to this feature can be requested by reaching out to the Trunk team."
                      },
                      "failure_rate_last_7d": {
                        "type": "number",
                        "description": "The failure rate over the last 7 days"
                      },
                      "failure_rate_last_24h": {
                        "type": "number",
                        "description": "The failure rate over the last 24 hours"
                      },
                      "file_path": {
                        "type": "string",
                        "description": "The file path of the test"
                      },
                      "parent": {
                        "type": "string",
                        "description": "The parent of the test. This includes the test suite (depending on the test runner)"
                      },
                      "classname": {
                        "type": "string",
                        "description": "The class name of the test"
                      },
                      "codeowners": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "description": "Code owners for the test"
                      },
                      "pull_requests_impacted_last_7d": {
                        "type": "integer",
                        "minimum": 0,
                        "description": "The number of pull requests impacted in the last 7 days"
                      },
                      "quarantined": {
                        "type": "boolean",
                        "description": "Whether the test is quarantined.\n\n  This is `true` when quarantining is enabled for the repo and either of the following applies:\n\n  - The quarantine override is set to `ALWAYS_QUARANTINE` for this test\n  - Automatic quarantining is enabled for the repo, and this test's status is either `flaky` or `broken`\n\n  If this is `true`, the next test run will be marked as passed even if the test run conclusion is\n  failed."
                      },
                      "ticket": {
                        "type": "object",
                        "properties": {
                          "html_url": {
                            "type": "string",
                            "format": "uri",
                            "description": "The URL of the associated ticket"
                          }
                        },
                        "required": [
                          "html_url"
                        ]
                      },
                      "test_suite": {
                        "type": "string",
                        "description": "The test suite of the test (deprecated, use `parent` instead)"
                      }
                    },
                    "required": [
                      "id",
                      "repository",
                      "html_url",
                      "name",
                      "variant",
                      "status",
                      "most_common_failures",
                      "failure_rate_last_7d",
                      "failure_rate_last_24h",
                      "codeowners",
                      "pull_requests_impacted_last_7d",
                      "quarantined"
                    ]
                  },
                  "status_change": {
                    "type": "object",
                    "properties": {
                      "previous_status": {
                        "type": "string",
                        "enum": [
                          "healthy",
                          "flaky",
                          "broken"
                        ],
                        "description": "The previous status of the test in lowercase"
                      },
                      "current_status": {
                        "type": "object",
                        "properties": {
                          "value": {
                            "type": "string",
                            "enum": [
                              "healthy",
                              "flaky",
                              "broken"
                            ],
                            "description": "The current status value in lowercase"
                          },
                          "reason": {
                            "type": "string",
                            "description": "The reason for the current status"
                          },
                          "timestamp": {
                            "type": "string",
                            "format": "date-time",
                            "description": "The timestamp of the current status change"
                          }
                        },
                        "required": [
                          "value",
                          "reason",
                          "timestamp"
                        ]
                      }
                    },
                    "required": [
                      "previous_status",
                      "current_status"
                    ]
                  }
                },
                "required": [
                  "type",
                  "test_case",
                  "status_change"
                ],
                "description": "Emitted when the health status of a test case changes. Test status can transition between `healthy`, `flaky`, and `broken`. Learn how test health is detected: https://docs.trunk.io/flaky-tests/detection"
              },
              "example": {
                "type": "test_case.status_changed",
                "test_case": {
                  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
                  "repository": {
                    "html_url": "http://example.com"
                  },
                  "html_url": "http://example.com",
                  "name": "string",
                  "variant": "string",
                  "status": {
                    "value": "healthy",
                    "reason": "string",
                    "timestamp": "2019-08-24T14:15:22Z"
                  },
                  "most_common_failures": [
                    {
                      "summary": "string",
                      "occurrence_count": 0,
                      "last_occurrence": "2019-08-24T14:15:22Z"
                    }
                  ],
                  "failure_rate_last_7d": 0,
                  "failure_rate_last_24h": 0,
                  "file_path": "string",
                  "parent": "string",
                  "classname": "string",
                  "codeowners": [
                    "string"
                  ],
                  "pull_requests_impacted_last_7d": 0,
                  "quarantined": true,
                  "ticket": {
                    "html_url": "http://example.com"
                  },
                  "test_suite": "string"
                },
                "status_change": {
                  "previous_status": "healthy",
                  "current_status": {
                    "value": "healthy",
                    "reason": "string",
                    "timestamp": "2019-08-24T14:15:22Z"
                  }
                }
              }
            }
          }
        },
        "responses": {}
      }
    },
    "pull_request.failed": {
      "post": {
        "operationId": "pull_request.failed",
        "summary": "Pull request failed",
        "description": "Triggered when a PR fails while in the merge queue",
        "security": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "test_branch": {
                    "type": "string",
                    "description": "The branch the pull request or pull request batch was tested on"
                  },
                  "test_branch_sha": {
                    "type": "string",
                    "description": "The SHA of the branch the pull request or pull request batch was tested on"
                  },
                  "test_pr_number": {
                    "type": "integer",
                    "minimum": 0,
                    "description": "The number of the pull request used to test the pull request or pull request batch"
                  },
                  "batched": {
                    "type": "boolean",
                    "description": "Whether this pull request was part of a batch"
                  },
                  "failure_reason": {
                    "type": "string",
                    "enum": [
                      "START_TEST_RUN_INVALID_EVENT",
                      "START_TEST_RUN_MERGE_CONFLICT",
                      "START_TEST_RUN_CONFIG_NOT_FOUND",
                      "START_TEST_RUN_CONFIG_PARSING_FAILURE",
                      "START_TEST_RUN_CONFIG_MISSING_REQUIRED_STATUSES",
                      "START_TEST_RUN_CONFIG_BAD_REQUIRED_STATUSES",
                      "START_TEST_RUN_CONFIG_BAD_VERSION",
                      "START_TEST_RUN_NO_REQUIRED_STATUSES",
                      "TEST_RUN_REQUIRED_STATUS_FAILED",
                      "TEST_RUN_TIMEOUT",
                      "GITHUB_API_MERGE_PR_FAILED",
                      "GITHUB_API_DIRECT_MERGE_PR_FAILED",
                      "PR_UPDATED_AT_MERGE_TIME",
                      "START_TEST_RUN_RETRY_EXHAUSTED",
                      "START_TEST_RUN_DRAFT_PRS_NOT_ALLOWED",
                      "TEST_RUN_FAILED_BY_OPTIMIZATION"
                    ],
                    "description": "The reason the PR failed"
                  },
                  "is_bisection": {
                    "type": "boolean",
                    "description": "Whether this event is part of a bisection test run"
                  },
                  "type": {
                    "type": "string",
                    "const": "pull_request.failed",
                    "description": "The type of webhook event that occurred"
                  },
                  "action": {
                    "type": "string",
                    "const": "failed",
                    "description": "The type of action that triggered the webhook"
                  },
                  "author": {
                    "type": "string",
                    "description": "The username of the author of the PR"
                  },
                  "http_details_url": {
                    "type": "string",
                    "format": "uri",
                    "description": "Web link to the details about this PR"
                  },
                  "pr_number": {
                    "type": "integer",
                    "minimum": 0,
                    "description": "The PR number"
                  },
                  "repository": {
                    "type": "object",
                    "properties": {
                      "host": {
                        "type": "string",
                        "description": "The type of source control for this repository"
                      },
                      "owner": {
                        "type": "string",
                        "description": "The name of the repository"
                      },
                      "name": {
                        "type": "string",
                        "description": "The user or organization that owns the repository"
                      }
                    },
                    "required": [
                      "host",
                      "owner",
                      "name"
                    ],
                    "description": "The repository that the webhook event occurred in"
                  },
                  "status": {
                    "type": "string",
                    "const": "failed",
                    "description": "The current status of the PR"
                  },
                  "target_branch": {
                    "type": "string",
                    "description": "The name of the branch targeted by the merge queue where the event occurred"
                  },
                  "timestamp": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The ISO 8601 timestamp of when this state transition occurred"
                  }
                },
                "required": [
                  "is_bisection",
                  "type",
                  "action",
                  "author",
                  "http_details_url",
                  "pr_number",
                  "repository",
                  "status",
                  "target_branch",
                  "timestamp"
                ],
                "description": "Triggered when a PR fails while in the merge queue"
              },
              "example": {
                "test_branch": "string",
                "test_branch_sha": "string",
                "test_pr_number": 0,
                "batched": true,
                "failure_reason": "START_TEST_RUN_INVALID_EVENT",
                "is_bisection": true,
                "type": "pull_request.failed",
                "action": "failed",
                "author": "string",
                "http_details_url": "http://example.com",
                "pr_number": 0,
                "repository": {
                  "host": "string",
                  "owner": "string",
                  "name": "string"
                },
                "status": "failed",
                "target_branch": "string",
                "timestamp": "2019-08-24T14:15:22Z"
              }
            }
          }
        },
        "responses": {}
      }
    },
    "pull_request.pending_failure": {
      "post": {
        "operationId": "pull_request.pending_failure",
        "summary": "Pull request pending failure",
        "description": "Triggered when a PR enters pending failure state while in the merge queue",
        "security": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "test_branch": {
                    "type": "string",
                    "description": "The branch the pull request or pull request batch was tested on"
                  },
                  "test_branch_sha": {
                    "type": "string",
                    "description": "The SHA of the branch the pull request or pull request batch was tested on"
                  },
                  "test_pr_number": {
                    "type": "integer",
                    "minimum": 0,
                    "description": "The number of the pull request used to test the pull request or pull request batch"
                  },
                  "batched": {
                    "type": "boolean",
                    "description": "Whether this pull request was part of a batch"
                  },
                  "failure_reason": {
                    "type": "string",
                    "enum": [
                      "START_TEST_RUN_INVALID_EVENT",
                      "START_TEST_RUN_MERGE_CONFLICT",
                      "START_TEST_RUN_CONFIG_NOT_FOUND",
                      "START_TEST_RUN_CONFIG_PARSING_FAILURE",
                      "START_TEST_RUN_CONFIG_MISSING_REQUIRED_STATUSES",
                      "START_TEST_RUN_CONFIG_BAD_REQUIRED_STATUSES",
                      "START_TEST_RUN_CONFIG_BAD_VERSION",
                      "START_TEST_RUN_NO_REQUIRED_STATUSES",
                      "TEST_RUN_REQUIRED_STATUS_FAILED",
                      "TEST_RUN_TIMEOUT",
                      "GITHUB_API_MERGE_PR_FAILED",
                      "GITHUB_API_DIRECT_MERGE_PR_FAILED",
                      "PR_UPDATED_AT_MERGE_TIME",
                      "START_TEST_RUN_RETRY_EXHAUSTED",
                      "START_TEST_RUN_DRAFT_PRS_NOT_ALLOWED",
                      "TEST_RUN_FAILED_BY_OPTIMIZATION"
                    ],
                    "description": "The reason the PR is pending failure"
                  },
                  "type": {
                    "type": "string",
                    "const": "pull_request.pending_failure",
                    "description": "The type of webhook event that occurred"
                  },
                  "action": {
                    "type": "string",
                    "const": "pending_failure",
                    "description": "The type of action that triggered the webhook"
                  },
                  "author": {
                    "type": "string",
                    "description": "The username of the author of the PR"
                  },
                  "http_details_url": {
                    "type": "string",
                    "format": "uri",
                    "description": "Web link to the details about this PR"
                  },
                  "pr_number": {
                    "type": "integer",
                    "minimum": 0,
                    "description": "The PR number"
                  },
                  "repository": {
                    "type": "object",
                    "properties": {
                      "host": {
                        "type": "string",
                        "description": "The type of source control for this repository"
                      },
                      "owner": {
                        "type": "string",
                        "description": "The name of the repository"
                      },
                      "name": {
                        "type": "string",
                        "description": "The user or organization that owns the repository"
                      }
                    },
                    "required": [
                      "host",
                      "owner",
                      "name"
                    ],
                    "description": "The repository that the webhook event occurred in"
                  },
                  "status": {
                    "type": "string",
                    "const": "pending_failure",
                    "description": "The current status of the PR"
                  },
                  "target_branch": {
                    "type": "string",
                    "description": "The name of the branch targeted by the merge queue where the event occurred"
                  },
                  "timestamp": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The ISO 8601 timestamp of when this state transition occurred"
                  }
                },
                "required": [
                  "type",
                  "action",
                  "author",
                  "http_details_url",
                  "pr_number",
                  "repository",
                  "status",
                  "target_branch",
                  "timestamp"
                ],
                "description": "Triggered when a PR enters pending failure state while in the merge queue"
              },
              "example": {
                "test_branch": "string",
                "test_branch_sha": "string",
                "test_pr_number": 0,
                "batched": true,
                "failure_reason": "START_TEST_RUN_INVALID_EVENT",
                "type": "pull_request.pending_failure",
                "action": "pending_failure",
                "author": "string",
                "http_details_url": "http://example.com",
                "pr_number": 0,
                "repository": {
                  "host": "string",
                  "owner": "string",
                  "name": "string"
                },
                "status": "pending_failure",
                "target_branch": "string",
                "timestamp": "2019-08-24T14:15:22Z"
              }
            }
          }
        },
        "responses": {}
      }
    },
    "pull_request.canceled": {
      "post": {
        "operationId": "pull_request.canceled",
        "summary": "Pull request canceled",
        "description": "Triggered when a PR is canceled",
        "security": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "test_branch": {
                    "type": "string",
                    "description": "The branch the pull request or pull request batch was tested on"
                  },
                  "test_branch_sha": {
                    "type": "string",
                    "description": "The SHA of the branch the pull request or pull request batch was tested on"
                  },
                  "test_pr_number": {
                    "type": "integer",
                    "minimum": 0,
                    "description": "The number of the pull request used to test the pull request or pull request batch"
                  },
                  "batched": {
                    "type": "boolean",
                    "description": "Whether this pull request was part of a batch"
                  },
                  "cancellation_reason": {
                    "type": "string",
                    "enum": [
                      "USER_REQUESTED",
                      "PR_CLOSED",
                      "PR_PUSHED_TO",
                      "PR_BASE_BRANCH_CHANGED",
                      "TRUNK_ADMIN_REQUESTED",
                      "PR_CONVERTED_TO_DRAFT",
                      "STACKED_PR_MEMBER_PUSHED_TO",
                      "STACKED_PR_MEMBER_CLOSED",
                      "STACKED_PR_MEMBER_MERGED",
                      "STACKED_PR_MEMBER_BASE_BRANCH_CHANGED"
                    ],
                    "description": "The reason the PR was canceled"
                  },
                  "is_bisection": {
                    "type": "boolean",
                    "description": "Whether this event is part of a bisection test run"
                  },
                  "type": {
                    "type": "string",
                    "const": "pull_request.canceled",
                    "description": "The type of webhook event that occurred"
                  },
                  "action": {
                    "type": "string",
                    "const": "canceled",
                    "description": "The type of action that triggered the webhook"
                  },
                  "author": {
                    "type": "string",
                    "description": "The username of the author of the PR"
                  },
                  "http_details_url": {
                    "type": "string",
                    "format": "uri",
                    "description": "Web link to the details about this PR"
                  },
                  "pr_number": {
                    "type": "integer",
                    "minimum": 0,
                    "description": "The PR number"
                  },
                  "repository": {
                    "type": "object",
                    "properties": {
                      "host": {
                        "type": "string",
                        "description": "The type of source control for this repository"
                      },
                      "owner": {
                        "type": "string",
                        "description": "The name of the repository"
                      },
                      "name": {
                        "type": "string",
                        "description": "The user or organization that owns the repository"
                      }
                    },
                    "required": [
                      "host",
                      "owner",
                      "name"
                    ],
                    "description": "The repository that the webhook event occurred in"
                  },
                  "status": {
                    "type": "string",
                    "const": "canceled",
                    "description": "The current status of the PR"
                  },
                  "target_branch": {
                    "type": "string",
                    "description": "The name of the branch targeted by the merge queue where the event occurred"
                  },
                  "timestamp": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The ISO 8601 timestamp of when this state transition occurred"
                  }
                },
                "required": [
                  "is_bisection",
                  "type",
                  "action",
                  "author",
                  "http_details_url",
                  "pr_number",
                  "repository",
                  "status",
                  "target_branch",
                  "timestamp"
                ],
                "description": "Triggered when a PR is canceled"
              },
              "example": {
                "test_branch": "string",
                "test_branch_sha": "string",
                "test_pr_number": 0,
                "batched": true,
                "cancellation_reason": "USER_REQUESTED",
                "is_bisection": true,
                "type": "pull_request.canceled",
                "action": "canceled",
                "author": "string",
                "http_details_url": "http://example.com",
                "pr_number": 0,
                "repository": {
                  "host": "string",
                  "owner": "string",
                  "name": "string"
                },
                "status": "canceled",
                "target_branch": "string",
                "timestamp": "2019-08-24T14:15:22Z"
              }
            }
          }
        },
        "responses": {}
      }
    },
    "pull_request.merged": {
      "post": {
        "operationId": "pull_request.merged",
        "summary": "Pull request merged",
        "description": "Triggered when a PR is merged",
        "security": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "test_branch": {
                    "type": "string",
                    "description": "The branch the pull request or pull request batch was tested on"
                  },
                  "test_branch_sha": {
                    "type": "string",
                    "description": "The SHA of the branch the pull request or pull request batch was tested on"
                  },
                  "test_pr_number": {
                    "type": "integer",
                    "minimum": 0,
                    "description": "The number of the pull request used to test the pull request or pull request batch"
                  },
                  "batched": {
                    "type": "boolean",
                    "description": "Whether this pull request was part of a batch"
                  },
                  "merged_reason": {
                    "type": "string",
                    "enum": [
                      "MERGE_GRAPH_MERGE",
                      "MANUAL_MERGE",
                      "MERGE_GRAPH_DIRECT_MERGE"
                    ],
                    "description": "The reason the PR was merged"
                  },
                  "type": {
                    "type": "string",
                    "const": "pull_request.merged",
                    "description": "The type of webhook event that occurred"
                  },
                  "action": {
                    "type": "string",
                    "const": "merged",
                    "description": "The type of action that triggered the webhook"
                  },
                  "author": {
                    "type": "string",
                    "description": "The username of the author of the PR"
                  },
                  "http_details_url": {
                    "type": "string",
                    "format": "uri",
                    "description": "Web link to the details about this PR"
                  },
                  "pr_number": {
                    "type": "integer",
                    "minimum": 0,
                    "description": "The PR number"
                  },
                  "repository": {
                    "type": "object",
                    "properties": {
                      "host": {
                        "type": "string",
                        "description": "The type of source control for this repository"
                      },
                      "owner": {
                        "type": "string",
                        "description": "The name of the repository"
                      },
                      "name": {
                        "type": "string",
                        "description": "The user or organization that owns the repository"
                      }
                    },
                    "required": [
                      "host",
                      "owner",
                      "name"
                    ],
                    "description": "The repository that the webhook event occurred in"
                  },
                  "status": {
                    "type": "string",
                    "const": "merged",
                    "description": "The current status of the PR"
                  },
                  "target_branch": {
                    "type": "string",
                    "description": "The name of the branch targeted by the merge queue where the event occurred"
                  },
                  "timestamp": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The ISO 8601 timestamp of when this state transition occurred"
                  }
                },
                "required": [
                  "type",
                  "action",
                  "author",
                  "http_details_url",
                  "pr_number",
                  "repository",
                  "status",
                  "target_branch",
                  "timestamp"
                ],
                "description": "Triggered when a PR is merged"
              },
              "example": {
                "test_branch": "string",
                "test_branch_sha": "string",
                "test_pr_number": 0,
                "batched": true,
                "merged_reason": "MERGE_GRAPH_MERGE",
                "type": "pull_request.merged",
                "action": "merged",
                "author": "string",
                "http_details_url": "http://example.com",
                "pr_number": 0,
                "repository": {
                  "host": "string",
                  "owner": "string",
                  "name": "string"
                },
                "status": "merged",
                "target_branch": "string",
                "timestamp": "2019-08-24T14:15:22Z"
              }
            }
          }
        },
        "responses": {}
      }
    },
    "pull_request.queued": {
      "post": {
        "operationId": "pull_request.queued",
        "summary": "Pull request queued",
        "description": "Triggered when a PR has passed any branch protection requirements and is ready to be tested in the merge queue",
        "security": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "queued_reason": {
                    "type": "string",
                    "enum": [
                      "MANUAL_PUSH_TO_TARGET_BRANCH",
                      "PREREQUISITE_MERGE_ITEM_CANCELLED",
                      "PREREQUISITE_MERGE_ITEM_FAILED",
                      "PREREQUISITE_MERGE_ITEM_MANUALLY_MERGED",
                      "MERGE_ITEM_NOW_READY",
                      "TESTS_RESTARTED_BY_USER",
                      "TESTS_RESTARTED_BY_API_REQUEST",
                      "SKIP_THE_LINE_INTERRUPTED",
                      "BISECTION_REQUIRED",
                      "BISECTION_TEST_RUN_PASSED"
                    ],
                    "description": "The reason the PR was queued"
                  },
                  "type": {
                    "type": "string",
                    "const": "pull_request.queued",
                    "description": "The type of webhook event that occurred"
                  },
                  "action": {
                    "type": "string",
                    "const": "queued",
                    "description": "The type of action that triggered the webhook"
                  },
                  "author": {
                    "type": "string",
                    "description": "The username of the author of the PR"
                  },
                  "http_details_url": {
                    "type": "string",
                    "format": "uri",
                    "description": "Web link to the details about this PR"
                  },
                  "pr_number": {
                    "type": "integer",
                    "minimum": 0,
                    "description": "The PR number"
                  },
                  "repository": {
                    "type": "object",
                    "properties": {
                      "host": {
                        "type": "string",
                        "description": "The type of source control for this repository"
                      },
                      "owner": {
                        "type": "string",
                        "description": "The name of the repository"
                      },
                      "name": {
                        "type": "string",
                        "description": "The user or organization that owns the repository"
                      }
                    },
                    "required": [
                      "host",
                      "owner",
                      "name"
                    ],
                    "description": "The repository that the webhook event occurred in"
                  },
                  "status": {
                    "type": "string",
                    "const": "queued",
                    "description": "The current status of the PR"
                  },
                  "target_branch": {
                    "type": "string",
                    "description": "The name of the branch targeted by the merge queue where the event occurred"
                  },
                  "timestamp": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The ISO 8601 timestamp of when this state transition occurred"
                  }
                },
                "required": [
                  "type",
                  "action",
                  "author",
                  "http_details_url",
                  "pr_number",
                  "repository",
                  "status",
                  "target_branch",
                  "timestamp"
                ],
                "description": "Triggered when a PR has passed any branch protection requirements and is ready to be tested in the merge queue"
              },
              "example": {
                "queued_reason": "MANUAL_PUSH_TO_TARGET_BRANCH",
                "type": "pull_request.queued",
                "action": "queued",
                "author": "string",
                "http_details_url": "http://example.com",
                "pr_number": 0,
                "repository": {
                  "host": "string",
                  "owner": "string",
                  "name": "string"
                },
                "status": "queued",
                "target_branch": "string",
                "timestamp": "2019-08-24T14:15:22Z"
              }
            }
          }
        },
        "responses": {}
      }
    },
    "pull_request.submitted": {
      "post": {
        "operationId": "pull_request.submitted",
        "summary": "Pull request submitted",
        "description": "Triggered when a PR is submitted to Trunk Merge",
        "security": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "submitted_reason": {
                    "type": "string",
                    "enum": [
                      "USER_REQUESTED",
                      "TRUNK_ADMIN_REQUESTED",
                      "API_REQUESTED"
                    ],
                    "description": "The reason the PR was submitted"
                  },
                  "type": {
                    "type": "string",
                    "const": "pull_request.submitted",
                    "description": "The type of webhook event that occurred"
                  },
                  "action": {
                    "type": "string",
                    "const": "submitted",
                    "description": "The type of action that triggered the webhook"
                  },
                  "author": {
                    "type": "string",
                    "description": "The username of the author of the PR"
                  },
                  "http_details_url": {
                    "type": "string",
                    "format": "uri",
                    "description": "Web link to the details about this PR"
                  },
                  "pr_number": {
                    "type": "integer",
                    "minimum": 0,
                    "description": "The PR number"
                  },
                  "repository": {
                    "type": "object",
                    "properties": {
                      "host": {
                        "type": "string",
                        "description": "The type of source control for this repository"
                      },
                      "owner": {
                        "type": "string",
                        "description": "The name of the repository"
                      },
                      "name": {
                        "type": "string",
                        "description": "The user or organization that owns the repository"
                      }
                    },
                    "required": [
                      "host",
                      "owner",
                      "name"
                    ],
                    "description": "The repository that the webhook event occurred in"
                  },
                  "status": {
                    "type": "string",
                    "const": "submitted",
                    "description": "The current status of the PR"
                  },
                  "target_branch": {
                    "type": "string",
                    "description": "The name of the branch targeted by the merge queue where the event occurred"
                  },
                  "timestamp": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The ISO 8601 timestamp of when this state transition occurred"
                  }
                },
                "required": [
                  "type",
                  "action",
                  "author",
                  "http_details_url",
                  "pr_number",
                  "repository",
                  "status",
                  "target_branch",
                  "timestamp"
                ],
                "description": "Triggered when a PR is submitted to Trunk Merge"
              },
              "example": {
                "submitted_reason": "USER_REQUESTED",
                "type": "pull_request.submitted",
                "action": "submitted",
                "author": "string",
                "http_details_url": "http://example.com",
                "pr_number": 0,
                "repository": {
                  "host": "string",
                  "owner": "string",
                  "name": "string"
                },
                "status": "submitted",
                "target_branch": "string",
                "timestamp": "2019-08-24T14:15:22Z"
              }
            }
          }
        },
        "responses": {}
      }
    },
    "pull_request.testing": {
      "post": {
        "operationId": "pull_request.testing",
        "summary": "Pull request testing",
        "description": "Triggered when a PR has started testing in the merge queue",
        "security": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "test_branch": {
                    "type": "string",
                    "description": "The branch the pull request or pull request batch was tested on"
                  },
                  "test_branch_sha": {
                    "type": "string",
                    "description": "The SHA of the branch the pull request or pull request batch was tested on"
                  },
                  "test_pr_number": {
                    "type": "integer",
                    "minimum": 0,
                    "description": "The number of the pull request used to test the pull request or pull request batch"
                  },
                  "batched": {
                    "type": "boolean",
                    "description": "Whether this pull request was part of a batch"
                  },
                  "is_bisection": {
                    "type": "boolean",
                    "description": "Whether this event is part of a bisection test run"
                  },
                  "type": {
                    "type": "string",
                    "const": "pull_request.testing",
                    "description": "The type of webhook event that occurred"
                  },
                  "action": {
                    "type": "string",
                    "const": "testing",
                    "description": "The type of action that triggered the webhook"
                  },
                  "author": {
                    "type": "string",
                    "description": "The username of the author of the PR"
                  },
                  "http_details_url": {
                    "type": "string",
                    "format": "uri",
                    "description": "Web link to the details about this PR"
                  },
                  "pr_number": {
                    "type": "integer",
                    "minimum": 0,
                    "description": "The PR number"
                  },
                  "repository": {
                    "type": "object",
                    "properties": {
                      "host": {
                        "type": "string",
                        "description": "The type of source control for this repository"
                      },
                      "owner": {
                        "type": "string",
                        "description": "The name of the repository"
                      },
                      "name": {
                        "type": "string",
                        "description": "The user or organization that owns the repository"
                      }
                    },
                    "required": [
                      "host",
                      "owner",
                      "name"
                    ],
                    "description": "The repository that the webhook event occurred in"
                  },
                  "status": {
                    "type": "string",
                    "const": "testing",
                    "description": "The current status of the PR"
                  },
                  "target_branch": {
                    "type": "string",
                    "description": "The name of the branch targeted by the merge queue where the event occurred"
                  },
                  "timestamp": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The ISO 8601 timestamp of when this state transition occurred"
                  }
                },
                "required": [
                  "is_bisection",
                  "type",
                  "action",
                  "author",
                  "http_details_url",
                  "pr_number",
                  "repository",
                  "status",
                  "target_branch",
                  "timestamp"
                ],
                "description": "Triggered when a PR has started testing in the merge queue"
              },
              "example": {
                "test_branch": "string",
                "test_branch_sha": "string",
                "test_pr_number": 0,
                "batched": true,
                "is_bisection": true,
                "type": "pull_request.testing",
                "action": "testing",
                "author": "string",
                "http_details_url": "http://example.com",
                "pr_number": 0,
                "repository": {
                  "host": "string",
                  "owner": "string",
                  "name": "string"
                },
                "status": "testing",
                "target_branch": "string",
                "timestamp": "2019-08-24T14:15:22Z"
              }
            }
          }
        },
        "responses": {}
      }
    },
    "pull_request_batch.failed": {
      "post": {
        "operationId": "pull_request_batch.failed",
        "summary": "Pull request batch failed",
        "description": "Triggered when a batch of PRs fails while in the merge queue",
        "security": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "test_branch": {
                    "type": "string",
                    "description": "The branch the pull request or pull request batch was tested on"
                  },
                  "test_branch_sha": {
                    "type": "string",
                    "description": "The SHA of the branch the pull request or pull request batch was tested on"
                  },
                  "test_pr_number": {
                    "type": "integer",
                    "minimum": 0,
                    "description": "The number of the pull request used to test the pull request or pull request batch"
                  },
                  "failure_reason": {
                    "type": "string",
                    "enum": [
                      "START_TEST_RUN_INVALID_EVENT",
                      "START_TEST_RUN_MERGE_CONFLICT",
                      "START_TEST_RUN_CONFIG_NOT_FOUND",
                      "START_TEST_RUN_CONFIG_PARSING_FAILURE",
                      "START_TEST_RUN_CONFIG_MISSING_REQUIRED_STATUSES",
                      "START_TEST_RUN_CONFIG_BAD_REQUIRED_STATUSES",
                      "START_TEST_RUN_CONFIG_BAD_VERSION",
                      "START_TEST_RUN_NO_REQUIRED_STATUSES",
                      "TEST_RUN_REQUIRED_STATUS_FAILED",
                      "TEST_RUN_TIMEOUT",
                      "GITHUB_API_MERGE_PR_FAILED",
                      "GITHUB_API_DIRECT_MERGE_PR_FAILED",
                      "PR_UPDATED_AT_MERGE_TIME",
                      "START_TEST_RUN_RETRY_EXHAUSTED",
                      "START_TEST_RUN_DRAFT_PRS_NOT_ALLOWED",
                      "TEST_RUN_FAILED_BY_OPTIMIZATION"
                    ],
                    "description": "The reason the batch failed"
                  },
                  "is_bisection": {
                    "type": "boolean",
                    "description": "Whether this event is part of a bisection test run"
                  },
                  "type": {
                    "type": "string",
                    "const": "pull_request_batch.failed",
                    "description": "The type of webhook event that occurred"
                  },
                  "action": {
                    "type": "string",
                    "const": "failed",
                    "description": "The type of action that triggered the webhook"
                  },
                  "pr_numbers": {
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "description": "The PR numbers of the pull requests in the batch"
                  },
                  "pr_numbers_in_batch": {
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "description": "The PR numbers of all pull requests that were tested together in this batch. This may be a superset of pr_numbers if some PRs in the batch failed to merge."
                  },
                  "repository": {
                    "type": "object",
                    "properties": {
                      "host": {
                        "type": "string",
                        "description": "The type of source control for this repository"
                      },
                      "owner": {
                        "type": "string",
                        "description": "The name of the repository"
                      },
                      "name": {
                        "type": "string",
                        "description": "The user or organization that owns the repository"
                      }
                    },
                    "required": [
                      "host",
                      "owner",
                      "name"
                    ],
                    "description": "The repository that the webhook event occurred in"
                  },
                  "status": {
                    "type": "string",
                    "const": "failed",
                    "description": "The current status of the Pull Request batch"
                  },
                  "target_branch": {
                    "type": "string",
                    "description": "The name of the branch targeted by the merge queue where the event occurred"
                  },
                  "timestamp": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The ISO 8601 timestamp of when this state transition occurred"
                  }
                },
                "required": [
                  "test_branch",
                  "test_branch_sha",
                  "is_bisection",
                  "type",
                  "action",
                  "pr_numbers",
                  "repository",
                  "status",
                  "target_branch",
                  "timestamp"
                ],
                "description": "Triggered when a batch of PRs fails while in the merge queue"
              },
              "example": {
                "test_branch": "string",
                "test_branch_sha": "string",
                "test_pr_number": 0,
                "failure_reason": "START_TEST_RUN_INVALID_EVENT",
                "is_bisection": true,
                "type": "pull_request_batch.failed",
                "action": "failed",
                "pr_numbers": [
                  0
                ],
                "pr_numbers_in_batch": [
                  0
                ],
                "repository": {
                  "host": "string",
                  "owner": "string",
                  "name": "string"
                },
                "status": "failed",
                "target_branch": "string",
                "timestamp": "2019-08-24T14:15:22Z"
              }
            }
          }
        },
        "responses": {}
      }
    },
    "pull_request_batch.pending_failure": {
      "post": {
        "operationId": "pull_request_batch.pending_failure",
        "summary": "Pull request batch pending failure",
        "description": "Triggered when the last pull request in a batch enters pending failure state",
        "security": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "test_branch": {
                    "type": "string",
                    "description": "The branch the pull request or pull request batch was tested on"
                  },
                  "test_branch_sha": {
                    "type": "string",
                    "description": "The SHA of the branch the pull request or pull request batch was tested on"
                  },
                  "test_pr_number": {
                    "type": "integer",
                    "minimum": 0,
                    "description": "The number of the pull request used to test the pull request or pull request batch"
                  },
                  "failure_reason": {
                    "type": "string",
                    "enum": [
                      "START_TEST_RUN_INVALID_EVENT",
                      "START_TEST_RUN_MERGE_CONFLICT",
                      "START_TEST_RUN_CONFIG_NOT_FOUND",
                      "START_TEST_RUN_CONFIG_PARSING_FAILURE",
                      "START_TEST_RUN_CONFIG_MISSING_REQUIRED_STATUSES",
                      "START_TEST_RUN_CONFIG_BAD_REQUIRED_STATUSES",
                      "START_TEST_RUN_CONFIG_BAD_VERSION",
                      "START_TEST_RUN_NO_REQUIRED_STATUSES",
                      "TEST_RUN_REQUIRED_STATUS_FAILED",
                      "TEST_RUN_TIMEOUT",
                      "GITHUB_API_MERGE_PR_FAILED",
                      "GITHUB_API_DIRECT_MERGE_PR_FAILED",
                      "PR_UPDATED_AT_MERGE_TIME",
                      "START_TEST_RUN_RETRY_EXHAUSTED",
                      "START_TEST_RUN_DRAFT_PRS_NOT_ALLOWED",
                      "TEST_RUN_FAILED_BY_OPTIMIZATION"
                    ],
                    "description": "The reason the batch is pending failure"
                  },
                  "type": {
                    "type": "string",
                    "const": "pull_request_batch.pending_failure",
                    "description": "The type of webhook event that occurred"
                  },
                  "action": {
                    "type": "string",
                    "const": "pending_failure",
                    "description": "The type of action that triggered the webhook"
                  },
                  "pr_numbers": {
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "description": "The PR numbers of the pull requests in the batch"
                  },
                  "pr_numbers_in_batch": {
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "description": "The PR numbers of all pull requests that were tested together in this batch. This may be a superset of pr_numbers if some PRs in the batch failed to merge."
                  },
                  "repository": {
                    "type": "object",
                    "properties": {
                      "host": {
                        "type": "string",
                        "description": "The type of source control for this repository"
                      },
                      "owner": {
                        "type": "string",
                        "description": "The name of the repository"
                      },
                      "name": {
                        "type": "string",
                        "description": "The user or organization that owns the repository"
                      }
                    },
                    "required": [
                      "host",
                      "owner",
                      "name"
                    ],
                    "description": "The repository that the webhook event occurred in"
                  },
                  "status": {
                    "type": "string",
                    "const": "pending_failure",
                    "description": "The current status of the Pull Request batch"
                  },
                  "target_branch": {
                    "type": "string",
                    "description": "The name of the branch targeted by the merge queue where the event occurred"
                  },
                  "timestamp": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The ISO 8601 timestamp of when this state transition occurred"
                  }
                },
                "required": [
                  "test_branch",
                  "test_branch_sha",
                  "type",
                  "action",
                  "pr_numbers",
                  "repository",
                  "status",
                  "target_branch",
                  "timestamp"
                ],
                "description": "Triggered when the last pull request in a batch enters pending failure state"
              },
              "example": {
                "test_branch": "string",
                "test_branch_sha": "string",
                "test_pr_number": 0,
                "failure_reason": "START_TEST_RUN_INVALID_EVENT",
                "type": "pull_request_batch.pending_failure",
                "action": "pending_failure",
                "pr_numbers": [
                  0
                ],
                "pr_numbers_in_batch": [
                  0
                ],
                "repository": {
                  "host": "string",
                  "owner": "string",
                  "name": "string"
                },
                "status": "pending_failure",
                "target_branch": "string",
                "timestamp": "2019-08-24T14:15:22Z"
              }
            }
          }
        },
        "responses": {}
      }
    },
    "pull_request_batch.canceled": {
      "post": {
        "operationId": "pull_request_batch.canceled",
        "summary": "Pull request batch canceled",
        "description": "Triggered when a batch of PRs is canceled",
        "security": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "test_branch": {
                    "type": "string",
                    "description": "The branch the pull request or pull request batch was tested on"
                  },
                  "test_branch_sha": {
                    "type": "string",
                    "description": "The SHA of the branch the pull request or pull request batch was tested on"
                  },
                  "test_pr_number": {
                    "type": "integer",
                    "minimum": 0,
                    "description": "The number of the pull request used to test the pull request or pull request batch"
                  },
                  "cancellation_reason": {
                    "type": "string",
                    "enum": [
                      "USER_REQUESTED",
                      "PR_CLOSED",
                      "PR_PUSHED_TO",
                      "PR_BASE_BRANCH_CHANGED",
                      "TRUNK_ADMIN_REQUESTED",
                      "PR_CONVERTED_TO_DRAFT",
                      "STACKED_PR_MEMBER_PUSHED_TO",
                      "STACKED_PR_MEMBER_CLOSED",
                      "STACKED_PR_MEMBER_MERGED",
                      "STACKED_PR_MEMBER_BASE_BRANCH_CHANGED"
                    ],
                    "description": "The reason the batch was canceled"
                  },
                  "is_bisection": {
                    "type": "boolean",
                    "description": "Whether this event is part of a bisection test run"
                  },
                  "type": {
                    "type": "string",
                    "const": "pull_request_batch.canceled",
                    "description": "The type of webhook event that occurred"
                  },
                  "action": {
                    "type": "string",
                    "const": "canceled",
                    "description": "The type of action that triggered the webhook"
                  },
                  "pr_numbers": {
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "description": "The PR numbers of the pull requests in the batch"
                  },
                  "pr_numbers_in_batch": {
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "description": "The PR numbers of all pull requests that were tested together in this batch. This may be a superset of pr_numbers if some PRs in the batch failed to merge."
                  },
                  "repository": {
                    "type": "object",
                    "properties": {
                      "host": {
                        "type": "string",
                        "description": "The type of source control for this repository"
                      },
                      "owner": {
                        "type": "string",
                        "description": "The name of the repository"
                      },
                      "name": {
                        "type": "string",
                        "description": "The user or organization that owns the repository"
                      }
                    },
                    "required": [
                      "host",
                      "owner",
                      "name"
                    ],
                    "description": "The repository that the webhook event occurred in"
                  },
                  "status": {
                    "type": "string",
                    "const": "canceled",
                    "description": "The current status of the Pull Request batch"
                  },
                  "target_branch": {
                    "type": "string",
                    "description": "The name of the branch targeted by the merge queue where the event occurred"
                  },
                  "timestamp": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The ISO 8601 timestamp of when this state transition occurred"
                  }
                },
                "required": [
                  "test_branch",
                  "test_branch_sha",
                  "is_bisection",
                  "type",
                  "action",
                  "pr_numbers",
                  "repository",
                  "status",
                  "target_branch",
                  "timestamp"
                ],
                "description": "Triggered when a batch of PRs is canceled"
              },
              "example": {
                "test_branch": "string",
                "test_branch_sha": "string",
                "test_pr_number": 0,
                "cancellation_reason": "USER_REQUESTED",
                "is_bisection": true,
                "type": "pull_request_batch.canceled",
                "action": "canceled",
                "pr_numbers": [
                  0
                ],
                "pr_numbers_in_batch": [
                  0
                ],
                "repository": {
                  "host": "string",
                  "owner": "string",
                  "name": "string"
                },
                "status": "canceled",
                "target_branch": "string",
                "timestamp": "2019-08-24T14:15:22Z"
              }
            }
          }
        },
        "responses": {}
      }
    },
    "pull_request_batch.merged": {
      "post": {
        "operationId": "pull_request_batch.merged",
        "summary": "Pull request batch merged",
        "description": "Triggered when the last pull request in a batch gets merged",
        "security": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "test_branch": {
                    "type": "string",
                    "description": "The branch the pull request or pull request batch was tested on"
                  },
                  "test_branch_sha": {
                    "type": "string",
                    "description": "The SHA of the branch the pull request or pull request batch was tested on"
                  },
                  "test_pr_number": {
                    "type": "integer",
                    "minimum": 0,
                    "description": "The number of the pull request used to test the pull request or pull request batch"
                  },
                  "merged_reason": {
                    "type": "string",
                    "enum": [
                      "MERGE_GRAPH_MERGE",
                      "MANUAL_MERGE",
                      "MERGE_GRAPH_DIRECT_MERGE"
                    ],
                    "description": "The reason the batch was merged"
                  },
                  "type": {
                    "type": "string",
                    "const": "pull_request_batch.merged",
                    "description": "The type of webhook event that occurred"
                  },
                  "action": {
                    "type": "string",
                    "const": "merged",
                    "description": "The type of action that triggered the webhook"
                  },
                  "pr_numbers": {
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "description": "The PR numbers of the pull requests in the batch"
                  },
                  "pr_numbers_in_batch": {
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "description": "The PR numbers of all pull requests that were tested together in this batch. This may be a superset of pr_numbers if some PRs in the batch failed to merge."
                  },
                  "repository": {
                    "type": "object",
                    "properties": {
                      "host": {
                        "type": "string",
                        "description": "The type of source control for this repository"
                      },
                      "owner": {
                        "type": "string",
                        "description": "The name of the repository"
                      },
                      "name": {
                        "type": "string",
                        "description": "The user or organization that owns the repository"
                      }
                    },
                    "required": [
                      "host",
                      "owner",
                      "name"
                    ],
                    "description": "The repository that the webhook event occurred in"
                  },
                  "status": {
                    "type": "string",
                    "const": "merged",
                    "description": "The current status of the Pull Request batch"
                  },
                  "target_branch": {
                    "type": "string",
                    "description": "The name of the branch targeted by the merge queue where the event occurred"
                  },
                  "timestamp": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The ISO 8601 timestamp of when this state transition occurred"
                  }
                },
                "required": [
                  "test_branch",
                  "test_branch_sha",
                  "type",
                  "action",
                  "pr_numbers",
                  "repository",
                  "status",
                  "target_branch",
                  "timestamp"
                ],
                "description": "Triggered when the last pull request in a batch gets merged"
              },
              "example": {
                "test_branch": "string",
                "test_branch_sha": "string",
                "test_pr_number": 0,
                "merged_reason": "MERGE_GRAPH_MERGE",
                "type": "pull_request_batch.merged",
                "action": "merged",
                "pr_numbers": [
                  0
                ],
                "pr_numbers_in_batch": [
                  0
                ],
                "repository": {
                  "host": "string",
                  "owner": "string",
                  "name": "string"
                },
                "status": "merged",
                "target_branch": "string",
                "timestamp": "2019-08-24T14:15:22Z"
              }
            }
          }
        },
        "responses": {}
      }
    },
    "pull_request_batch.queued": {
      "post": {
        "operationId": "pull_request_batch.queued",
        "summary": "Pull request batch queued",
        "description": "Triggered when a batch of PRs is queued",
        "security": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "test_branch": {
                    "type": "string",
                    "description": "The branch the pull request or pull request batch was tested on"
                  },
                  "test_branch_sha": {
                    "type": "string",
                    "description": "The SHA of the branch the pull request or pull request batch was tested on"
                  },
                  "test_pr_number": {
                    "type": "integer",
                    "minimum": 0,
                    "description": "The number of the pull request used to test the pull request or pull request batch"
                  },
                  "queued_reason": {
                    "type": "string",
                    "enum": [
                      "MANUAL_PUSH_TO_TARGET_BRANCH",
                      "PREREQUISITE_MERGE_ITEM_CANCELLED",
                      "PREREQUISITE_MERGE_ITEM_FAILED",
                      "PREREQUISITE_MERGE_ITEM_MANUALLY_MERGED",
                      "MERGE_ITEM_NOW_READY",
                      "TESTS_RESTARTED_BY_USER",
                      "TESTS_RESTARTED_BY_API_REQUEST",
                      "SKIP_THE_LINE_INTERRUPTED",
                      "BISECTION_REQUIRED",
                      "BISECTION_TEST_RUN_PASSED"
                    ],
                    "description": "The reason the batch was queued"
                  },
                  "type": {
                    "type": "string",
                    "const": "pull_request_batch.queued",
                    "description": "The type of webhook event that occurred"
                  },
                  "action": {
                    "type": "string",
                    "const": "queued",
                    "description": "The type of action that triggered the webhook"
                  },
                  "pr_numbers": {
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "description": "The PR numbers of the pull requests in the batch"
                  },
                  "pr_numbers_in_batch": {
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "description": "The PR numbers of all pull requests that were tested together in this batch. This may be a superset of pr_numbers if some PRs in the batch failed to merge."
                  },
                  "repository": {
                    "type": "object",
                    "properties": {
                      "host": {
                        "type": "string",
                        "description": "The type of source control for this repository"
                      },
                      "owner": {
                        "type": "string",
                        "description": "The name of the repository"
                      },
                      "name": {
                        "type": "string",
                        "description": "The user or organization that owns the repository"
                      }
                    },
                    "required": [
                      "host",
                      "owner",
                      "name"
                    ],
                    "description": "The repository that the webhook event occurred in"
                  },
                  "status": {
                    "type": "string",
                    "const": "queued",
                    "description": "The current status of the Pull Request batch"
                  },
                  "target_branch": {
                    "type": "string",
                    "description": "The name of the branch targeted by the merge queue where the event occurred"
                  },
                  "timestamp": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The ISO 8601 timestamp of when this state transition occurred"
                  }
                },
                "required": [
                  "test_branch",
                  "test_branch_sha",
                  "type",
                  "action",
                  "pr_numbers",
                  "repository",
                  "status",
                  "target_branch",
                  "timestamp"
                ],
                "description": "Triggered when a batch of PRs is queued"
              },
              "example": {
                "test_branch": "string",
                "test_branch_sha": "string",
                "test_pr_number": 0,
                "queued_reason": "MANUAL_PUSH_TO_TARGET_BRANCH",
                "type": "pull_request_batch.queued",
                "action": "queued",
                "pr_numbers": [
                  0
                ],
                "pr_numbers_in_batch": [
                  0
                ],
                "repository": {
                  "host": "string",
                  "owner": "string",
                  "name": "string"
                },
                "status": "queued",
                "target_branch": "string",
                "timestamp": "2019-08-24T14:15:22Z"
              }
            }
          }
        },
        "responses": {}
      }
    },
    "pull_request_batch.submitted": {
      "post": {
        "operationId": "pull_request_batch.submitted",
        "summary": "Pull request batch submitted",
        "description": "Triggered when a batch of PRs is submitted",
        "security": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "test_branch": {
                    "type": "string",
                    "description": "The branch the pull request or pull request batch was tested on"
                  },
                  "test_branch_sha": {
                    "type": "string",
                    "description": "The SHA of the branch the pull request or pull request batch was tested on"
                  },
                  "test_pr_number": {
                    "type": "integer",
                    "minimum": 0,
                    "description": "The number of the pull request used to test the pull request or pull request batch"
                  },
                  "submitted_reason": {
                    "type": "string",
                    "enum": [
                      "USER_REQUESTED",
                      "TRUNK_ADMIN_REQUESTED",
                      "API_REQUESTED"
                    ],
                    "description": "The reason the batch was submitted"
                  },
                  "type": {
                    "type": "string",
                    "const": "pull_request_batch.submitted",
                    "description": "The type of webhook event that occurred"
                  },
                  "action": {
                    "type": "string",
                    "const": "submitted",
                    "description": "The type of action that triggered the webhook"
                  },
                  "pr_numbers": {
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "description": "The PR numbers of the pull requests in the batch"
                  },
                  "pr_numbers_in_batch": {
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "description": "The PR numbers of all pull requests that were tested together in this batch. This may be a superset of pr_numbers if some PRs in the batch failed to merge."
                  },
                  "repository": {
                    "type": "object",
                    "properties": {
                      "host": {
                        "type": "string",
                        "description": "The type of source control for this repository"
                      },
                      "owner": {
                        "type": "string",
                        "description": "The name of the repository"
                      },
                      "name": {
                        "type": "string",
                        "description": "The user or organization that owns the repository"
                      }
                    },
                    "required": [
                      "host",
                      "owner",
                      "name"
                    ],
                    "description": "The repository that the webhook event occurred in"
                  },
                  "status": {
                    "type": "string",
                    "const": "submitted",
                    "description": "The current status of the Pull Request batch"
                  },
                  "target_branch": {
                    "type": "string",
                    "description": "The name of the branch targeted by the merge queue where the event occurred"
                  },
                  "timestamp": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The ISO 8601 timestamp of when this state transition occurred"
                  }
                },
                "required": [
                  "test_branch",
                  "test_branch_sha",
                  "type",
                  "action",
                  "pr_numbers",
                  "repository",
                  "status",
                  "target_branch",
                  "timestamp"
                ],
                "description": "Triggered when a batch of PRs is submitted"
              },
              "example": {
                "test_branch": "string",
                "test_branch_sha": "string",
                "test_pr_number": 0,
                "submitted_reason": "USER_REQUESTED",
                "type": "pull_request_batch.submitted",
                "action": "submitted",
                "pr_numbers": [
                  0
                ],
                "pr_numbers_in_batch": [
                  0
                ],
                "repository": {
                  "host": "string",
                  "owner": "string",
                  "name": "string"
                },
                "status": "submitted",
                "target_branch": "string",
                "timestamp": "2019-08-24T14:15:22Z"
              }
            }
          }
        },
        "responses": {}
      }
    },
    "pull_request_batch.testing": {
      "post": {
        "operationId": "pull_request_batch.testing",
        "summary": "Pull request batch testing",
        "description": "Triggered when all pull requests in a batch start testing in the merge queue",
        "security": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "test_branch": {
                    "type": "string",
                    "description": "The branch the pull request or pull request batch was tested on"
                  },
                  "test_branch_sha": {
                    "type": "string",
                    "description": "The SHA of the branch the pull request or pull request batch was tested on"
                  },
                  "test_pr_number": {
                    "type": "integer",
                    "minimum": 0,
                    "description": "The number of the pull request used to test the pull request or pull request batch"
                  },
                  "is_bisection": {
                    "type": "boolean",
                    "description": "Whether this event is part of a bisection test run"
                  },
                  "type": {
                    "type": "string",
                    "const": "pull_request_batch.testing",
                    "description": "The type of webhook event that occurred"
                  },
                  "action": {
                    "type": "string",
                    "const": "testing",
                    "description": "The type of action that triggered the webhook"
                  },
                  "pr_numbers": {
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "description": "The PR numbers of the pull requests in the batch"
                  },
                  "pr_numbers_in_batch": {
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "description": "The PR numbers of all pull requests that were tested together in this batch. This may be a superset of pr_numbers if some PRs in the batch failed to merge."
                  },
                  "repository": {
                    "type": "object",
                    "properties": {
                      "host": {
                        "type": "string",
                        "description": "The type of source control for this repository"
                      },
                      "owner": {
                        "type": "string",
                        "description": "The name of the repository"
                      },
                      "name": {
                        "type": "string",
                        "description": "The user or organization that owns the repository"
                      }
                    },
                    "required": [
                      "host",
                      "owner",
                      "name"
                    ],
                    "description": "The repository that the webhook event occurred in"
                  },
                  "status": {
                    "type": "string",
                    "const": "testing",
                    "description": "The current status of the Pull Request batch"
                  },
                  "target_branch": {
                    "type": "string",
                    "description": "The name of the branch targeted by the merge queue where the event occurred"
                  },
                  "timestamp": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The ISO 8601 timestamp of when this state transition occurred"
                  }
                },
                "required": [
                  "test_branch",
                  "test_branch_sha",
                  "is_bisection",
                  "type",
                  "action",
                  "pr_numbers",
                  "repository",
                  "status",
                  "target_branch",
                  "timestamp"
                ],
                "description": "Triggered when all pull requests in a batch start testing in the merge queue"
              },
              "example": {
                "test_branch": "string",
                "test_branch_sha": "string",
                "test_pr_number": 0,
                "is_bisection": true,
                "type": "pull_request_batch.testing",
                "action": "testing",
                "pr_numbers": [
                  0
                ],
                "pr_numbers_in_batch": [
                  0
                ],
                "repository": {
                  "host": "string",
                  "owner": "string",
                  "name": "string"
                },
                "status": "testing",
                "target_branch": "string",
                "timestamp": "2019-08-24T14:15:22Z"
              }
            }
          }
        },
        "responses": {}
      }
    }
  },
  "components": {
    "securitySchemes": {
      "ApiKeyAuth": {
        "type": "apiKey",
        "in": "header",
        "name": "x-api-token"
      }
    }
  }
}