Query structured spec data via REST or MCP. Get exactly what your agent needs.
https://api.github.com
/enterprises/{enterprise}/actions/cache/retention-limit
Gets GitHub Actions cache retention limit for an enterprise. All organizations and repositories under this enterprise may not set a higher cache retention limit. OAuth tokens and personal access tokens (classic) need the `admin:enterprise` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /enterprises/{enterprise}/actions/cache/retention-limit
/enterprises/{enterprise}/actions/cache/retention-limit
Sets GitHub Actions cache retention limit for an enterprise. All organizations and repositories under this enterprise may not set a higher cache retention limit. OAuth tokens and personal access tokens (classic) need the `admin:enterprise` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/actions-cache-retention-limit-for-enterprise"
},
"examples": {
"selected_actions": {
"$ref": "#/components/examples/actions-cache-retention-limit"
}
}
}
},
"required": true
}
PUT /enterprises/{enterprise}/actions/cache/retention-limit
/enterprises/{enterprise}/actions/cache/storage-limit
Gets GitHub Actions cache storage limit for an enterprise. All organizations and repositories under this enterprise may not set a higher cache storage limit. OAuth tokens and personal access tokens (classic) need the `admin:enterprise` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /enterprises/{enterprise}/actions/cache/storage-limit
/enterprises/{enterprise}/actions/cache/storage-limit
Sets GitHub Actions cache storage limit for an enterprise. All organizations and repositories under this enterprise may not set a higher cache storage limit. OAuth tokens and personal access tokens (classic) need the `admin:enterprise` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/actions-cache-storage-limit-for-enterprise"
},
"examples": {
"selected_actions": {
"$ref": "#/components/examples/actions-cache-storage-limit"
}
}
}
},
"required": true
}
PUT /enterprises/{enterprise}/actions/cache/storage-limit
/organizations/{org}/actions/cache/retention-limit
Gets GitHub Actions cache retention limit for an organization. All repositories under this organization may not set a higher cache retention limit. OAuth tokens and personal access tokens (classic) need the `admin:organization` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /organizations/{org}/actions/cache/retention-limit
/organizations/{org}/actions/cache/retention-limit
Sets GitHub Actions cache retention limit for an organization. All repositories under this organization may not set a higher cache retention limit. OAuth tokens and personal access tokens (classic) need the `admin:organization` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/actions-cache-retention-limit-for-organization"
},
"examples": {
"selected_actions": {
"$ref": "#/components/examples/actions-cache-retention-limit"
}
}
}
},
"required": true
}
PUT /organizations/{org}/actions/cache/retention-limit
/organizations/{org}/actions/cache/storage-limit
Gets GitHub Actions cache storage limit for an organization. All repositories under this organization may not set a higher cache storage limit. OAuth tokens and personal access tokens (classic) need the `admin:organization` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /organizations/{org}/actions/cache/storage-limit
/organizations/{org}/actions/cache/storage-limit
Sets GitHub Actions cache storage limit for an organization. All organizations and repositories under this organization may not set a higher cache storage limit. OAuth tokens and personal access tokens (classic) need the `admin:organization` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/actions-cache-storage-limit-for-organization"
},
"examples": {
"selected_actions": {
"$ref": "#/components/examples/actions-cache-storage-limit"
}
}
}
},
"required": true
}
PUT /organizations/{org}/actions/cache/storage-limit
/orgs/{org}/actions/cache/usage
Gets the total GitHub Actions cache usage for an organization. The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. OAuth tokens and personal access tokens (classic) need the `read:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /orgs/{org}/actions/cache/usage
/orgs/{org}/actions/cache/usage-by-repository
Lists repositories and their GitHub Actions cache usage for an organization. The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. OAuth tokens and personal access tokens (classic) need the `read:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/actions/cache/usage-by-repository
/orgs/{org}/actions/hosted-runners
Lists all GitHub-hosted runners configured in an organization. OAuth app tokens and personal access tokens (classic) need the `manage_runner:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/actions/hosted-runners
/orgs/{org}/actions/hosted-runners
Creates a GitHub-hosted runner for an organization. OAuth tokens and personal access tokens (classic) need the `manage_runners:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"name",
"image",
"size",
"runner_group_id"
],
"properties": {
"name": {
"type": "string",
"description": "Name of the runner. Must be between 1 and 64 characters and may only contain upper and lowercase letters a-z, numbers 0-9, '.', '-', and '_'."
},
"size": {
"type": "string",
"description": "The machine size of the runner. To list available sizes, use `GET actions/hosted-runners/machine-sizes`"
},
"image": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The unique identifier of the runner image."
},
"source": {
"enum": [
"github",
"partner",
"custom"
],
"type": "string",
"description": "The source of the runner image."
},
"version": {
"type": "string",
"nullable": true,
"description": "The version of the runner image to deploy. This is relevant only for runners using custom images."
}
},
"description": "The image of runner. To list all available images, use `GET /actions/hosted-runners/images/github-owned` or `GET /actions/hosted-runners/images/partner`."
},
"image_gen": {
"type": "boolean",
"default": false,
"description": "Whether this runner should be used to generate custom images."
},
"maximum_runners": {
"type": "integer",
"description": "The maximum amount of runners to scale up to. Runners will not auto-scale above this number. Use this setting to limit your cost."
},
"runner_group_id": {
"type": "integer",
"description": "The existing runner group to add this runner to."
},
"enable_static_ip": {
"type": "boolean",
"description": "Whether this runner should be created with a static public IP. Note limit on account. To list limits on account, use `GET actions/hosted-runners/limits`"
}
}
},
"examples": {
"default": {
"value": {
"name": "My Hosted runner",
"size": "4-core",
"image": {
"id": "ubuntu-latest",
"source": "github"
},
"maximum_runners": 50,
"runner_group_id": 1,
"enable_static_ip": false
}
}
}
}
},
"required": true
}
POST /orgs/{org}/actions/hosted-runners
/orgs/{org}/actions/hosted-runners/images/custom
List custom images for an organization. OAuth tokens and personal access tokens (classic) need the `manage_runners:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /orgs/{org}/actions/hosted-runners/images/custom
/orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}
Delete a custom image from the organization. OAuth tokens and personal access tokens (classic) need the `manage_runners:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
DELETE /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}
/orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}
Get a custom image definition for GitHub Actions Hosted Runners. OAuth tokens and personal access tokens (classic) need the `manage_runners:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}
/orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions
List image versions of a custom image for an organization. OAuth tokens and personal access tokens (classic) need the `manage_runners:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions
/orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions/{version}
Delete an image version of custom image from the organization. OAuth tokens and personal access tokens (classic) need the `manage_runners:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
DELETE /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions/{version}
/orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions/{version}
Get an image version of a custom image for GitHub Actions Hosted Runners. OAuth tokens and personal access tokens (classic) need the `manage_runners:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions/{version}
/orgs/{org}/actions/hosted-runners/images/github-owned
Get the list of GitHub-owned images available for GitHub-hosted runners for an organization.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /orgs/{org}/actions/hosted-runners/images/github-owned
/orgs/{org}/actions/hosted-runners/images/partner
Get the list of partner images available for GitHub-hosted runners for an organization.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /orgs/{org}/actions/hosted-runners/images/partner
/orgs/{org}/actions/hosted-runners/limits
Get the GitHub-hosted runners limits for an organization.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /orgs/{org}/actions/hosted-runners/limits
/orgs/{org}/actions/hosted-runners/machine-sizes
Get the list of machine specs available for GitHub-hosted runners for an organization.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /orgs/{org}/actions/hosted-runners/machine-sizes
/orgs/{org}/actions/hosted-runners/platforms
Get the list of platforms available for GitHub-hosted runners for an organization.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /orgs/{org}/actions/hosted-runners/platforms
/orgs/{org}/actions/hosted-runners/{hosted_runner_id}
Deletes a GitHub-hosted runner for an organization.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
DELETE /orgs/{org}/actions/hosted-runners/{hosted_runner_id}
/orgs/{org}/actions/hosted-runners/{hosted_runner_id}
Gets a GitHub-hosted runner configured in an organization. OAuth app tokens and personal access tokens (classic) need the `manage_runners:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /orgs/{org}/actions/hosted-runners/{hosted_runner_id}
/orgs/{org}/actions/hosted-runners/{hosted_runner_id}
Updates a GitHub-hosted runner for an organization. OAuth app tokens and personal access tokens (classic) need the `manage_runners:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the runner. Must be between 1 and 64 characters and may only contain upper and lowercase letters a-z, numbers 0-9, '.', '-', and '_'."
},
"size": {
"type": "string",
"description": "The machine size of the runner. To list available sizes, use `GET actions/hosted-runners/machine-sizes`"
},
"image_id": {
"type": "string",
"description": "The unique identifier of the runner image. To list available images, use `GET /actions/hosted-runners/images/github-owned`, `GET /actions/hosted-runners/images/partner`, or `GET /actions/hosted-runners/images/custom`."
},
"image_version": {
"type": "string",
"nullable": true,
"description": "The version of the runner image to deploy. This is relevant only for runners using custom images."
},
"maximum_runners": {
"type": "integer",
"description": "The maximum amount of runners to scale up to. Runners will not auto-scale above this number. Use this setting to limit your cost."
},
"runner_group_id": {
"type": "integer",
"description": "The existing runner group to add this runner to."
},
"enable_static_ip": {
"type": "boolean",
"description": "Whether this runner should be updated with a static public IP. Note limit on account. To list limits on account, use `GET actions/hosted-runners/limits`"
}
}
},
"examples": {
"default": {
"value": {
"name": "My larger runner",
"maximum_runners": 50,
"runner_group_id": 1,
"enable_static_ip": false
}
}
}
}
},
"required": true
}
PATCH /orgs/{org}/actions/hosted-runners/{hosted_runner_id}
/orgs/{org}/actions/permissions
Gets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /orgs/{org}/actions/permissions
/orgs/{org}/actions/permissions
Sets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"enabled_repositories"
],
"properties": {
"allowed_actions": {
"$ref": "#/components/schemas/allowed-actions"
},
"enabled_repositories": {
"$ref": "#/components/schemas/enabled-repositories"
},
"sha_pinning_required": {
"$ref": "#/components/schemas/sha-pinning-required"
}
}
},
"examples": {
"default": {
"value": {
"allowed_actions": "selected",
"enabled_repositories": "all",
"sha_pinning_required": true
}
}
}
}
},
"required": true
}
PUT /orgs/{org}/actions/permissions
/orgs/{org}/actions/permissions/artifact-and-log-retention
Gets artifact and log retention settings for an organization. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope or the "Actions policies" fine-grained permission to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /orgs/{org}/actions/permissions/artifact-and-log-retention
/orgs/{org}/actions/permissions/artifact-and-log-retention
Sets artifact and log retention settings for an organization. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope or the "Actions policies" fine-grained permission to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/actions-artifact-and-log-retention"
},
"examples": {
"application/json": {
"value": {
"days": 100
}
}
}
}
},
"required": true
}
PUT /orgs/{org}/actions/permissions/artifact-and-log-retention
/orgs/{org}/actions/permissions/fork-pr-contributor-approval
Gets the fork PR contributor approval policy for an organization. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope or the "Actions policies" fine-grained permission to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /orgs/{org}/actions/permissions/fork-pr-contributor-approval
/orgs/{org}/actions/permissions/fork-pr-contributor-approval
Sets the fork PR contributor approval policy for an organization. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/actions-fork-pr-contributor-approval"
},
"examples": {
"default": {
"value": {
"approval_policy": "first_time_contributors"
},
"summary": "Set approval policy to first time contributors"
}
}
}
},
"required": true
}
PUT /orgs/{org}/actions/permissions/fork-pr-contributor-approval
/orgs/{org}/actions/permissions/fork-pr-workflows-private-repos
Gets the settings for whether workflows from fork pull requests can run on private repositories in an organization.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /orgs/{org}/actions/permissions/fork-pr-workflows-private-repos
/orgs/{org}/actions/permissions/fork-pr-workflows-private-repos
Sets the settings for whether workflows from fork pull requests can run on private repositories in an organization.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/actions-fork-pr-workflows-private-repos-request"
},
"examples": {
"default": {
"$ref": "#/components/examples/actions-fork-pr-workflows-private-repos"
}
}
}
},
"required": true
}
PUT /orgs/{org}/actions/permissions/fork-pr-workflows-private-repos
/orgs/{org}/actions/permissions/repositories
Lists the selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/actions/permissions/repositories
/orgs/{org}/actions/permissions/repositories
Replaces the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"selected_repository_ids"
],
"properties": {
"selected_repository_ids": {
"type": "array",
"items": {
"type": "integer",
"description": "Unique identifier of the repository."
},
"description": "List of repository IDs to enable for GitHub Actions."
}
}
},
"examples": {
"default": {
"value": {
"selected_repository_ids": [
32,
42
]
}
}
}
}
},
"required": true
}
PUT /orgs/{org}/actions/permissions/repositories
/orgs/{org}/actions/permissions/repositories/{repository_id}
Removes a repository from the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}
/orgs/{org}/actions/permissions/repositories/{repository_id}
Adds a repository to the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
PUT /orgs/{org}/actions/permissions/repositories/{repository_id}
/orgs/{org}/actions/permissions/selected-actions
Gets the selected actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /orgs/{org}/actions/permissions/selected-actions
/orgs/{org}/actions/permissions/selected-actions
Sets the actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/selected-actions"
},
"examples": {
"selected_actions": {
"$ref": "#/components/examples/selected-actions"
}
}
}
},
"required": false
}
PUT /orgs/{org}/actions/permissions/selected-actions
/orgs/{org}/actions/permissions/self-hosted-runners
Gets the settings for self-hosted runners for an organization. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope or the "Actions policies" fine-grained permission to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /orgs/{org}/actions/permissions/self-hosted-runners
/orgs/{org}/actions/permissions/self-hosted-runners
Sets the settings for self-hosted runners for an organization. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope or the "Actions policies" fine-grained permission to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"enabled_repositories"
],
"properties": {
"enabled_repositories": {
"enum": [
"all",
"selected",
"none"
],
"type": "string",
"description": "The policy that controls whether self-hosted runners can be used in the organization"
}
}
},
"examples": {
"application/json": {
"value": {
"enabled_repositories": "all"
}
}
}
}
},
"required": true
}
PUT /orgs/{org}/actions/permissions/self-hosted-runners
/orgs/{org}/actions/permissions/self-hosted-runners/repositories
Lists repositories that are allowed to use self-hosted runners in an organization. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope or the "Actions policies" fine-grained permission to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/actions/permissions/self-hosted-runners/repositories
/orgs/{org}/actions/permissions/self-hosted-runners/repositories
Sets repositories that are allowed to use self-hosted runners in an organization. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope or the "Actions policies" fine-grained permission to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"selected_repository_ids"
],
"properties": {
"selected_repository_ids": {
"type": "array",
"items": {
"type": "integer"
},
"description": "IDs of repositories that can use repository-level self-hosted runners"
}
}
},
"examples": {
"application/json": {
"value": {
"selected_repository_ids": [
1,
2,
3
]
}
}
}
}
},
"required": true
}
PUT /orgs/{org}/actions/permissions/self-hosted-runners/repositories
/orgs/{org}/actions/permissions/self-hosted-runners/repositories/{repository_id}
Removes a repository from the list of repositories that are allowed to use self-hosted runners in an organization. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope or the "Actions policies" fine-grained permission to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
DELETE /orgs/{org}/actions/permissions/self-hosted-runners/repositories/{repository_id}
/orgs/{org}/actions/permissions/self-hosted-runners/repositories/{repository_id}
Adds a repository to the list of repositories that are allowed to use self-hosted runners in an organization. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope or the "Actions policies" fine-grained permission to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
PUT /orgs/{org}/actions/permissions/self-hosted-runners/repositories/{repository_id}
/orgs/{org}/actions/permissions/workflow
Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an organization, as well as whether GitHub Actions can submit approving pull request reviews. For more information, see "[Setting the permissions of the GITHUB_TOKEN for your organization](https://docs.github.com/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)." OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /orgs/{org}/actions/permissions/workflow
/orgs/{org}/actions/permissions/workflow
Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an organization, and sets if GitHub Actions can submit approving pull request reviews. For more information, see "[Setting the permissions of the GITHUB_TOKEN for your organization](https://docs.github.com/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)." OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/actions-set-default-workflow-permissions"
},
"examples": {
"default": {
"$ref": "#/components/examples/actions-default-workflow-permissions"
}
}
}
},
"required": false
}
PUT /orgs/{org}/actions/permissions/workflow
/orgs/{org}/actions/runner-groups
Lists all self-hosted runner groups configured in an organization and inherited from an enterprise. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/actions/runner-groups
/orgs/{org}/actions/runner-groups
Creates a new self-hosted runner group for an organization. OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Name of the runner group."
},
"runners": {
"type": "array",
"items": {
"type": "integer",
"description": "Unique identifier of the runner."
},
"description": "List of runner IDs to add to the runner group."
},
"visibility": {
"enum": [
"selected",
"all",
"private"
],
"type": "string",
"default": "all",
"description": "Visibility of a runner group. You can select all repositories, select individual repositories, or limit access to private repositories."
},
"selected_workflows": {
"type": "array",
"items": {
"type": "string",
"example": "octo-org/octo-repo/.github/workflows/deploy.yaml@main",
"description": "Name of workflow the runner group should be allowed to run. Note that a ref, tag, or long SHA is required."
},
"description": "List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`."
},
"restricted_to_workflows": {
"type": "boolean",
"default": false,
"description": "If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array."
},
"selected_repository_ids": {
"type": "array",
"items": {
"type": "integer",
"description": "Unique identifier of the repository."
},
"description": "List of repository IDs that can access the runner group."
},
"network_configuration_id": {
"type": "string",
"description": "The identifier of a hosted compute network configuration."
},
"allows_public_repositories": {
"type": "boolean",
"default": false,
"description": "Whether the runner group can be used by `public` repositories."
}
}
},
"examples": {
"default": {
"value": {
"name": "Expensive hardware runners",
"runners": [
9,
2
],
"visibility": "selected",
"selected_repository_ids": [
32,
91
]
}
}
}
}
},
"required": true
}
POST /orgs/{org}/actions/runner-groups
/orgs/{org}/actions/runner-groups/{runner_group_id}
Deletes a self-hosted runner group for an organization. OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
DELETE /orgs/{org}/actions/runner-groups/{runner_group_id}
/orgs/{org}/actions/runner-groups/{runner_group_id}
Gets a specific self-hosted runner group for an organization. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /orgs/{org}/actions/runner-groups/{runner_group_id}
/orgs/{org}/actions/runner-groups/{runner_group_id}
Updates the `name` and `visibility` of a self-hosted runner group in an organization. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Name of the runner group."
},
"visibility": {
"enum": [
"selected",
"all",
"private"
],
"type": "string",
"description": "Visibility of a runner group. You can select all repositories, select individual repositories, or all private repositories."
},
"selected_workflows": {
"type": "array",
"items": {
"type": "string",
"example": "octo-org/octo-repo/.github/workflows/deploy.yaml@main",
"description": "Name of workflow the runner group should be allowed to run. Note that a ref, tag, or long SHA is required."
},
"description": "List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`."
},
"restricted_to_workflows": {
"type": "boolean",
"default": false,
"description": "If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array."
},
"network_configuration_id": {
"type": "string",
"nullable": true,
"description": "The identifier of a hosted compute network configuration."
},
"allows_public_repositories": {
"type": "boolean",
"default": false,
"description": "Whether the runner group can be used by `public` repositories."
}
}
},
"examples": {
"default": {
"value": {
"name": "Expensive hardware runners",
"visibility": "selected"
}
}
}
}
},
"required": true
}
PATCH /orgs/{org}/actions/runner-groups/{runner_group_id}
/orgs/{org}/actions/runner-groups/{runner_group_id}/hosted-runners
Lists the GitHub-hosted runners in an organization group. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/actions/runner-groups/{runner_group_id}/hosted-runners
/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories
Lists the repositories with access to a self-hosted runner group configured in an organization. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories
/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories
Replaces the list of repositories that have access to a self-hosted runner group configured in an organization. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"selected_repository_ids"
],
"properties": {
"selected_repository_ids": {
"type": "array",
"items": {
"type": "integer",
"description": "Unique identifier of the repository."
},
"description": "List of repository IDs that can access the runner group."
}
}
},
"examples": {
"default": {
"value": {
"selected_repository_ids": [
32,
91
]
}
}
}
}
},
"required": true
}
PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories
/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}
Removes a repository from the list of selected repositories that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an organization](#create-a-self-hosted-runner-group-for-an-organization)." OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
DELETE /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}
/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}
Adds a repository to the list of repositories that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an organization](#create-a-self-hosted-runner-group-for-an-organization)." OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}
/orgs/{org}/actions/runner-groups/{runner_group_id}/runners
Lists self-hosted runners that are in a specific organization group. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners
/orgs/{org}/actions/runner-groups/{runner_group_id}/runners
Replaces the list of self-hosted runners that are part of an organization runner group. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"runners"
],
"properties": {
"runners": {
"type": "array",
"items": {
"type": "integer",
"description": "Unique identifier of the runner."
},
"description": "List of runner IDs to add to the runner group."
}
}
},
"examples": {
"default": {
"value": {
"runners": [
9,
2
]
}
}
}
}
},
"required": true
}
PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/runners
/orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}
Removes a self-hosted runner from a group configured in an organization. The runner is then returned to the default group. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
DELETE /orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}
/orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}
Adds a self-hosted runner to a runner group configured in an organization. OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}
/orgs/{org}/actions/runners
Lists all self-hosted runners configured in an organization. Authenticated users must have admin access to the organization to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| name | query | optional | string | The name of a self-hosted runner. |
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/actions/runners
/orgs/{org}/actions/runners/downloads
Lists binaries for the runner application that you can download and run. Authenticated users must have admin access to the organization to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /orgs/{org}/actions/runners/downloads
/orgs/{org}/actions/runners/generate-jitconfig
Generates a configuration that can be passed to the runner application at startup. The authenticated user must have admin access to the organization. OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"name",
"runner_group_id",
"labels"
],
"properties": {
"name": {
"type": "string",
"description": "The name of the new runner."
},
"labels": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 100,
"minItems": 1,
"description": "The names of the custom labels to add to the runner. **Minimum items**: 1. **Maximum items**: 100."
},
"work_folder": {
"type": "string",
"default": "_work",
"description": "The working directory to be used for job execution, relative to the runner install directory."
},
"runner_group_id": {
"type": "integer",
"description": "The ID of the runner group to register the runner to."
}
}
},
"examples": {
"default": {
"value": {
"name": "New runner",
"labels": [
"self-hosted",
"X64",
"macOS",
"no-gpu"
],
"work_folder": "_work",
"runner_group_id": 1
}
}
}
}
},
"required": true
}
POST /orgs/{org}/actions/runners/generate-jitconfig
/orgs/{org}/actions/runners/registration-token
Returns a token that you can pass to the `config` script. The token expires after one hour. For example, you can replace `TOKEN` in the following example with the registration token provided by this endpoint to configure your self-hosted runner: ``` ./config.sh --url https://github.com/octo-org --token TOKEN ``` Authenticated users must have admin access to the organization to use this endpoint. OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
POST /orgs/{org}/actions/runners/registration-token
/orgs/{org}/actions/runners/remove-token
Returns a token that you can pass to the `config` script to remove a self-hosted runner from an organization. The token expires after one hour. For example, you can replace `TOKEN` in the following example with the registration token provided by this endpoint to remove your self-hosted runner from an organization: ``` ./config.sh remove --token TOKEN ``` Authenticated users must have admin access to the organization to use this endpoint. OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
POST /orgs/{org}/actions/runners/remove-token
/orgs/{org}/actions/runners/{runner_id}
Forces the removal of a self-hosted runner from an organization. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. Authenticated users must have admin access to the organization to use this endpoint. OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
DELETE /orgs/{org}/actions/runners/{runner_id}
/orgs/{org}/actions/runners/{runner_id}
Gets a specific self-hosted runner configured in an organization. Authenticated users must have admin access to the organization to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /orgs/{org}/actions/runners/{runner_id}
/orgs/{org}/actions/runners/{runner_id}/labels
Remove all custom labels from a self-hosted runner configured in an organization. Returns the remaining read-only labels from the runner. Authenticated users must have admin access to the organization to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
DELETE /orgs/{org}/actions/runners/{runner_id}/labels
/orgs/{org}/actions/runners/{runner_id}/labels
Lists all labels for a self-hosted runner configured in an organization. Authenticated users must have admin access to the organization to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /orgs/{org}/actions/runners/{runner_id}/labels
/orgs/{org}/actions/runners/{runner_id}/labels
Adds custom labels to a self-hosted runner configured in an organization. Authenticated users must have admin access to the organization to use this endpoint. OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"labels"
],
"properties": {
"labels": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 100,
"minItems": 1,
"description": "The names of the custom labels to add to the runner."
}
}
},
"examples": {
"default": {
"value": {
"labels": [
"gpu",
"accelerated"
]
}
}
}
}
},
"required": true
}
POST /orgs/{org}/actions/runners/{runner_id}/labels
/orgs/{org}/actions/runners/{runner_id}/labels
Remove all previous custom labels and set the new custom labels for a specific self-hosted runner configured in an organization. Authenticated users must have admin access to the organization to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"labels"
],
"properties": {
"labels": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 100,
"minItems": 0,
"description": "The names of the custom labels to set for the runner. You can pass an empty array to remove all custom labels."
}
}
},
"examples": {
"default": {
"value": {
"labels": [
"gpu",
"accelerated"
]
}
}
}
}
},
"required": true
}
PUT /orgs/{org}/actions/runners/{runner_id}/labels
/orgs/{org}/actions/runners/{runner_id}/labels/{name}
Remove a custom label from a self-hosted runner configured in an organization. Returns the remaining labels from the runner. This endpoint returns a `404 Not Found` status if the custom label is not present on the runner. Authenticated users must have admin access to the organization to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}
/orgs/{org}/actions/secrets
Lists all secrets available in an organization without revealing their encrypted values. Authenticated users must have collaborator access to a repository to create, update, or read secrets. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/actions/secrets
/orgs/{org}/actions/secrets/public-key
Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. The authenticated user must have collaborator access to a repository to create, update, or read secrets. OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /orgs/{org}/actions/secrets/public-key
/orgs/{org}/actions/secrets/{secret_name}
Deletes a secret in an organization using the secret name. Authenticated users must have collaborator access to a repository to create, update, or read secrets. OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
DELETE /orgs/{org}/actions/secrets/{secret_name}
/orgs/{org}/actions/secrets/{secret_name}
Gets a single organization secret without revealing its encrypted value. The authenticated user must have collaborator access to a repository to create, update, or read secrets OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /orgs/{org}/actions/secrets/{secret_name}
/orgs/{org}/actions/secrets/{secret_name}
Creates or updates an organization secret with an encrypted value. Encrypt your secret using [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." Authenticated users must have collaborator access to a repository to create, update, or read secrets. OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"encrypted_value",
"key_id",
"visibility"
],
"properties": {
"key_id": {
"type": "string",
"description": "ID of the key you used to encrypt the secret."
},
"visibility": {
"enum": [
"all",
"private",
"selected"
],
"type": "string",
"description": "Which type of organization repositories have access to the organization secret. `selected` means only the repositories specified by `selected_repository_ids` can access the secret."
},
"encrypted_value": {
"type": "string",
"pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$",
"description": "Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/rest/actions/secrets#get-an-organization-public-key) endpoint."
},
"selected_repository_ids": {
"type": "array",
"items": {
"type": "integer"
},
"description": "An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/rest/actions/secrets#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/actions/secrets#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/actions/secrets#remove-selected-repository-from-an-organization-secret) endpoints."
}
}
},
"examples": {
"default": {
"value": {
"key_id": "012345678912345678",
"visibility": "selected",
"encrypted_value": "c2VjcmV0",
"selected_repository_ids": [
1296269,
1296280
]
}
}
}
}
},
"required": true
}
PUT /orgs/{org}/actions/secrets/{secret_name}
/orgs/{org}/actions/secrets/{secret_name}/repositories
Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. Authenticated users must have collaborator access to a repository to create, update, or read secrets. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/actions/secrets/{secret_name}/repositories
/orgs/{org}/actions/secrets/{secret_name}/repositories
Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret). Authenticated users must have collaborator access to a repository to create, update, or read secrets. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"selected_repository_ids"
],
"properties": {
"selected_repository_ids": {
"type": "array",
"items": {
"type": "integer"
},
"description": "An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Add selected repository to an organization secret](https://docs.github.com/rest/actions/secrets#add-selected-repository-to-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/actions/secrets#remove-selected-repository-from-an-organization-secret) endpoints."
}
}
},
"examples": {
"default": {
"value": {
"selected_repository_ids": [
64780797
]
}
}
}
}
},
"required": true
}
PUT /orgs/{org}/actions/secrets/{secret_name}/repositories
/orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}
Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret). Authenticated users must have collaborator access to a repository to create, update, or read secrets. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| repository_id | path | required | integer |
DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}
/orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}
Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. For more information about setting the visibility, see [Create or update an organization secret](https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret). Authenticated users must have collaborator access to a repository to create, update, or read secrets. OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| repository_id | path | required | integer |
PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}
/orgs/{org}/actions/variables
Lists all organization variables. Authenticated users must have collaborator access to a repository to create, update, or read variables. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/actions/variables
/orgs/{org}/actions/variables
Creates an organization variable that you can reference in a GitHub Actions workflow. Authenticated users must have collaborator access to a repository to create, update, or read variables. OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"name",
"value",
"visibility"
],
"properties": {
"name": {
"type": "string",
"description": "The name of the variable."
},
"value": {
"type": "string",
"description": "The value of the variable."
},
"visibility": {
"enum": [
"all",
"private",
"selected"
],
"type": "string",
"description": "The type of repositories in the organization that can access the variable. `selected` means only the repositories specified by `selected_repository_ids` can access the variable."
},
"selected_repository_ids": {
"type": "array",
"items": {
"type": "integer"
},
"description": "An array of repository ids that can access the organization variable. You can only provide a list of repository ids when the `visibility` is set to `selected`."
}
}
},
"examples": {
"default": {
"value": {
"name": "USERNAME",
"value": "octocat",
"visibility": "selected",
"selected_repository_ids": [
1296269,
1296280
]
}
}
}
}
},
"required": true
}
POST /orgs/{org}/actions/variables
/orgs/{org}/actions/variables/{name}
Deletes an organization variable using the variable name. Authenticated users must have collaborator access to a repository to create, update, or read variables. OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
DELETE /orgs/{org}/actions/variables/{name}
/orgs/{org}/actions/variables/{name}
Gets a specific variable in an organization. The authenticated user must have collaborator access to a repository to create, update, or read variables. OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /orgs/{org}/actions/variables/{name}
/orgs/{org}/actions/variables/{name}
Updates an organization variable that you can reference in a GitHub Actions workflow. Authenticated users must have collaborator access to a repository to create, update, or read variables. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the variable."
},
"value": {
"type": "string",
"description": "The value of the variable."
},
"visibility": {
"enum": [
"all",
"private",
"selected"
],
"type": "string",
"description": "The type of repositories in the organization that can access the variable. `selected` means only the repositories specified by `selected_repository_ids` can access the variable."
},
"selected_repository_ids": {
"type": "array",
"items": {
"type": "integer"
},
"description": "An array of repository ids that can access the organization variable. You can only provide a list of repository ids when the `visibility` is set to `selected`."
}
}
},
"examples": {
"default": {
"value": {
"name": "USERNAME",
"value": "octocat",
"visibility": "selected",
"selected_repository_ids": [
1296269,
1296280
]
}
}
}
}
},
"required": true
}
PATCH /orgs/{org}/actions/variables/{name}
/orgs/{org}/actions/variables/{name}/repositories
Lists all repositories that can access an organization variable that is available to selected repositories. Authenticated users must have collaborator access to a repository to create, update, or read variables. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/actions/variables/{name}/repositories
/orgs/{org}/actions/variables/{name}/repositories
Replaces all repositories for an organization variable that is available to selected repositories. Organization variables that are available to selected repositories have their `visibility` field set to `selected`. Authenticated users must have collaborator access to a repository to create, update, or read variables. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"selected_repository_ids"
],
"properties": {
"selected_repository_ids": {
"type": "array",
"items": {
"type": "integer"
},
"description": "The IDs of the repositories that can access the organization variable."
}
}
},
"examples": {
"default": {
"value": {
"selected_repository_ids": [
64780797
]
}
}
}
}
},
"required": true
}
PUT /orgs/{org}/actions/variables/{name}/repositories
/orgs/{org}/actions/variables/{name}/repositories/{repository_id}
Removes a repository from an organization variable that is available to selected repositories. Organization variables that are available to selected repositories have their `visibility` field set to `selected`. Authenticated users must have collaborator access to a repository to create, update, or read variables. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| repository_id | path | required | integer |
DELETE /orgs/{org}/actions/variables/{name}/repositories/{repository_id}
/orgs/{org}/actions/variables/{name}/repositories/{repository_id}
Adds a repository to an organization variable that is available to selected repositories. Organization variables that are available to selected repositories have their `visibility` field set to `selected`. Authenticated users must have collaborator access to a repository to create, update, or read secrets. OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| repository_id | path | required | integer |
PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}
/repos/{owner}/{repo}/actions/artifacts
Lists all artifacts for a repository. Anyone with read access to the repository can use this endpoint. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/actions/artifacts
/repos/{owner}/{repo}/actions/artifacts/{artifact_id}
Deletes an artifact for a workflow run. OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}
/repos/{owner}/{repo}/actions/artifacts/{artifact_id}
Gets a specific artifact for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}
/repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}
Gets a redirect URL to download an archive for a repository. This URL expires after 1 minute. Look for `Location:` in the response header to find the URL for the download. The `:archive_format` must be `zip`. OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| archive_format | path | required | string |
GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}
/repos/{owner}/{repo}/actions/cache/retention-limit
Gets GitHub Actions cache retention limit for a repository. This determines how long caches will be retained for, if not manually removed or evicted due to size constraints. OAuth tokens and personal access tokens (classic) need the `admin:repository` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/actions/cache/retention-limit
/repos/{owner}/{repo}/actions/cache/retention-limit
Sets GitHub Actions cache retention limit for a repository. This determines how long caches will be retained for, if not manually removed or evicted due to size constraints. OAuth tokens and personal access tokens (classic) need the `admin:repository` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/actions-cache-retention-limit-for-repository"
},
"examples": {
"selected_actions": {
"$ref": "#/components/examples/actions-cache-retention-limit"
}
}
}
},
"required": true
}
PUT /repos/{owner}/{repo}/actions/cache/retention-limit
/repos/{owner}/{repo}/actions/cache/storage-limit
Gets GitHub Actions cache storage limit for a repository. This determines the maximum size of caches that can be stored before eviction occurs. OAuth tokens and personal access tokens (classic) need the `admin:repository` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/actions/cache/storage-limit
/repos/{owner}/{repo}/actions/cache/storage-limit
Sets GitHub Actions cache storage limit for a repository. This determines the maximum size of caches that can be stored before eviction occurs. OAuth tokens and personal access tokens (classic) need the `admin:repository` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/actions-cache-storage-limit-for-repository"
},
"examples": {
"selected_actions": {
"$ref": "#/components/examples/actions-cache-storage-limit"
}
}
}
},
"required": true
}
PUT /repos/{owner}/{repo}/actions/cache/storage-limit
/repos/{owner}/{repo}/actions/cache/usage
Gets GitHub Actions cache usage for a repository. The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. Anyone with read access to the repository can use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/actions/cache/usage
/repos/{owner}/{repo}/actions/caches
Deletes one or more GitHub Actions caches for a repository, using a complete cache key. By default, all caches that match the provided key are deleted, but you can optionally provide a Git ref to restrict deletions to caches that match both the provided key and the Git ref. OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}/actions/caches
/repos/{owner}/{repo}/actions/caches
Lists the GitHub Actions caches for a repository. OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/actions/caches
/repos/{owner}/{repo}/actions/caches/{cache_id}
Deletes a GitHub Actions cache for a repository, using a cache ID. OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}
/repos/{owner}/{repo}/actions/jobs/{job_id}
Gets a specific job in a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/actions/jobs/{job_id}
/repos/{owner}/{repo}/actions/jobs/{job_id}/logs
Gets a redirect URL to download a plain text file of logs for a workflow job. This link expires after 1 minute. Look for `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs
/repos/{owner}/{repo}/actions/jobs/{job_id}/rerun
Re-run a job and its dependent jobs in a workflow run. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"nullable": true,
"properties": {
"enable_debug_logging": {
"type": "boolean",
"default": false,
"description": "Whether to enable debug logging for the re-run."
}
}
},
"examples": {
"default": {
"value": null
}
}
}
},
"required": false
}
POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun
/repos/{owner}/{repo}/actions/oidc/customization/sub
Gets the customization template for an OpenID Connect (OIDC) subject claim. OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/actions/oidc/customization/sub
/repos/{owner}/{repo}/actions/oidc/customization/sub
Sets the customization template and `opt-in` or `opt-out` flag for an OpenID Connect (OIDC) subject claim for a repository. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"title": "Actions OIDC subject customization for a repository",
"required": [
"use_default"
],
"properties": {
"use_default": {
"type": "boolean",
"description": "Whether to use the default template or not. If `true`, the `include_claim_keys` field is ignored."
},
"include_claim_keys": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of unique strings. Each claim key can only contain alphanumeric characters and underscores."
}
},
"description": "Actions OIDC subject customization for a repository"
},
"examples": {
"default": {
"value": {
"use_default": false,
"include_claim_keys": [
"repo",
"context"
]
}
}
}
}
},
"required": true
}
PUT /repos/{owner}/{repo}/actions/oidc/customization/sub
/repos/{owner}/{repo}/actions/organization-secrets
Lists all organization secrets shared with a repository without revealing their encrypted values. Authenticated users must have collaborator access to a repository to create, update, or read secrets. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/actions/organization-secrets
/repos/{owner}/{repo}/actions/organization-variables
Lists all organization variables shared with a repository. Authenticated users must have collaborator access to a repository to create, update, or read variables. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/actions/organization-variables
/repos/{owner}/{repo}/actions/permissions
Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions and reusable workflows allowed to run in the repository. OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/actions/permissions
/repos/{owner}/{repo}/actions/permissions
Sets the GitHub Actions permissions policy for enabling GitHub Actions and allowed actions and reusable workflows in the repository. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"enabled"
],
"properties": {
"enabled": {
"$ref": "#/components/schemas/actions-enabled"
},
"allowed_actions": {
"$ref": "#/components/schemas/allowed-actions"
},
"sha_pinning_required": {
"$ref": "#/components/schemas/sha-pinning-required"
}
}
},
"examples": {
"default": {
"value": {
"enabled": true,
"allowed_actions": "selected",
"sha_pinning_required": true
}
}
}
}
},
"required": true
}
PUT /repos/{owner}/{repo}/actions/permissions
/repos/{owner}/{repo}/actions/permissions/access
Gets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository. This endpoint only applies to private repositories. For more information, see "[Allowing access to components in a private repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-a-private-repository)." OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/actions/permissions/access
/repos/{owner}/{repo}/actions/permissions/access
Sets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository. This endpoint only applies to private repositories. For more information, see "[Allowing access to components in a private repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-a-private-repository)". OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/actions-workflow-access-to-repository"
},
"examples": {
"default": {
"$ref": "#/components/examples/actions-workflow-access-to-repository"
}
}
}
},
"required": true
}
PUT /repos/{owner}/{repo}/actions/permissions/access
/repos/{owner}/{repo}/actions/permissions/artifact-and-log-retention
Gets artifact and log retention settings for a repository. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/actions/permissions/artifact-and-log-retention
/repos/{owner}/{repo}/actions/permissions/artifact-and-log-retention
Sets artifact and log retention settings for a repository. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/actions-artifact-and-log-retention"
},
"examples": {
"default": {
"value": {
"days": 90
},
"summary": "Set retention days"
}
}
}
},
"required": true
}
PUT /repos/{owner}/{repo}/actions/permissions/artifact-and-log-retention
/repos/{owner}/{repo}/actions/permissions/fork-pr-contributor-approval
Gets the fork PR contributor approval policy for a repository. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/actions/permissions/fork-pr-contributor-approval
/repos/{owner}/{repo}/actions/permissions/fork-pr-contributor-approval
Sets the fork PR contributor approval policy for a repository. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/actions-fork-pr-contributor-approval"
},
"examples": {
"default": {
"value": {
"approval_policy": "first_time_contributors"
},
"summary": "Set approval policy to first time contributors"
}
}
}
},
"required": true
}
PUT /repos/{owner}/{repo}/actions/permissions/fork-pr-contributor-approval
/repos/{owner}/{repo}/actions/permissions/fork-pr-workflows-private-repos
Gets the settings for whether workflows from fork pull requests can run on a private repository. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/actions/permissions/fork-pr-workflows-private-repos
/repos/{owner}/{repo}/actions/permissions/fork-pr-workflows-private-repos
Sets the settings for whether workflows from fork pull requests can run on a private repository. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/actions-fork-pr-workflows-private-repos-request"
},
"examples": {
"default": {
"$ref": "#/components/examples/actions-fork-pr-workflows-private-repos"
}
}
}
},
"required": true
}
PUT /repos/{owner}/{repo}/actions/permissions/fork-pr-workflows-private-repos
/repos/{owner}/{repo}/actions/permissions/selected-actions
Gets the settings for selected actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/actions/permissions/selected-actions
/repos/{owner}/{repo}/actions/permissions/selected-actions
Sets the actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/selected-actions"
},
"examples": {
"selected_actions": {
"$ref": "#/components/examples/selected-actions"
}
}
}
},
"required": false
}
PUT /repos/{owner}/{repo}/actions/permissions/selected-actions
/repos/{owner}/{repo}/actions/permissions/workflow
Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in a repository, as well as if GitHub Actions can submit approving pull request reviews. For more information, see "[Setting the permissions of the GITHUB_TOKEN for your repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository)." OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/actions/permissions/workflow
/repos/{owner}/{repo}/actions/permissions/workflow
Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in a repository, and sets if GitHub Actions can submit approving pull request reviews. For more information, see "[Setting the permissions of the GITHUB_TOKEN for your repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository)." OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/actions-set-default-workflow-permissions"
},
"examples": {
"default": {
"$ref": "#/components/examples/actions-default-workflow-permissions"
}
}
}
},
"required": true
}
PUT /repos/{owner}/{repo}/actions/permissions/workflow
/repos/{owner}/{repo}/actions/runners
Lists all self-hosted runners configured in a repository. Authenticated users must have admin access to the repository to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| name | query | optional | string | The name of a self-hosted runner. |
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/actions/runners
/repos/{owner}/{repo}/actions/runners/downloads
Lists binaries for the runner application that you can download and run. Authenticated users must have admin access to the repository to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/actions/runners/downloads
/repos/{owner}/{repo}/actions/runners/generate-jitconfig
Generates a configuration that can be passed to the runner application at startup. The authenticated user must have admin access to the repository. OAuth tokens and personal access tokens (classic) need the`repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"name",
"runner_group_id",
"labels"
],
"properties": {
"name": {
"type": "string",
"description": "The name of the new runner."
},
"labels": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 100,
"minItems": 1,
"description": "The names of the custom labels to add to the runner. **Minimum items**: 1. **Maximum items**: 100."
},
"work_folder": {
"type": "string",
"default": "_work",
"description": "The working directory to be used for job execution, relative to the runner install directory."
},
"runner_group_id": {
"type": "integer",
"description": "The ID of the runner group to register the runner to."
}
}
},
"examples": {
"default": {
"value": {
"name": "New runner",
"labels": [
"self-hosted",
"X64",
"macOS",
"no-gpu"
],
"work_folder": "_work",
"runner_group_id": 1
}
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig
/repos/{owner}/{repo}/actions/runners/registration-token
Returns a token that you can pass to the `config` script. The token expires after one hour. For example, you can replace `TOKEN` in the following example with the registration token provided by this endpoint to configure your self-hosted runner: ``` ./config.sh --url https://github.com/octo-org --token TOKEN ``` Authenticated users must have admin access to the repository to use this endpoint. OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
POST /repos/{owner}/{repo}/actions/runners/registration-token
/repos/{owner}/{repo}/actions/runners/remove-token
Returns a token that you can pass to the `config` script to remove a self-hosted runner from an repository. The token expires after one hour. For example, you can replace `TOKEN` in the following example with the registration token provided by this endpoint to remove your self-hosted runner from an organization: ``` ./config.sh remove --token TOKEN ``` Authenticated users must have admin access to the repository to use this endpoint. OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
POST /repos/{owner}/{repo}/actions/runners/remove-token
/repos/{owner}/{repo}/actions/runners/{runner_id}
Forces the removal of a self-hosted runner from a repository. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. Authenticated users must have admin access to the repository to use this endpoint. OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}
/repos/{owner}/{repo}/actions/runners/{runner_id}
Gets a specific self-hosted runner configured in a repository. Authenticated users must have admin access to the repository to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/actions/runners/{runner_id}
/repos/{owner}/{repo}/actions/runners/{runner_id}/labels
Remove all custom labels from a self-hosted runner configured in a repository. Returns the remaining read-only labels from the runner. Authenticated users must have admin access to the repository to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels
/repos/{owner}/{repo}/actions/runners/{runner_id}/labels
Lists all labels for a self-hosted runner configured in a repository. Authenticated users must have admin access to the repository to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels
/repos/{owner}/{repo}/actions/runners/{runner_id}/labels
Adds custom labels to a self-hosted runner configured in a repository. Authenticated users must have admin access to the organization to use this endpoint. OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"labels"
],
"properties": {
"labels": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 100,
"minItems": 1,
"description": "The names of the custom labels to add to the runner."
}
}
},
"examples": {
"default": {
"value": {
"labels": [
"gpu",
"accelerated"
]
}
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels
/repos/{owner}/{repo}/actions/runners/{runner_id}/labels
Remove all previous custom labels and set the new custom labels for a specific self-hosted runner configured in a repository. Authenticated users must have admin access to the repository to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"labels"
],
"properties": {
"labels": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 100,
"minItems": 0,
"description": "The names of the custom labels to set for the runner. You can pass an empty array to remove all custom labels."
}
}
},
"examples": {
"default": {
"value": {
"labels": [
"gpu",
"accelerated"
]
}
}
}
}
},
"required": true
}
PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels
/repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}
Remove a custom label from a self-hosted runner configured in a repository. Returns the remaining labels from the runner. This endpoint returns a `404 Not Found` status if the custom label is not present on the runner. Authenticated users must have admin access to the repository to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}
/repos/{owner}/{repo}/actions/runs
Lists all workflow runs for a repository. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#parameters). Anyone with read access to the repository can use this endpoint. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. This endpoint will return up to 1,000 results for each search when using the following parameters: `actor`, `branch`, `check_suite_id`, `created`, `event`, `head_sha`, `status`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/actions/runs
/repos/{owner}/{repo}/actions/runs/{run_id}
Deletes a specific workflow run. Anyone with write access to the repository can use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}/actions/runs/{run_id}
/repos/{owner}/{repo}/actions/runs/{run_id}
Gets a specific workflow run. Anyone with read access to the repository can use this endpoint. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/actions/runs/{run_id}
/repos/{owner}/{repo}/actions/runs/{run_id}/approvals
Anyone with read access to the repository can use this endpoint. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals
/repos/{owner}/{repo}/actions/runs/{run_id}/approve
Approves a workflow run for a pull request from a public fork of a first time contributor. For more information, see ["Approving workflow runs from public forks](https://docs.github.com/actions/managing-workflow-runs/approving-workflow-runs-from-public-forks)." OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve
/repos/{owner}/{repo}/actions/runs/{run_id}/artifacts
Lists artifacts for a workflow run. Anyone with read access to the repository can use this endpoint. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts
/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}
Gets a specific workflow run attempt. Anyone with read access to the repository can use this endpoint. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}
/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs
Lists jobs for a specific workflow run attempt. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#parameters). Anyone with read access to the repository can use this endpoint. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs
/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs
Gets a redirect URL to download an archive of log files for a specific workflow run attempt. This link expires after 1 minute. Look for `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs
/repos/{owner}/{repo}/actions/runs/{run_id}/cancel
Cancels a workflow run using its `id`. OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel
/repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule
Approve or reject custom deployment protection rules provided by a GitHub App for a workflow run. For more information, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment)." > [!NOTE] > GitHub Apps can only review their own custom deployment protection rules. To approve or reject pending deployments that are waiting for review from a specific person or team, see [`POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments`](/rest/actions/workflow-runs#review-pending-deployments-for-a-workflow-run). OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/review-custom-gates-comment-required"
},
{
"$ref": "#/components/schemas/review-custom-gates-state-required"
}
]
},
"examples": {
"default": {
"value": {
"state": "approved",
"comment": "All health checks passed.",
"environment_name": "prod-eus"
}
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule
/repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel
Cancels a workflow run and bypasses conditions that would otherwise cause a workflow execution to continue, such as an `always()` condition on a job. You should only use this endpoint to cancel a workflow run when the workflow run is not responding to [`POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel`](/rest/actions/workflow-runs#cancel-a-workflow-run). OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
POST /repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel
/repos/{owner}/{repo}/actions/runs/{run_id}/jobs
Lists jobs for a workflow run. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#parameters). Anyone with read access to the repository can use this endpoint. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| filter | query | optional | string | Filters jobs by their `completed_at` timestamp. `latest` returns jobs from the most recent execution of the workflow run. `all` returns all jobs for a workflow run, including from old executions of the workflow run. |
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs
/repos/{owner}/{repo}/actions/runs/{run_id}/logs
Deletes all logs for a workflow run. OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs
/repos/{owner}/{repo}/actions/runs/{run_id}/logs
Gets a redirect URL to download an archive of log files for a workflow run. This link expires after 1 minute. Look for `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs
/repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments
Get all deployment environments for a workflow run that are waiting for protection rules to pass. Anyone with read access to the repository can use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments
/repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments
Approve or reject pending deployments that are waiting on approval by a required reviewer. Required reviewers with read access to the repository contents and deployments can use this endpoint. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"environment_ids",
"state",
"comment"
],
"properties": {
"state": {
"enum": [
"approved",
"rejected"
],
"type": "string",
"example": "approved",
"description": "Whether to approve or reject deployment to the specified environments."
},
"comment": {
"type": "string",
"example": "Ship it!",
"description": "A comment to accompany the deployment review"
},
"environment_ids": {
"type": "array",
"items": {
"type": "integer",
"example": 161171787
},
"example": [
161171787,
161171795
],
"description": "The list of environment ids to approve or reject"
}
}
},
"examples": {
"default": {
"value": {
"state": "approved",
"comment": "Ship it!",
"environment_ids": [
161171787
]
}
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments
/repos/{owner}/{repo}/actions/runs/{run_id}/rerun
Re-runs your workflow run using its `id`. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"nullable": true,
"properties": {
"enable_debug_logging": {
"type": "boolean",
"default": false,
"description": "Whether to enable debug logging for the re-run."
}
}
},
"examples": {
"default": {
"value": null
}
}
}
},
"required": false
}
POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun
/repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs
Re-run all of the failed jobs and their dependent jobs in a workflow run using the `id` of the workflow run. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"nullable": true,
"properties": {
"enable_debug_logging": {
"type": "boolean",
"default": false,
"description": "Whether to enable debug logging for the re-run."
}
}
},
"examples": {
"default": {
"value": null
}
}
}
},
"required": false
}
POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs
/repos/{owner}/{repo}/actions/runs/{run_id}/timing
> [!WARNING] > This endpoint is in the process of closing down. Refer to "[Actions Get workflow usage and Get workflow run usage endpoints closing down](https://github.blog/changelog/2025-02-02-actions-get-workflow-usage-and-get-workflow-run-usage-endpoints-closing-down/)" for more information. Gets the number of billable minutes and total run time for a specific workflow run. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". Anyone with read access to the repository can use this endpoint. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing
/repos/{owner}/{repo}/actions/secrets
Lists all secrets available in a repository without revealing their encrypted values. Authenticated users must have collaborator access to a repository to create, update, or read secrets. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/actions/secrets
/repos/{owner}/{repo}/actions/secrets/public-key
Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/actions/secrets/public-key
/repos/{owner}/{repo}/actions/secrets/{secret_name}
Deletes a secret in a repository using the secret name. Authenticated users must have collaborator access to a repository to create, update, or read secrets. OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}
/repos/{owner}/{repo}/actions/secrets/{secret_name}
Gets a single repository secret without revealing its encrypted value. The authenticated user must have collaborator access to the repository to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/actions/secrets/{secret_name}
/repos/{owner}/{repo}/actions/secrets/{secret_name}
Creates or updates a repository secret with an encrypted value. Encrypt your secret using [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." Authenticated users must have collaborator access to a repository to create, update, or read secrets. OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"encrypted_value",
"key_id"
],
"properties": {
"key_id": {
"type": "string",
"description": "ID of the key you used to encrypt the secret."
},
"encrypted_value": {
"type": "string",
"pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$",
"description": "Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/rest/actions/secrets#get-a-repository-public-key) endpoint."
}
}
},
"examples": {
"default": {
"value": {
"key_id": "012345678912345678",
"encrypted_value": "c2VjcmV0"
}
}
}
}
},
"required": true
}
PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}
/repos/{owner}/{repo}/actions/variables
Lists all repository variables. Authenticated users must have collaborator access to a repository to create, update, or read variables. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/actions/variables
/repos/{owner}/{repo}/actions/variables
Creates a repository variable that you can reference in a GitHub Actions workflow. Authenticated users must have collaborator access to a repository to create, update, or read variables. OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"name",
"value"
],
"properties": {
"name": {
"type": "string",
"description": "The name of the variable."
},
"value": {
"type": "string",
"description": "The value of the variable."
}
}
},
"examples": {
"default": {
"value": {
"name": "USERNAME",
"value": "octocat"
}
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/actions/variables
/repos/{owner}/{repo}/actions/variables/{name}
Deletes a repository variable using the variable name. Authenticated users must have collaborator access to a repository to create, update, or read variables. OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}/actions/variables/{name}
/repos/{owner}/{repo}/actions/variables/{name}
Gets a specific variable in a repository. The authenticated user must have collaborator access to the repository to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/actions/variables/{name}
/repos/{owner}/{repo}/actions/variables/{name}
Updates a repository variable that you can reference in a GitHub Actions workflow. Authenticated users must have collaborator access to a repository to create, update, or read variables. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the variable."
},
"value": {
"type": "string",
"description": "The value of the variable."
}
}
},
"examples": {
"default": {
"value": {
"name": "USERNAME",
"value": "octocat"
}
}
}
}
},
"required": true
}
PATCH /repos/{owner}/{repo}/actions/variables/{name}
/repos/{owner}/{repo}/actions/workflows
Lists the workflows in a repository. Anyone with read access to the repository can use this endpoint. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/actions/workflows
/repos/{owner}/{repo}/actions/workflows/{workflow_id}
Gets a specific workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}
/repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable
Disables a workflow and sets the `state` of the workflow to `disabled_manually`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable
/repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches
You can use this endpoint to manually trigger a GitHub Actions workflow run. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. You must configure your GitHub Actions workflow to run when the [`workflow_dispatch` webhook](/developers/webhooks-and-events/webhook-events-and-payloads#workflow_dispatch) event occurs. The `inputs` are configured in the workflow file. For more information about how to configure the `workflow_dispatch` event in the workflow file, see "[Events that trigger workflows](/actions/reference/events-that-trigger-workflows#workflow_dispatch)." OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ref"
],
"properties": {
"ref": {
"type": "string",
"description": "The git reference for the workflow. The reference can be a branch or tag name."
},
"inputs": {
"type": "object",
"description": "Input keys and values configured in the workflow file. The maximum number of properties is 25. Any default properties configured in the workflow file will be used when `inputs` are omitted.",
"maxProperties": 25,
"additionalProperties": true
},
"return_run_details": {
"type": "boolean",
"description": "Whether the response should include the workflow run ID and URLs."
}
}
},
"examples": {
"default": {
"value": {
"ref": "topic-branch",
"inputs": {
"home": "San Francisco, CA",
"name": "Mona the Octocat"
}
}
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches
/repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable
Enables a workflow and sets the `state` of the workflow to `active`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable
/repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs
List all workflow runs for a workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#parameters). Anyone with read access to the repository can use this endpoint OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. This endpoint will return up to 1,000 results for each search when using the following parameters: `actor`, `branch`, `check_suite_id`, `created`, `event`, `head_sha`, `status`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs
/repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing
> [!WARNING] > This endpoint is in the process of closing down. Refer to "[Actions Get workflow usage and Get workflow run usage endpoints closing down](https://github.blog/changelog/2025-02-02-actions-get-workflow-usage-and-get-workflow-run-usage-endpoints-closing-down/)" for more information. Gets the number of billable minutes used by a specific workflow during the current billing cycle. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing
/repos/{owner}/{repo}/environments/{environment_name}/secrets
Lists all secrets available in an environment without revealing their encrypted values. Authenticated users must have collaborator access to a repository to create, update, or read secrets. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/environments/{environment_name}/secrets
/repos/{owner}/{repo}/environments/{environment_name}/secrets/public-key
Get the public key for an environment, which you need to encrypt environment secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/public-key
/repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}
Deletes a secret in an environment using the secret name. Authenticated users must have collaborator access to a repository to create, update, or read secrets. OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}
/repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}
Gets a single environment secret without revealing its encrypted value. Authenticated users must have collaborator access to a repository to create, update, or read secrets. OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}
/repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}
Creates or updates an environment secret with an encrypted value. Encrypt your secret using [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." Authenticated users must have collaborator access to a repository to create, update, or read secrets. OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"encrypted_value",
"key_id"
],
"properties": {
"key_id": {
"type": "string",
"description": "ID of the key you used to encrypt the secret."
},
"encrypted_value": {
"type": "string",
"pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$",
"description": "Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an environment public key](https://docs.github.com/rest/actions/secrets#get-an-environment-public-key) endpoint."
}
}
},
"examples": {
"default": {
"value": {
"key_id": "012345678912345678",
"encrypted_value": "c2VjcmV0"
}
}
}
}
},
"required": true
}
PUT /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}
/repos/{owner}/{repo}/environments/{environment_name}/variables
Lists all environment variables. Authenticated users must have collaborator access to a repository to create, update, or read variables. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/environments/{environment_name}/variables
/repos/{owner}/{repo}/environments/{environment_name}/variables
Create an environment variable that you can reference in a GitHub Actions workflow. Authenticated users must have collaborator access to a repository to create, update, or read variables. OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"name",
"value"
],
"properties": {
"name": {
"type": "string",
"description": "The name of the variable."
},
"value": {
"type": "string",
"description": "The value of the variable."
}
}
},
"examples": {
"default": {
"value": {
"name": "USERNAME",
"value": "octocat"
}
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/environments/{environment_name}/variables
/repos/{owner}/{repo}/environments/{environment_name}/variables/{name}
Deletes an environment variable using the variable name. Authenticated users must have collaborator access to a repository to create, update, or read variables. OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}
/repos/{owner}/{repo}/environments/{environment_name}/variables/{name}
Gets a specific variable in an environment. Authenticated users must have collaborator access to a repository to create, update, or read variables. OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}
/repos/{owner}/{repo}/environments/{environment_name}/variables/{name}
Updates an environment variable that you can reference in a GitHub Actions workflow. Authenticated users must have collaborator access to a repository to create, update, or read variables. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the variable."
},
"value": {
"type": "string",
"description": "The value of the variable."
}
}
},
"examples": {
"default": {
"value": {
"name": "USERNAME",
"value": "octocat"
}
}
}
}
},
"required": true
}
PATCH /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}
/events
> [!NOTE] > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /events
/feeds
Lists the feeds available to the authenticated user. The response provides a URL for each feed. You can then get a specific feed by sending a request to one of the feed URLs. * **Timeline**: The GitHub global public timeline * **User**: The public timeline for any user, using `uri_template`. For more information, see "[Hypermedia](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#hypermedia)." * **Current user public**: The public timeline for the authenticated user * **Current user**: The private timeline for the authenticated user * **Current user actor**: The private timeline for activity created by the authenticated user * **Current user organizations**: The private timeline for the organizations the authenticated user is a member of. * **Security advisories**: A collection of public announcements that provide information about security-related vulnerabilities in software on GitHub. By default, timeline resources are returned in JSON. You can specify the `application/atom+xml` type in the `Accept` header to return timeline resources in Atom format. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." > [!NOTE] > Private feeds are only returned when [authenticating via Basic Auth](https://docs.github.com/rest/authentication/authenticating-to-the-rest-api#using-basic-authentication) since current feed URIs use the older, non revocable auth tokens.
GET /feeds
/networks/{owner}/{repo}/events
> [!NOTE] > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /networks/{owner}/{repo}/events
/notifications
List all notifications for the current user, sorted by most recently updated.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| per_page | query | optional | integer | The number of results per page (max 50). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." |
GET /notifications
/notifications
Marks all notifications as "read" for the current user. If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List notifications for the authenticated user](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`.
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"read": {
"type": "boolean",
"description": "Whether the notification has been read."
},
"last_read_at": {
"type": "string",
"format": "date-time",
"description": "Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp."
}
}
},
"examples": {
"default": {
"value": {
"read": true,
"last_read_at": "2022-06-10T00:00:00Z"
}
}
}
}
},
"required": false
}
PUT /notifications
/notifications/threads/{thread_id}
Marks a thread as "done." Marking a thread as "done" is equivalent to marking a notification in your notification inbox on GitHub as done: https://github.com/notifications.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
DELETE /notifications/threads/{thread_id}
/notifications/threads/{thread_id}
Gets information about a notification thread.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /notifications/threads/{thread_id}
/notifications/threads/{thread_id}
Marks a thread as "read." Marking a thread as "read" is equivalent to clicking a notification in your notification inbox on GitHub: https://github.com/notifications.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
PATCH /notifications/threads/{thread_id}
/notifications/threads/{thread_id}/subscription
Mutes all future notifications for a conversation until you comment on the thread or get an **@mention**. If you are watching the repository of the thread, you will still receive notifications. To ignore future notifications for a repository you are watching, use the [Set a thread subscription](https://docs.github.com/rest/activity/notifications#set-a-thread-subscription) endpoint and set `ignore` to `true`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
DELETE /notifications/threads/{thread_id}/subscription
/notifications/threads/{thread_id}/subscription
This checks to see if the current user is subscribed to a thread. You can also [get a repository subscription](https://docs.github.com/rest/activity/watching#get-a-repository-subscription). Note that subscriptions are only generated if a user is participating in a conversation--for example, they've replied to the thread, were **@mentioned**, or manually subscribe to a thread.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /notifications/threads/{thread_id}/subscription
/notifications/threads/{thread_id}/subscription
If you are watching a repository, you receive notifications for all threads by default. Use this endpoint to ignore future notifications for threads until you comment on the thread or get an **@mention**. You can also use this endpoint to subscribe to threads that you are currently not receiving notifications for or to subscribed to threads that you have previously ignored. Unsubscribing from a conversation in a repository that you are not watching is functionally equivalent to the [Delete a thread subscription](https://docs.github.com/rest/activity/notifications#delete-a-thread-subscription) endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"ignored": {
"type": "boolean",
"default": false,
"description": "Whether to block all notifications from a thread."
}
}
},
"examples": {
"default": {
"value": {
"ignored": false
}
}
}
}
},
"required": false
}
PUT /notifications/threads/{thread_id}/subscription
/orgs/{org}/events
> [!NOTE] > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/events
/repos/{owner}/{repo}/events
> [!NOTE] > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/events
/repos/{owner}/{repo}/notifications
Lists all notifications for the current user in the specified repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/notifications
/repos/{owner}/{repo}/notifications
Marks all notifications in a repository as "read" for the current user. If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List repository notifications for the authenticated user](https://docs.github.com/rest/activity/notifications#list-repository-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"last_read_at": {
"type": "string",
"format": "date-time",
"description": "Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp."
}
}
},
"examples": {
"default": {
"value": {
"last_read_at": "2019-01-01T00:00:00Z"
}
}
}
}
},
"required": false
}
PUT /repos/{owner}/{repo}/notifications
/repos/{owner}/{repo}/stargazers
Lists the people that have starred the repository. This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github.star+json`**: Includes a timestamp of when the star was created.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/stargazers
/repos/{owner}/{repo}/subscribers
Lists the people watching the specified repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/subscribers
/repos/{owner}/{repo}/subscription
This endpoint should only be used to stop watching a repository. To control whether or not you wish to receive notifications from a repository, [set the repository's subscription manually](https://docs.github.com/rest/activity/watching#set-a-repository-subscription).
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}/subscription
/repos/{owner}/{repo}/subscription
Gets information about whether the authenticated user is subscribed to the repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/subscription
/repos/{owner}/{repo}/subscription
If you would like to watch a repository, set `subscribed` to `true`. If you would like to ignore notifications made within a repository, set `ignored` to `true`. If you would like to stop watching a repository, [delete the repository's subscription](https://docs.github.com/rest/activity/watching#delete-a-repository-subscription) completely.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"ignored": {
"type": "boolean",
"description": "Determines if all notifications should be blocked from this repository."
},
"subscribed": {
"type": "boolean",
"description": "Determines if notifications should be received from this repository."
}
}
},
"examples": {
"default": {
"value": {
"ignored": false,
"subscribed": true
}
}
}
}
},
"required": false
}
PUT /repos/{owner}/{repo}/subscription
/user/starred
Lists repositories the authenticated user has starred. This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github.star+json`**: Includes a timestamp of when the star was created.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /user/starred
/user/starred/{owner}/{repo}
Unstar a repository that the authenticated user has previously starred.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
DELETE /user/starred/{owner}/{repo}
/user/starred/{owner}/{repo}
Whether the authenticated user has starred the repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /user/starred/{owner}/{repo}
/user/starred/{owner}/{repo}
Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
PUT /user/starred/{owner}/{repo}
/user/subscriptions
Lists repositories the authenticated user is watching.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /user/subscriptions
/users/{username}/events
If you are authenticated as the given user, you will see your private events. Otherwise, you'll only see public events. _Optional_: use the fine-grained token with following permission set to view private events: "Events" user permissions (read). > [!NOTE] > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /users/{username}/events
/users/{username}/events/orgs/{org}
This is the user's organization dashboard. You must be authenticated as the user to view this. > [!NOTE] > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /users/{username}/events/orgs/{org}
/users/{username}/events/public
> [!NOTE] > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /users/{username}/events/public
/users/{username}/received_events
These are events that you've received by watching repositories and following users. If you are authenticated as the given user, you will see private events. Otherwise, you'll only see public events. > [!NOTE] > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /users/{username}/received_events
/users/{username}/received_events/public
> [!NOTE] > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /users/{username}/received_events/public
/users/{username}/starred
Lists repositories a user has starred. This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github.star+json`**: Includes a timestamp of when the star was created.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /users/{username}/starred
/users/{username}/subscriptions
Lists repositories a user is watching.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /users/{username}/subscriptions
/app
Returns the GitHub App associated with the authentication credentials used. To see how many app installations are associated with this GitHub App, see the `installations_count` in the response. For more details about your app's installations, see the "[List installations for the authenticated app](https://docs.github.com/rest/apps/apps#list-installations-for-the-authenticated-app)" endpoint. You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.
GET /app
/app-manifests/{code}/conversions
Use this endpoint to complete the handshake necessary when implementing the [GitHub App Manifest flow](https://docs.github.com/apps/building-github-apps/creating-github-apps-from-a-manifest/). When you create a GitHub App with the manifest flow, you receive a temporary `code` used to retrieve the GitHub App's `id`, `pem` (private key), and `webhook_secret`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| code | path | required | string |
POST /app-manifests/{code}/conversions
/app/hook/config
Returns the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.
GET /app/hook/config
/app/hook/config
Updates the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"url": {
"$ref": "#/components/schemas/webhook-config-url"
},
"secret": {
"$ref": "#/components/schemas/webhook-config-secret"
},
"content_type": {
"$ref": "#/components/schemas/webhook-config-content-type"
},
"insecure_ssl": {
"$ref": "#/components/schemas/webhook-config-insecure-ssl"
}
}
},
"examples": {
"default": {
"value": {
"url": "https://example.com/webhook",
"secret": "********",
"content_type": "json",
"insecure_ssl": "0"
}
}
}
}
},
"required": true
}
PATCH /app/hook/config
/app/hook/deliveries
Returns a list of webhook deliveries for the webhook configured for a GitHub App. You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /app/hook/deliveries
/app/hook/deliveries/{delivery_id}
Returns a delivery for the webhook configured for a GitHub App. You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /app/hook/deliveries/{delivery_id}
/app/hook/deliveries/{delivery_id}/attempts
Redeliver a delivery for the webhook configured for a GitHub App. You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
POST /app/hook/deliveries/{delivery_id}/attempts
/app/installation-requests
Lists all the pending installation requests for the authenticated GitHub App.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /app/installation-requests
/app/installations
The permissions the installation has are included under the `permissions` key. You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| outdated | query | optional | string |
GET /app/installations
/app/installations/{installation_id}
Uninstalls a GitHub App on a user, organization, or enterprise account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the "[Suspend an app installation](https://docs.github.com/rest/apps/apps#suspend-an-app-installation)" endpoint. You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
DELETE /app/installations/{installation_id}
/app/installations/{installation_id}
Enables an authenticated GitHub App to find an installation's information using the installation id. You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /app/installations/{installation_id}
/app/installations/{installation_id}/access_tokens
Creates an installation access token that enables a GitHub App to make authenticated API requests for the app's installation on an organization or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of `401 - Unauthorized`, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access. Optionally, you can use the `repositories` or `repository_ids` body parameters to specify individual repositories that the installation access token can access. If you don't use `repositories` or `repository_ids` to grant access to specific repositories, the installation access token will have access to all repositories that the installation was granted access to. The installation access token cannot be granted access to repositories that the installation was not granted access to. Up to 500 repositories can be listed in this manner. Optionally, use the `permissions` body parameter to specify the permissions that the installation access token should have. If `permissions` is not specified, the installation access token will have all of the permissions that were granted to the app. The installation access token cannot be granted permissions that the app was not granted. You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"permissions": {
"$ref": "#/components/schemas/app-permissions"
},
"repositories": {
"type": "array",
"items": {
"type": "string",
"example": "rails"
},
"description": "List of repository names that the token should have access to"
},
"repository_ids": {
"type": "array",
"items": {
"type": "integer"
},
"example": [
1
],
"description": "List of repository IDs that the token should have access to"
}
}
},
"examples": {
"default": {
"value": {
"permissions": {
"issues": "write",
"contents": "read"
},
"repositories": [
"Hello-World"
]
}
}
}
}
},
"required": false
}
POST /app/installations/{installation_id}/access_tokens
/app/installations/{installation_id}/suspended
Removes a GitHub App installation suspension. You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
DELETE /app/installations/{installation_id}/suspended
/app/installations/{installation_id}/suspended
Suspends a GitHub App on a user, organization, or enterprise account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub API or webhook events is blocked for that account. You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
PUT /app/installations/{installation_id}/suspended
/applications/{client_id}/grant
OAuth and GitHub application owners can revoke a grant for their application and a specific user. You must provide a valid OAuth `access_token` as an input parameter and the grant for the token's owner will be deleted. Deleting an application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized).
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"access_token"
],
"properties": {
"access_token": {
"type": "string",
"description": "The OAuth access token used to authenticate to the GitHub API."
}
}
},
"examples": {
"default": {
"value": {
"access_token": "e72e16c7e42f292c6912e7710c838347ae178b4a"
}
}
}
}
},
"required": true
}
DELETE /applications/{client_id}/grant
/applications/{client_id}/token
OAuth or GitHub application owners can revoke a single token for an OAuth application or a GitHub application with an OAuth authorization.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"access_token"
],
"properties": {
"access_token": {
"type": "string",
"description": "The OAuth access token used to authenticate to the GitHub API."
}
}
},
"examples": {
"default": {
"value": {
"access_token": "e72e16c7e42f292c6912e7710c838347ae178b4a"
}
}
}
}
},
"required": true
}
DELETE /applications/{client_id}/token
/applications/{client_id}/token
OAuth applications and GitHub applications with OAuth authorizations can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the "token" property in the response because changes take effect immediately. Invalid tokens will return `404 NOT FOUND`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"access_token"
],
"properties": {
"access_token": {
"type": "string",
"description": "The access_token of the OAuth or GitHub application."
}
}
},
"examples": {
"default": {
"value": {
"access_token": "e72e16c7e42f292c6912e7710c838347ae178b4a"
}
}
}
}
},
"required": true
}
PATCH /applications/{client_id}/token
/applications/{client_id}/token
OAuth applications and GitHub applications with OAuth authorizations can use this API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. Invalid tokens will return `404 NOT FOUND`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"access_token"
],
"properties": {
"access_token": {
"type": "string",
"description": "The access_token of the OAuth or GitHub application."
}
}
},
"examples": {
"default": {
"value": {
"access_token": "e72e16c7e42f292c6912e7710c838347ae178b4a"
}
}
}
}
},
"required": true
}
POST /applications/{client_id}/token
/applications/{client_id}/token/scoped
Use a non-scoped user access token to create a repository-scoped and/or permission-scoped user access token. You can specify which repositories the token can access and which permissions are granted to the token. Invalid tokens will return `404 NOT FOUND`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"access_token"
],
"properties": {
"target": {
"type": "string",
"example": "octocat",
"description": "The name of the user or organization to scope the user access token to. **Required** unless `target_id` is specified."
},
"target_id": {
"type": "integer",
"example": 1,
"description": "The ID of the user or organization to scope the user access token to. **Required** unless `target` is specified."
},
"permissions": {
"$ref": "#/components/schemas/app-permissions"
},
"access_token": {
"type": "string",
"example": "e72e16c7e42f292c6912e7710c838347ae178b4a",
"description": "The access token used to authenticate to the GitHub API."
},
"repositories": {
"type": "array",
"items": {
"type": "string",
"example": "rails"
},
"description": "The list of repository names to scope the user access token to. `repositories` may not be specified if `repository_ids` is specified."
},
"repository_ids": {
"type": "array",
"items": {
"type": "integer"
},
"example": [
1
],
"description": "The list of repository IDs to scope the user access token to. `repository_ids` may not be specified if `repositories` is specified."
}
}
},
"examples": {
"default": {
"value": {
"target": "octocat",
"permissions": {
"issues": "write",
"contents": "read",
"metadata": "read"
},
"access_token": "e72e16c7e42f292c6912e7710c838347ae178b4a"
}
}
}
}
},
"required": true
}
POST /applications/{client_id}/token/scoped
/apps/{app_slug}
> [!NOTE] > The `:app_slug` is just the URL-friendly name of your GitHub App. You can find this on the settings page for your GitHub App (e.g., `https://github.com/settings/apps/:app_slug`).
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /apps/{app_slug}
/installation/repositories
List repositories that an app installation can access.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /installation/repositories
/installation/token
Revokes the installation token you're using to authenticate as an installation and access this endpoint. Once an installation token is revoked, the token is invalidated and cannot be used. Other endpoints that require the revoked installation token must have a new installation token to work. You can create a new token using the "[Create an installation access token for an app](https://docs.github.com/rest/apps/apps#create-an-installation-access-token-for-an-app)" endpoint.
DELETE /installation/token
/marketplace_listing/accounts/{account_id}
Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/authentication/authenticating-to-the-rest-api#using-basic-authentication) with their client ID and client secret to access this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /marketplace_listing/accounts/{account_id}
/marketplace_listing/plans
Lists all plans that are part of your GitHub Marketplace listing. GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/authentication/authenticating-to-the-rest-api#using-basic-authentication) with their client ID and client secret to access this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /marketplace_listing/plans
/marketplace_listing/plans/{plan_id}/accounts
Returns user and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/authentication/authenticating-to-the-rest-api#using-basic-authentication) with their client ID and client secret to access this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| direction | query | optional | string | To return the oldest accounts first, set to `asc`. Ignored without the `sort` parameter. |
| optional | ||||
| optional |
GET /marketplace_listing/plans/{plan_id}/accounts
/marketplace_listing/stubbed/accounts/{account_id}
Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/authentication/authenticating-to-the-rest-api#using-basic-authentication) with their client ID and client secret to access this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /marketplace_listing/stubbed/accounts/{account_id}
/marketplace_listing/stubbed/plans
Lists all plans that are part of your GitHub Marketplace listing. GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/authentication/authenticating-to-the-rest-api#using-basic-authentication) with their client ID and client secret to access this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /marketplace_listing/stubbed/plans
/marketplace_listing/stubbed/plans/{plan_id}/accounts
Returns repository and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/authentication/authenticating-to-the-rest-api#using-basic-authentication) with their client ID and client secret to access this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| direction | query | optional | string | To return the oldest accounts first, set to `asc`. Ignored without the `sort` parameter. |
| optional | ||||
| optional |
GET /marketplace_listing/stubbed/plans/{plan_id}/accounts
/orgs/{org}/installation
Enables an authenticated GitHub App to find the organization's installation information. You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /orgs/{org}/installation
/repos/{owner}/{repo}/installation
Enables an authenticated GitHub App to find the repository's installation information. The installation's account type will be either an organization or a user account, depending which account the repository belongs to. You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/installation
/user/installations
Lists installations of your GitHub App that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. You can find the permissions for the installation under the `permissions` key.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /user/installations
/user/installations/{installation_id}/repositories
List repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access for an installation. The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. The access the user has to each repository is included in the hash under the `permissions` key.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /user/installations/{installation_id}/repositories
/user/installations/{installation_id}/repositories/{repository_id}
Remove a single repository from an installation. The authenticated user must have admin access to the repository. The installation must have the `repository_selection` of `selected`. This endpoint only works for PATs (classic) with the `repo` scope.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
DELETE /user/installations/{installation_id}/repositories/{repository_id}
/user/installations/{installation_id}/repositories/{repository_id}
Add a single repository to an installation. The authenticated user must have admin access to the repository. This endpoint only works for PATs (classic) with the `repo` scope.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
PUT /user/installations/{installation_id}/repositories/{repository_id}
/user/marketplace_purchases
Lists the active subscriptions for the authenticated user.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /user/marketplace_purchases
/user/marketplace_purchases/stubbed
Lists the active subscriptions for the authenticated user.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /user/marketplace_purchases/stubbed
/users/{username}/installation
Enables an authenticated GitHub App to find the user’s installation information. You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /users/{username}/installation
/organizations/{org}/settings/billing/budgets
> [!NOTE] > This endpoint is in public preview and is subject to change. Gets all budgets for an organization. The authenticated user must be an organization admin or billing manager. Each page returns up to 10 budgets.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| page | query | optional | integer | The page number of the results to fetch. |
| per_page | query | optional | integer | The number of results per page (max 10). |
| scope | query | optional | string | Filter budgets by scope type. |
GET /organizations/{org}/settings/billing/budgets
/organizations/{org}/settings/billing/budgets/{budget_id}
> [!NOTE] > This endpoint is in public preview and is subject to change. Deletes a budget by ID for an organization. The authenticated user must be an organization admin or billing manager.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
DELETE /organizations/{org}/settings/billing/budgets/{budget_id}
/organizations/{org}/settings/billing/budgets/{budget_id}
> [!NOTE] > This endpoint is in public preview and is subject to change. Gets a budget by ID. The authenticated user must be an organization admin or billing manager.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /organizations/{org}/settings/billing/budgets/{budget_id}
/organizations/{org}/settings/billing/budgets/{budget_id}
> [!NOTE] > This endpoint is in public preview and is subject to change. Updates an existing budget for an organization. The authenticated user must be an organization admin or billing manager.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"budget_type": {
"oneOf": [
{
"enum": [
"ProductPricing"
],
"type": "string"
},
{
"enum": [
"SkuPricing"
],
"type": "string"
}
],
"description": "The type of pricing for the budget"
},
"budget_scope": {
"enum": [
"enterprise",
"organization",
"repository",
"cost_center"
],
"type": "string",
"description": "The scope of the budget"
},
"budget_amount": {
"type": "integer",
"description": "The budget amount in whole dollars. For license-based products, this represents the number of licenses."
},
"budget_alerting": {
"type": "object",
"properties": {
"will_alert": {
"type": "boolean",
"description": "Whether alerts are enabled for this budget"
},
"alert_recipients": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of user login names who will receive alerts"
}
}
},
"budget_entity_name": {
"type": "string",
"description": "The name of the entity to apply the budget to"
},
"budget_product_sku": {
"type": "string",
"description": "A single product or SKU that will be covered in the budget"
},
"prevent_further_usage": {
"type": "boolean",
"description": "Whether to prevent additional spending once the budget is exceeded"
}
}
},
"examples": {
"update-budget": {
"value": {
"budget_amount": 10,
"budget_alerting": {
"will_alert": false,
"alert_recipients": []
},
"prevent_further_usage": false
},
"summary": "Update budget example"
}
}
}
},
"required": true
}
PATCH /organizations/{org}/settings/billing/budgets/{budget_id}
/organizations/{org}/settings/billing/premium_request/usage
Gets a report of premium request usage for an organization. To use this endpoint, you must be an administrator of an organization within an enterprise or an organization account. **Note:** Only data from the past 24 months is accessible via this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /organizations/{org}/settings/billing/premium_request/usage
/organizations/{org}/settings/billing/usage
Gets a report of the total usage for an organization. To use this endpoint, you must be an administrator of an organization within an enterprise or an organization account. **Note:** This endpoint is only available to organizations with access to the enhanced billing platform. For more information, see "[About the enhanced billing platform](https://docs.github.com/billing/using-the-new-billing-platform)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /organizations/{org}/settings/billing/usage
/organizations/{org}/settings/billing/usage/summary
> [!NOTE] > This endpoint is in public preview and is subject to change. Gets a summary report of usage for an organization. To use this endpoint, you must be an administrator of an organization within an enterprise or an organization account. **Note:** Only data from the past 24 months is accessible via this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /organizations/{org}/settings/billing/usage/summary
/users/{username}/settings/billing/premium_request/usage
Gets a report of premium request usage for a user. **Note:** Only data from the past 24 months is accessible via this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /users/{username}/settings/billing/premium_request/usage
/users/{username}/settings/billing/usage
Gets a report of the total usage for a user. **Note:** This endpoint is only available to users with access to the enhanced billing platform.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /users/{username}/settings/billing/usage
/users/{username}/settings/billing/usage/summary
> [!NOTE] > This endpoint is in public preview and is subject to change. Gets a summary report of usage for a user. **Note:** Only data from the past 24 months is accessible via this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /users/{username}/settings/billing/usage/summary
/orgs/{org}/campaigns
Lists campaigns in an organization. The authenticated user must be an owner or security manager for the organization to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| state | query | optional | If specified, only campaigns with this state will be returned. | |
| sort | query | optional | string | The property by which to sort the results. |
GET /orgs/{org}/campaigns
/orgs/{org}/campaigns
Create a campaign for an organization. The authenticated user must be an owner or security manager for the organization to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. Fine-grained tokens must have the "Code scanning alerts" repository permissions (read) on all repositories included in the campaign.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"oneOf": [
{
"required": [
"code_scanning_alerts"
]
},
{
"required": [
"secret_scanning_alerts"
]
}
],
"required": [
"name",
"description",
"ends_at"
],
"properties": {
"name": {
"type": "string",
"maxLength": 50,
"minLength": 1,
"description": "The name of the campaign"
},
"ends_at": {
"type": "string",
"format": "date-time",
"description": "The end date and time of the campaign. The date must be in the future."
},
"managers": {
"type": "array",
"items": {
"type": "string",
"description": "The login of each manager"
},
"maxItems": 10,
"description": "The logins of the users to set as the campaign managers. At this time, only a single manager can be supplied."
},
"description": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"description": "A description for the campaign"
},
"contact_link": {
"type": "string",
"format": "uri",
"nullable": true,
"description": "The contact link of the campaign. Must be a URI."
},
"team_managers": {
"type": "array",
"items": {
"type": "string",
"description": "The slug of each team"
},
"maxItems": 10,
"description": "The slugs of the teams to set as the campaign managers."
},
"generate_issues": {
"type": "boolean",
"default": false,
"description": "If true, will automatically generate issues for the campaign. The default is false."
},
"code_scanning_alerts": {
"type": "array",
"items": {
"type": "object",
"required": [
"repository_id",
"alert_numbers"
],
"properties": {
"alert_numbers": {
"type": "array",
"items": {
"type": "integer"
},
"minItems": 1,
"description": "The alert numbers"
},
"repository_id": {
"type": "integer",
"description": "The repository id"
}
},
"additionalProperties": false
},
"minItems": 1,
"nullable": true,
"description": "The code scanning alerts to include in this campaign"
}
},
"additionalProperties": false
},
"examples": {
"default": {
"value": {
"name": "Critical CodeQL alerts",
"ends_at": "2024-03-14T00:00:00Z",
"managers": [
"octocat"
],
"description": "Address critical alerts before they are exploited to prevent breaches, protect sensitive data, and mitigate financial and reputational damage.",
"code_scanning_alerts": [
{
"alert_numbers": [
1,
2
],
"repository_id": 1296269
}
]
}
}
}
}
},
"required": true
}
POST /orgs/{org}/campaigns
/orgs/{org}/campaigns/{campaign_number}
Deletes a campaign in an organization. The authenticated user must be an owner or security manager for the organization to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| campaign_number | path | required | integer | The campaign number. |
DELETE /orgs/{org}/campaigns/{campaign_number}
/orgs/{org}/campaigns/{campaign_number}
Gets a campaign for an organization. The authenticated user must be an owner or security manager for the organization to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| campaign_number | path | required | integer | The campaign number. |
GET /orgs/{org}/campaigns/{campaign_number}
/orgs/{org}/campaigns/{campaign_number}
Updates a campaign in an organization. The authenticated user must be an owner or security manager for the organization to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| campaign_number | path | required | integer | The campaign number. |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"maxLength": 50,
"minLength": 1,
"description": "The name of the campaign"
},
"state": {
"$ref": "#/components/schemas/campaign-state"
},
"ends_at": {
"type": "string",
"format": "date-time",
"description": "The end date and time of the campaign, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ."
},
"managers": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 10,
"description": "The logins of the users to set as the campaign managers. At this time, only a single manager can be supplied."
},
"description": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"description": "A description for the campaign"
},
"contact_link": {
"type": "string",
"format": "uri",
"nullable": true,
"description": "The contact link of the campaign. Must be a URI."
},
"team_managers": {
"type": "array",
"items": {
"type": "string",
"description": "The slug of each team"
},
"maxItems": 10,
"description": "The slugs of the teams to set as the campaign managers."
}
},
"additionalProperties": false
},
"examples": {
"default": {
"value": {
"name": "Critical CodeQL alerts"
}
}
}
}
},
"required": true
}
PATCH /orgs/{org}/campaigns/{campaign_number}
/repos/{owner}/{repo}/check-runs
Creates a new check run for a specific commit in a repository. To create a check run, you must use a GitHub App. OAuth apps and authenticated users are not able to create a check suite. In a check suite, GitHub limits the number of check runs with the same name to 1000. Once these check runs exceed 1000, GitHub will start to automatically delete older check runs. > [!NOTE] > The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"oneOf": [
{
"required": [
"status",
"conclusion"
],
"properties": {
"status": {
"enum": [
"completed"
]
}
},
"additionalProperties": true
},
{
"properties": {
"status": {
"enum": [
"queued",
"in_progress"
]
}
},
"additionalProperties": true
}
],
"required": [
"name",
"head_sha"
],
"properties": {
"name": {
"type": "string",
"description": "The name of the check. For example, \"code-coverage\"."
},
"output": {
"type": "object",
"required": [
"title",
"summary"
],
"properties": {
"text": {
"type": "string",
"maxLength": 65535,
"description": "The details of the check run. This parameter supports Markdown. **Maximum length**: 65535 characters."
},
"title": {
"type": "string",
"description": "The title of the check run."
},
"images": {
"type": "array",
"items": {
"type": "object",
"required": [
"alt",
"image_url"
],
"properties": {
"alt": {
"type": "string",
"description": "The alternative text for the image."
},
"caption": {
"type": "string",
"description": "A short image description."
},
"image_url": {
"type": "string",
"description": "The full URL of the image."
}
}
},
"description": "Adds images to the output displayed in the GitHub pull request UI."
},
"summary": {
"type": "string",
"maxLength": 65535,
"description": "The summary of the check run. This parameter supports Markdown. **Maximum length**: 65535 characters."
},
"annotations": {
"type": "array",
"items": {
"type": "object",
"required": [
"path",
"start_line",
"end_line",
"annotation_level",
"message"
],
"properties": {
"path": {
"type": "string",
"description": "The path of the file to add an annotation to. For example, `assets/css/main.css`."
},
"title": {
"type": "string",
"description": "The title that represents the annotation. The maximum size is 255 characters."
},
"message": {
"type": "string",
"description": "A short description of the feedback for these lines of code. The maximum size is 64 KB."
},
"end_line": {
"type": "integer",
"description": "The end line of the annotation."
},
"end_column": {
"type": "integer",
"description": "The end column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values."
},
"start_line": {
"type": "integer",
"description": "The start line of the annotation. Line numbers start at 1."
},
"raw_details": {
"type": "string",
"description": "Details about this annotation. The maximum size is 64 KB."
},
"start_column": {
"type": "integer",
"description": "The start column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. Column numbers start at 1."
},
"annotation_level": {
"enum": [
"notice",
"warning",
"failure"
],
"type": "string",
"description": "The level of the annotation."
}
}
},
"maxItems": 50,
"description": "Adds information from your analysis to specific lines of code. Annotations are visible on GitHub in the **Checks** and **Files changed** tab of the pull request. The Checks API limits the number of annotations to a maximum of 50 per API request. To create more than 50 annotations, you have to make multiple requests to the [Update a check run](https://docs.github.com/rest/checks/runs#update-a-check-run) endpoint. Each time you update the check run, annotations are appended to the list of annotations that already exist for the check run. GitHub Actions are limited to 10 warning annotations and 10 error annotations per step. For details about how you can view annotations on GitHub, see \"[About status checks](https://docs.github.com/articles/about-status-checks#checks)\"."
}
},
"description": "Check runs can accept a variety of data in the `output` object, including a `title` and `summary` and can optionally provide descriptive details about the run."
},
"status": {
"enum": [
"queued",
"in_progress",
"completed",
"waiting",
"requested",
"pending"
],
"type": "string",
"default": "queued",
"description": "The current status of the check run. Only GitHub Actions can set a status of `waiting`, `pending`, or `requested`."
},
"actions": {
"type": "array",
"items": {
"type": "object",
"required": [
"label",
"description",
"identifier"
],
"properties": {
"label": {
"type": "string",
"maxLength": 20,
"description": "The text to be displayed on a button in the web UI. The maximum size is 20 characters."
},
"identifier": {
"type": "string",
"maxLength": 20,
"description": "A reference for the action on the integrator's system. The maximum size is 20 characters."
},
"description": {
"type": "string",
"maxLength": 40,
"description": "A short explanation of what this action would do. The maximum size is 40 characters."
}
}
},
"maxItems": 3,
"description": "Displays a button on GitHub that can be clicked to alert your app to do additional tasks. For example, a code linting app can display a button that automatically fixes detected errors. The button created in this object is displayed after the check run completes. When a user clicks the button, GitHub sends the [`check_run.requested_action` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) to your app. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. To learn more about check runs and requested actions, see \"[Check runs and requested actions](https://docs.github.com/rest/guides/using-the-rest-api-to-interact-with-checks#check-runs-and-requested-actions).\""
},
"head_sha": {
"type": "string",
"description": "The SHA of the commit."
},
"conclusion": {
"enum": [
"action_required",
"cancelled",
"failure",
"neutral",
"success",
"skipped",
"stale",
"timed_out"
],
"type": "string",
"description": "**Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. \n**Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. You cannot change a check run conclusion to `stale`, only GitHub can set this."
},
"started_at": {
"type": "string",
"format": "date-time",
"description": "The time that the check run began. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`."
},
"details_url": {
"type": "string",
"description": "The URL of the integrator's site that has the full details of the check. If the integrator does not provide this, then the homepage of the GitHub app is used."
},
"external_id": {
"type": "string",
"description": "A reference for the run on the integrator's system."
},
"completed_at": {
"type": "string",
"format": "date-time",
"description": "The time the check completed. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`."
}
},
"discriminator": {
"propertyName": "status"
}
},
"examples": {
"example-of-completed-conclusion": {
"value": {
"name": "mighty_readme",
"output": {
"text": "You may have some misspelled words on lines 2 and 4. You also may want to add a section in your README about how to install your app.",
"title": "Mighty Readme report",
"images": [
{
"alt": "Super bananas",
"image_url": "http://example.com/images/42"
}
],
"summary": "There are 0 failures, 2 warnings, and 1 notices.",
"annotations": [
{
"path": "README.md",
"title": "Spell Checker",
"message": "Check your spelling for 'banaas'.",
"end_line": 2,
"start_line": 2,
"raw_details": "Do you mean 'bananas' or 'banana'?",
"annotation_level": "warning"
},
{
"path": "README.md",
"title": "Spell Checker",
"message": "Check your spelling for 'aples'",
"end_line": 4,
"start_line": 4,
"raw_details": "Do you mean 'apples' or 'Naples'",
"annotation_level": "warning"
}
]
},
"status": "completed",
"actions": [
{
"label": "Fix",
"identifier": "fix_errors",
"description": "Allow us to fix these errors for you"
}
],
"head_sha": "ce587453ced02b1526dfb4cb910479d431683101",
"conclusion": "success",
"started_at": "2017-11-30T19:39:10Z",
"completed_at": "2017-11-30T19:49:10Z"
},
"summary": "Example of a completed conclusion"
},
"example-of-in-progress-conclusion": {
"value": {
"name": "mighty_readme",
"output": {
"text": "",
"title": "Mighty Readme report",
"summary": ""
},
"status": "in_progress",
"head_sha": "ce587453ced02b1526dfb4cb910479d431683101",
"started_at": "2018-05-04T01:14:52Z",
"external_id": "42"
},
"summary": "Example of an in_progress conclusion"
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/check-runs
/repos/{owner}/{repo}/check-runs/{check_run_id}
Gets a single check run using its `id`. > [!NOTE] > The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/check-runs/{check_run_id}
/repos/{owner}/{repo}/check-runs/{check_run_id}
Updates a check run for a specific commit in a repository. > [!NOTE] > The endpoints to manage checks only look for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. OAuth apps and personal access tokens (classic) cannot use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"anyOf": [
{
"required": [
"conclusion"
],
"properties": {
"status": {
"enum": [
"completed"
]
}
},
"additionalProperties": true
},
{
"properties": {
"status": {
"enum": [
"queued",
"in_progress"
]
}
},
"additionalProperties": true
}
],
"properties": {
"name": {
"type": "string",
"description": "The name of the check. For example, \"code-coverage\"."
},
"output": {
"type": "object",
"required": [
"summary"
],
"properties": {
"text": {
"type": "string",
"maxLength": 65535,
"description": "Can contain Markdown."
},
"title": {
"type": "string",
"description": "**Required**."
},
"images": {
"type": "array",
"items": {
"type": "object",
"required": [
"alt",
"image_url"
],
"properties": {
"alt": {
"type": "string",
"description": "The alternative text for the image."
},
"caption": {
"type": "string",
"description": "A short image description."
},
"image_url": {
"type": "string",
"description": "The full URL of the image."
}
}
},
"description": "Adds images to the output displayed in the GitHub pull request UI."
},
"summary": {
"type": "string",
"maxLength": 65535,
"description": "Can contain Markdown."
},
"annotations": {
"type": "array",
"items": {
"type": "object",
"required": [
"path",
"start_line",
"end_line",
"annotation_level",
"message"
],
"properties": {
"path": {
"type": "string",
"description": "The path of the file to add an annotation to. For example, `assets/css/main.css`."
},
"title": {
"type": "string",
"description": "The title that represents the annotation. The maximum size is 255 characters."
},
"message": {
"type": "string",
"description": "A short description of the feedback for these lines of code. The maximum size is 64 KB."
},
"end_line": {
"type": "integer",
"description": "The end line of the annotation."
},
"end_column": {
"type": "integer",
"description": "The end column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values."
},
"start_line": {
"type": "integer",
"description": "The start line of the annotation. Line numbers start at 1."
},
"raw_details": {
"type": "string",
"description": "Details about this annotation. The maximum size is 64 KB."
},
"start_column": {
"type": "integer",
"description": "The start column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. Column numbers start at 1."
},
"annotation_level": {
"enum": [
"notice",
"warning",
"failure"
],
"type": "string",
"description": "The level of the annotation."
}
}
},
"maxItems": 50,
"description": "Adds information from your analysis to specific lines of code. Annotations are visible in GitHub's pull request UI. Annotations are visible in GitHub's pull request UI. The Checks API limits the number of annotations to a maximum of 50 per API request. To create more than 50 annotations, you have to make multiple requests to the [Update a check run](https://docs.github.com/rest/checks/runs#update-a-check-run) endpoint. Each time you update the check run, annotations are appended to the list of annotations that already exist for the check run. GitHub Actions are limited to 10 warning annotations and 10 error annotations per step. For details about annotations in the UI, see \"[About status checks](https://docs.github.com/articles/about-status-checks#checks)\"."
}
},
"description": "Check runs can accept a variety of data in the `output` object, including a `title` and `summary` and can optionally provide descriptive details about the run."
},
"status": {
"enum": [
"queued",
"in_progress",
"completed",
"waiting",
"requested",
"pending"
],
"type": "string",
"description": "The current status of the check run. Only GitHub Actions can set a status of `waiting`, `pending`, or `requested`."
},
"actions": {
"type": "array",
"items": {
"type": "object",
"required": [
"label",
"description",
"identifier"
],
"properties": {
"label": {
"type": "string",
"maxLength": 20,
"description": "The text to be displayed on a button in the web UI. The maximum size is 20 characters."
},
"identifier": {
"type": "string",
"maxLength": 20,
"description": "A reference for the action on the integrator's system. The maximum size is 20 characters."
},
"description": {
"type": "string",
"maxLength": 40,
"description": "A short explanation of what this action would do. The maximum size is 40 characters."
}
}
},
"maxItems": 3,
"description": "Possible further actions the integrator can perform, which a user may trigger. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. To learn more about check runs and requested actions, see \"[Check runs and requested actions](https://docs.github.com/rest/guides/using-the-rest-api-to-interact-with-checks#check-runs-and-requested-actions).\""
},
"conclusion": {
"enum": [
"action_required",
"cancelled",
"failure",
"neutral",
"success",
"skipped",
"stale",
"timed_out"
],
"type": "string",
"description": "**Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. \n**Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. You cannot change a check run conclusion to `stale`, only GitHub can set this."
},
"started_at": {
"type": "string",
"format": "date-time",
"description": "This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`."
},
"details_url": {
"type": "string",
"description": "The URL of the integrator's site that has the full details of the check."
},
"external_id": {
"type": "string",
"description": "A reference for the run on the integrator's system."
},
"completed_at": {
"type": "string",
"format": "date-time",
"description": "The time the check completed. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`."
}
}
},
"examples": {
"default": {
"value": {
"name": "mighty_readme",
"output": {
"text": "You may have some misspelled words on lines 2 and 4. You also may want to add a section in your README about how to install your app.",
"title": "Mighty Readme report",
"images": [
{
"alt": "Super bananas",
"image_url": "http://example.com/images/42"
}
],
"summary": "There are 0 failures, 2 warnings, and 1 notices.",
"annotations": [
{
"path": "README.md",
"title": "Spell Checker",
"message": "Check your spelling for 'banaas'.",
"end_line": 2,
"start_line": 2,
"raw_details": "Do you mean 'bananas' or 'banana'?",
"annotation_level": "warning"
},
{
"path": "README.md",
"title": "Spell Checker",
"message": "Check your spelling for 'aples'",
"end_line": 4,
"start_line": 4,
"raw_details": "Do you mean 'apples' or 'Naples'",
"annotation_level": "warning"
}
]
},
"status": "completed",
"conclusion": "success",
"started_at": "2018-05-04T01:14:52Z",
"completed_at": "2018-05-04T01:14:52Z"
}
}
}
}
},
"required": true
}
PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}
/repos/{owner}/{repo}/check-runs/{check_run_id}/annotations
Lists annotations for a check run using the annotation `id`. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations
/repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest
Triggers GitHub to rerequest an existing check run, without pushing new code to a repository. This endpoint will trigger the [`check_run` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) event with the action `rerequested`. When a check run is `rerequested`, the `status` of the check suite it belongs to is reset to `queued` and the `conclusion` is cleared. The check run itself is not updated. GitHub apps recieving the [`check_run` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) with the `rerequested` action should then decide if the check run should be reset or updated and call the [update `check_run` endpoint](https://docs.github.com/rest/checks/runs#update-a-check-run) to update the check_run if desired. For more information about how to re-run GitHub Actions jobs, see "[Re-run a job from a workflow run](https://docs.github.com/rest/actions/workflow-runs#re-run-a-job-from-a-workflow-run)".
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest
/repos/{owner}/{repo}/check-suites
Creates a check suite manually. By default, check suites are automatically created when you create a [check run](https://docs.github.com/rest/checks/runs). You only need to use this endpoint for manually creating check suites when you've disabled automatic creation using "[Update repository preferences for check suites](https://docs.github.com/rest/checks/suites#update-repository-preferences-for-check-suites)". > [!NOTE] > The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. OAuth apps and personal access tokens (classic) cannot use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"head_sha"
],
"properties": {
"head_sha": {
"type": "string",
"description": "The sha of the head commit."
}
}
},
"examples": {
"default": {
"value": {
"head_sha": "d6fde92930d4715a2b49857d24b940956b26d2d3"
}
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/check-suites
/repos/{owner}/{repo}/check-suites/preferences
Changes the default automatic flow when creating check suites. By default, a check suite is automatically created each time code is pushed to a repository. When you disable the automatic creation of check suites, you can manually [Create a check suite](https://docs.github.com/rest/checks/suites#create-a-check-suite). You must have admin permissions in the repository to set preferences for check suites.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"auto_trigger_checks": {
"type": "array",
"items": {
"type": "object",
"required": [
"app_id",
"setting"
],
"properties": {
"app_id": {
"type": "integer",
"description": "The `id` of the GitHub App."
},
"setting": {
"type": "boolean",
"default": true,
"description": "Set to `true` to enable automatic creation of CheckSuite events upon pushes to the repository, or `false` to disable them."
}
}
},
"description": "Enables or disables automatic creation of CheckSuite events upon pushes to the repository. Enabled by default."
}
}
},
"examples": {
"default": {
"value": {
"auto_trigger_checks": [
{
"app_id": 4,
"setting": false
}
]
}
}
}
}
},
"required": true
}
PATCH /repos/{owner}/{repo}/check-suites/preferences
/repos/{owner}/{repo}/check-suites/{check_suite_id}
Gets a single check suite using its `id`. > [!NOTE] > The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/check-suites/{check_suite_id}
/repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs
Lists check runs for a check suite using its `id`. > [!NOTE] > The endpoints to manage checks only look for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| filter | query | optional | string | Filters check runs by their `completed_at` timestamp. `latest` returns the most recent check runs. |
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs
/repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest
Triggers GitHub to rerequest an existing check suite, without pushing new code to a repository. This endpoint will trigger the [`check_suite` webhook](https://docs.github.com/webhooks/event-payloads/#check_suite) event with the action `rerequested`. When a check suite is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest
/repos/{owner}/{repo}/commits/{ref}/check-runs
Lists check runs for a commit ref. The `ref` can be a SHA, branch name, or a tag name. > [!NOTE] > The endpoints to manage checks only look for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. If there are more than 1000 check suites on a single git reference, this endpoint will limit check runs to the 1000 most recent check suites. To iterate over all possible check runs, use the [List check suites for a Git reference](https://docs.github.com/rest/reference/checks#list-check-suites-for-a-git-reference) endpoint and provide the `check_suite_id` parameter to the [List check runs in a check suite](https://docs.github.com/rest/reference/checks#list-check-runs-in-a-check-suite) endpoint. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| filter | query | optional | string | Filters check runs by their `completed_at` timestamp. `latest` returns the most recent check runs. |
| optional | ||||
| optional | ||||
| app_id | query | optional | integer |
GET /repos/{owner}/{repo}/commits/{ref}/check-runs
/repos/{owner}/{repo}/commits/{ref}/check-suites
Lists check suites for a commit `ref`. The `ref` can be a SHA, branch name, or a tag name. > [!NOTE] > The endpoints to manage checks only look for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| app_id | query | optional | integer | Filters check suites by GitHub App `id`. |
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/commits/{ref}/check-suites
/assignments/{assignment_id}
Gets a GitHub Classroom assignment. Assignment will only be returned if the current user is an administrator of the GitHub Classroom for the assignment.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /assignments/{assignment_id}
/assignments/{assignment_id}/accepted_assignments
Lists any assignment repositories that have been created by students accepting a GitHub Classroom assignment. Accepted assignments will only be returned if the current user is an administrator of the GitHub Classroom for the assignment.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /assignments/{assignment_id}/accepted_assignments
/assignments/{assignment_id}/grades
Gets grades for a GitHub Classroom assignment. Grades will only be returned if the current user is an administrator of the GitHub Classroom for the assignment.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /assignments/{assignment_id}/grades
/classrooms
Lists GitHub Classroom classrooms for the current user. Classrooms will only be returned if the current user is an administrator of one or more GitHub Classrooms.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /classrooms
/classrooms/{classroom_id}
Gets a GitHub Classroom classroom for the current user. Classroom will only be returned if the current user is an administrator of the GitHub Classroom.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /classrooms/{classroom_id}
/classrooms/{classroom_id}/assignments
Lists GitHub Classroom assignments for a classroom. Assignments will only be returned if the current user is an administrator of the GitHub Classroom.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /classrooms/{classroom_id}/assignments
/orgs/{org}/code-scanning/alerts
Lists code scanning alerts for the default branch for all eligible repositories in an organization. Eligible repositories are repositories that are owned by organizations that you own or for which you are a security manager. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." The authenticated user must be an owner or security manager for the organization to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `security_events` or `repo`s cope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| state | query | optional | If specified, only code scanning alerts with this state will be returned. | |
| sort | query | optional | string | The property by which to sort the results. |
| severity | query | optional | If specified, only code scanning alerts with this severity will be returned. | |
| assignees | query | optional | string | Filter alerts by assignees. Provide a comma-separated list of user handles (e.g., `octocat` or `octocat,hubot`). Use `*` to list alerts with at least one assignee or `none` to list alerts with no assignees. |
GET /orgs/{org}/code-scanning/alerts
/repos/{owner}/{repo}/code-scanning/alerts
Lists code scanning alerts. The response includes a `most_recent_instance` object. This provides details of the most recent instance of this alert for the default branch (or for the specified Git reference if you used `ref` in the request). OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| sort | query | optional | string | The property by which to sort the results. |
| state | query | optional | If specified, only code scanning alerts with this state will be returned. | |
| severity | query | optional | If specified, only code scanning alerts with this severity will be returned. | |
| assignees | query | optional | string | Filter alerts by assignees. Provide a comma-separated list of user handles (e.g., `octocat` or `octocat,hubot`). Use `*` to list alerts with at least one assignee or `none` to list alerts with no assignees. |
GET /repos/{owner}/{repo}/code-scanning/alerts
/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}
Gets a single code scanning alert. OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}
/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}
Updates the status of a single code scanning alert. OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"anyOf": [
{
"required": [
"state"
]
},
{
"required": [
"assignees"
]
}
],
"properties": {
"state": {
"$ref": "#/components/schemas/code-scanning-alert-set-state"
},
"assignees": {
"$ref": "#/components/schemas/code-scanning-alert-assignees"
},
"create_request": {
"$ref": "#/components/schemas/code-scanning-alert-create-request"
},
"dismissed_reason": {
"$ref": "#/components/schemas/code-scanning-alert-dismissed-reason"
},
"dismissed_comment": {
"$ref": "#/components/schemas/code-scanning-alert-dismissed-comment"
}
}
},
"examples": {
"default": {
"value": {
"state": "dismissed",
"create_request": true,
"dismissed_reason": "false positive",
"dismissed_comment": "This alert is not actually correct, because there's a sanitizer included in the library."
}
}
}
}
},
"required": true
}
PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}
/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix
Gets the status and description of an autofix for a code scanning alert. OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix
/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix
Creates an autofix for a code scanning alert. If a new autofix is to be created as a result of this request or is currently being generated, then this endpoint will return a 202 Accepted response. If an autofix already exists for a given alert, then this endpoint will return a 200 OK response. OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
POST /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix
/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix/commits
Commits an autofix for a code scanning alert. If an autofix is committed as a result of this request, then this endpoint will return a 201 Created response. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/code-scanning-autofix-commits"
},
"examples": {
"default": {
"$ref": "#/components/examples/code-scanning-autofix-commits"
}
}
}
},
"required": false
}
POST /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix/commits
/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances
Lists all instances of the specified code scanning alert. OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances
/repos/{owner}/{repo}/code-scanning/analyses
Lists the details of all code scanning analyses for a repository, starting with the most recent. The response is paginated and you can use the `page` and `per_page` parameters to list the analyses you're interested in. By default 30 analyses are listed per page. The `rules_count` field in the response give the number of rules that were run in the analysis. For very old analyses this data is not available, and `0` is returned in this field. > [!WARNING] > **Closing down notice:** The `tool_name` field is closing down and will, in future, not be included in the response for this endpoint. The example response reflects this change. The tool name can now be found inside the `tool` field. OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| ref | query | optional | The Git reference for the analyses you want to list. The `ref` for a branch can be formatted either as `refs/heads/<branch name>` or simply `<branch name>`. To reference a pull request use `refs/pull/<number>/merge`. | |
| sarif_id | query | optional | Filter analyses belonging to the same SARIF upload. | |
| optional | ||||
| sort | query | optional | string | The property by which to sort the results. |
GET /repos/{owner}/{repo}/code-scanning/analyses
/repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}
Deletes a specified code scanning analysis from a repository. You can delete one analysis at a time. To delete a series of analyses, start with the most recent analysis and work backwards. Conceptually, the process is similar to the undo function in a text editor. When you list the analyses for a repository, one or more will be identified as deletable in the response: ``` "deletable": true ``` An analysis is deletable when it's the most recent in a set of analyses. Typically, a repository will have multiple sets of analyses for each enabled code scanning tool, where a set is determined by a unique combination of analysis values: * `ref` * `tool` * `category` If you attempt to delete an analysis that is not the most recent in a set, you'll get a 400 response with the message: ``` Analysis specified is not deletable. ``` The response from a successful `DELETE` operation provides you with two alternative URLs for deleting the next analysis in the set: `next_analysis_url` and `confirm_delete_url`. Use the `next_analysis_url` URL if you want to avoid accidentally deleting the final analysis in a set. This is a useful option if you want to preserve at least one analysis for the specified tool in your repository. Use the `confirm_delete_url` URL if you are content to remove all analyses for a tool. When you delete the last analysis in a set, the value of `next_analysis_url` and `confirm_delete_url` in the 200 response is `null`. As an example of the deletion process, let's imagine that you added a workflow that configured a particular code scanning tool to analyze the code in a repository. This tool has added 15 analyses: 10 on the default branch, and another 5 on a topic branch. You therefore have two separate sets of analyses for this tool. You've now decided that you want to remove all of the analyses for the tool. To do this you must make 15 separate deletion requests. To start, you must find an analysis that's identified as deletable. Each set of analyses always has one that's identified as deletable. Having found the deletable analysis for one of the two sets, delete this analysis and then continue deleting the next analysis in the set until they're all deleted. Then repeat the process for the second set. The procedure therefore consists of a nested loop: **Outer loop**: * List the analyses for the repository, filtered by tool. * Parse this list to find a deletable analysis. If found: **Inner loop**: * Delete the identified analysis. * Parse the response for the value of `confirm_delete_url` and, if found, use this in the next iteration. The above process assumes that you want to remove all trace of the tool's analyses from the GitHub user interface, for the specified repository, and it therefore uses the `confirm_delete_url` value. Alternatively, you could use the `next_analysis_url` value, which would leave the last analysis in each set undeleted to avoid removing a tool's analysis entirely. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| analysis_id | path | required | integer | The ID of the analysis, as returned from the `GET /repos/{owner}/{repo}/code-scanning/analyses` operation. |
| confirm_delete | query | optional | string | Allow deletion if the specified analysis is the last in a set. If you attempt to delete the final analysis in a set without setting this parameter to `true`, you'll get a 400 response with the message: `Analysis is last of its type and deletion may result in the loss of historical alert data. Please specify confirm_delete.` |
DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}
/repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}
Gets a specified code scanning analysis for a repository. The default JSON response contains fields that describe the analysis. This includes the Git reference and commit SHA to which the analysis relates, the datetime of the analysis, the name of the code scanning tool, and the number of alerts. The `rules_count` field in the default response give the number of rules that were run in the analysis. For very old analyses this data is not available, and `0` is returned in this field. This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/sarif+json`**: Instead of returning a summary of the analysis, this endpoint returns a subset of the analysis data that was uploaded. The data is formatted as [SARIF version 2.1.0](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html). It also returns additional data such as the `github/alertNumber` and `github/alertUrl` properties. OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| analysis_id | path | required | integer | The ID of the analysis, as returned from the `GET /repos/{owner}/{repo}/code-scanning/analyses` operation. |
GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}
/repos/{owner}/{repo}/code-scanning/codeql/databases
Lists the CodeQL databases that are available in a repository. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/code-scanning/codeql/databases
/repos/{owner}/{repo}/code-scanning/codeql/databases/{language}
Deletes a CodeQL database for a language in a repository. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| language | path | required | string | The language of the CodeQL database. |
DELETE /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}
/repos/{owner}/{repo}/code-scanning/codeql/databases/{language}
Gets a CodeQL database for a language in a repository. By default this endpoint returns JSON metadata about the CodeQL database. To download the CodeQL database binary content, set the `Accept` header of the request to [`application/zip`](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types), and make sure your HTTP client is configured to follow redirects or use the `Location` header to make a second request to get the redirect URL. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| language | path | required | string | The language of the CodeQL database. |
GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}
/repos/{owner}/{repo}/code-scanning/codeql/variant-analyses
Creates a new CodeQL variant analysis, which will run a CodeQL query against one or more repositories. Get started by learning more about [running CodeQL queries at scale with Multi-Repository Variant Analysis](https://docs.github.com/code-security/codeql-for-vs-code/getting-started-with-codeql-for-vs-code/running-codeql-queries-at-scale-with-multi-repository-variant-analysis). Use the `owner` and `repo` parameters in the URL to specify the controller repository that will be used for running GitHub Actions workflows and storing the results of the CodeQL variant analysis. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"oneOf": [
{
"required": [
"repositories"
]
},
{
"required": [
"repository_lists"
]
},
{
"required": [
"repository_owners"
]
}
],
"required": [
"language",
"query_pack"
],
"properties": {
"language": {
"$ref": "#/components/schemas/code-scanning-variant-analysis-language"
},
"query_pack": {
"type": "string",
"description": "A Base64-encoded tarball containing a CodeQL query and all its dependencies"
},
"repositories": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of repository names (in the form `owner/repo-name`) to run the query against. Precisely one property from `repositories`, `repository_lists` and `repository_owners` is required."
},
"repository_lists": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 1,
"description": "List of repository lists to run the query against. Precisely one property from `repositories`, `repository_lists` and `repository_owners` is required."
},
"repository_owners": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 1,
"description": "List of organization or user names whose repositories the query should be run against. Precisely one property from `repositories`, `repository_lists` and `repository_owners` is required."
}
},
"additionalProperties": false
},
"examples": {
"repository_lists": {
"value": {
"language": "csharp",
"query_pack": "aGVsbG8=",
"repository_lists": [
"top-100-csharp"
]
},
"summary": "Using the \"repository_lists\" field. \"query_pack\" is abridged."
},
"repository_owners": {
"value": {
"language": "csharp",
"query_pack": "aGVsbG8=",
"repository_owners": [
"octocat"
]
},
"summary": "Using the \"repository_owners\" field. \"query_pack\" is abridged."
},
"repositories_parameter": {
"value": {
"language": "csharp",
"query_pack": "aGVsbG8=",
"repositories": [
"octocat/Hello-World",
"octocat/example"
]
},
"summary": "Using the \"repositories\" field. \"query_pack\" is abridged for brevity."
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses
/repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}
Gets the summary of a CodeQL variant analysis. OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| codeql_variant_analysis_id | path | required | integer | The unique identifier of the variant analysis. |
GET /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}
/repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}/repos/{repo_owner}/{repo_name}
Gets the analysis status of a repository in a CodeQL variant analysis. OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| repo | path | required | string | The name of the controller repository. |
| codeql_variant_analysis_id | path | required | integer | The ID of the variant analysis. |
| repo_owner | path | required | string | The account owner of the variant analysis repository. The name is not case sensitive. |
| repo_name | path | required | string | The name of the variant analysis repository. |
GET /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}/repos/{repo_owner}/{repo_name}
/repos/{owner}/{repo}/code-scanning/default-setup
Gets a code scanning default setup configuration. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/code-scanning/default-setup
/repos/{owner}/{repo}/code-scanning/default-setup
Updates a code scanning default setup configuration. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/code-scanning-default-setup-update"
},
"examples": {
"default": {
"$ref": "#/components/examples/code-scanning-default-setup-update"
}
}
}
},
"required": true
}
PATCH /repos/{owner}/{repo}/code-scanning/default-setup
/repos/{owner}/{repo}/code-scanning/sarifs
Uploads SARIF data containing the results of a code scanning analysis to make the results available in a repository. For troubleshooting information, see "[Troubleshooting SARIF uploads](https://docs.github.com/code-security/code-scanning/troubleshooting-sarif)." There are two places where you can upload code scanning results. - If you upload to a pull request, for example `--ref refs/pull/42/merge` or `--ref refs/pull/42/head`, then the results appear as alerts in a pull request check. For more information, see "[Triaging code scanning alerts in pull requests](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)." - If you upload to a branch, for example `--ref refs/heads/my-branch`, then the results appear in the **Security** tab for your repository. For more information, see "[Managing code scanning alerts for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository#viewing-the-alerts-for-a-repository)." You must compress the SARIF-formatted analysis data that you want to upload, using `gzip`, and then encode it as a Base64 format string. For example: ``` gzip -c analysis-data.sarif | base64 -w0 ``` SARIF upload supports a maximum number of entries per the following data objects, and an analysis will be rejected if any of these objects is above its maximum value. For some objects, there are additional values over which the entries will be ignored while keeping the most important entries whenever applicable. To get the most out of your analysis when it includes data above the supported limits, try to optimize the analysis configuration. For example, for the CodeQL tool, identify and remove the most noisy queries. For more information, see "[SARIF results exceed one or more limits](https://docs.github.com/code-security/code-scanning/troubleshooting-sarif/results-exceed-limit)." | **SARIF data** | **Maximum values** | **Additional limits** | |----------------------------------|:------------------:|----------------------------------------------------------------------------------| | Runs per file | 20 | | | Results per run | 25,000 | Only the top 5,000 results will be included, prioritized by severity. | | Rules per run | 25,000 | | | Tool extensions per run | 100 | | | Thread Flow Locations per result | 10,000 | Only the top 1,000 Thread Flow Locations will be included, using prioritization. | | Location per result | 1,000 | Only 100 locations will be included. | | Tags per rule | 20 | Only 10 tags will be included. | The `202 Accepted` response includes an `id` value. You can use this ID to check the status of the upload by using it in the `/sarifs/{sarif_id}` endpoint. For more information, see "[Get information about a SARIF upload](/rest/code-scanning/code-scanning#get-information-about-a-sarif-upload)." OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. This endpoint is limited to 1,000 requests per hour for each user or app installation calling it.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"commit_sha",
"ref",
"sarif"
],
"properties": {
"ref": {
"$ref": "#/components/schemas/code-scanning-ref-full"
},
"sarif": {
"$ref": "#/components/schemas/code-scanning-analysis-sarif-file"
},
"validate": {
"type": "boolean",
"description": "Whether the SARIF file will be validated according to the code scanning specifications.\nThis parameter is intended to help integrators ensure that the uploaded SARIF files are correctly rendered by code scanning."
},
"tool_name": {
"type": "string",
"description": "The name of the tool used to generate the code scanning analysis. If this parameter is not used, the tool name defaults to \"API\". If the uploaded SARIF contains a tool GUID, this will be available for filtering using the `tool_guid` parameter of operations such as `GET /repos/{owner}/{repo}/code-scanning/alerts`."
},
"commit_sha": {
"$ref": "#/components/schemas/code-scanning-analysis-commit-sha"
},
"started_at": {
"type": "string",
"format": "date-time",
"description": "The time that the analysis run began. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`."
},
"checkout_uri": {
"type": "string",
"format": "uri",
"example": "file:///github/workspace/",
"description": "The base directory used in the analysis, as it appears in the SARIF file.\nThis property is used to convert file paths from absolute to relative, so that alerts can be mapped to their correct location in the repository."
}
},
"additionalProperties": false
},
"examples": {
"default": {
"value": {
"ref": "refs/heads/master",
"sarif": "H4sICMLGdF4AA2V4YW1wbGUuc2FyaWYAvVjdbts2FL7PUxDCijaA/CM7iRNfLkPXYgHSNstumlzQ0pHFVCI1korjFgH2ONtr7Ul2KFmy/mOn6QIkjsjDw0/nfN85NL8dEGL9pNwAImqRObECrWM1H40kXQ2XTAfJIlEgXcE1cD10RTQSVDE10K4aKSqZP1AxuKOIKg1ydJU60jSfSh8Hk6EzHA/vlOCWbfa7B6kYPpj90rlsWCZcmbHP5Bs+4oAWIjQD2SMOeJLh2vIQDnIaQerqXHjw8YIgxohybxAyDsS4cAPKsp03K4RcUs6+Up2D+JXpd8mibKIQN9fM/aMCdbyBujGSSQgVxJtx5qX2d2qUcIweQhEuDQf3GBO6CKHkogx/N3MVCKl/AeVKFuf4y5ubsMGDTj1ep+5I7sgmLIpxtU38hLtmMRGSuCFVyip5eKzs5ydh+LztVL6f2m6oih1BkYiuyQIIJWodxVpERPj4sEiWBNNH8EWT0DMG8EAjzKVHXCrB4FkPu/F64NMk1OeC+2yZSNoBOoR7CC0EzYWGbm+xFDFIzbI011+cLjfZtyJkmMZfumAh02uL3NpV2y+MZ6RAjxibyKrNxxJcVjANSb4eBGwZ1M0KsuyR2poLr5rMl8vaDSeVn6eTWEO2j2xIEcmhwlTKNOi4GMOI8gfuZYkvJ7b4v5Tiumyz7RnHeodFzpS8ASIZCH/AYdWi2z3sG8JtFxJ6fF9yR9CdifBr9Pd6d5V2+zbJKjjCFGGmsHuYFy2ytJq9tUxcLSRSQecppOGKrpUxYfxefMEFK+wOGa4hudQByBVT0L+EKtyACxnRsABhEx1QjVDs1KNI9MbpnhqfE45B6FJvu3hRu5VRU9MhZLmK7fqkKyQSTHNoyMqUFMqXCV3CwAeqEwmVokraK8IuBaGvHjQ0gMYrKjnjyw7uk9uD8tgmsBbFMPnU1bV2ZhkJNkuolUiWys3UPWzs5aaIUz9TBe8zMb+6+nT+6fLy91dlE3xzeDDT4zYszb0bW6NjJd0Rvn2EnLvWLFSdKPpBzInzfRgu8ETyMcH8nIfMnJCeC2PyfTA+UKngcnGH7Hw2hGkVQs5YlIRCtdWZYQ4/73es2JlxkfViOEIhoWJq5Oo6UBBfiKIqFBWhiE3jJGbFwVoxBHTRSuIS67sMeplei24X20shLjG+8gqbKC/bESiNMC+wd5q5id0yeS7CJEqXzmrTWNq3k05l84P6f4/bEmXFJjI0fIt1BGQssUnUDkBYeVhE5TqPnMH3jqogDcP0zKcTgLPTMSzOjhbjuVOmW23l1fYNStulfo6sXlFsGLhbDy5RECPRYGCTgOj2bd4nUQEivEd0H7KKYxqnEhFohuur3a3UPskbH/+Yg0+M5P2MHRJu3ziHh3Z2NCrWt3XF1rWTw8Ne/pfbWYXnDSE0SNZQQt1i18q7te2vOhu7ehWuvVyeu0wbLZi24mhoo6aOOTltzG/lgdVvVoXQq5V+pewkFIzL8fjEcadT55jOjpzFzHuOTtDNrMkJPMVQDd7F09RID72O/UPZ0tmctqZ7kWX6EmSZnDpP8GU67SXM8XE3YSrxbKsx6UReZ4y6n/FVZfJjs9Z7stma75W5yQtkzjk5eSJxk1lv4o7+j8TlhaJ2lsKWZO6lruDPBLib3x5ZN/KGWzZ+pn///evv7OOf4iIBv3oY9L/l1wiJ9p0Tc+F1zZnOE9NxXWEus6IQhr5pMfoqxi8WPsuu0azsns4UC6WzNzHIzbeEx4P/AJ3SefgcFAAA",
"commit_sha": "4b6472266afd7b471e86085a6659e8c7f2b119da"
}
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/code-scanning/sarifs
/repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}
Gets information about a SARIF upload, including the status and the URL of the analysis that was uploaded so that you can retrieve details of the analysis. For more information, see "[Get a code scanning analysis for a repository](/rest/code-scanning/code-scanning#get-a-code-scanning-analysis-for-a-repository)." OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| sarif_id | path | required | string | The SARIF ID obtained after uploading. |
GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}
/enterprises/{enterprise}/code-security/configurations
Lists all code security configurations available in an enterprise. The authenticated user must be an administrator of the enterprise in order to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `read:enterprise` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| per_page | query | optional | integer | The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." |
| optional | ||||
| optional |
GET /enterprises/{enterprise}/code-security/configurations
/enterprises/{enterprise}/code-security/configurations
Creates a code security configuration in an enterprise. The authenticated user must be an administrator of the enterprise in order to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `admin:enterprise` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"name",
"description"
],
"properties": {
"name": {
"type": "string",
"description": "The name of the code security configuration. Must be unique within the enterprise."
},
"description": {
"type": "string",
"maxLength": 255,
"description": "A description of the code security configuration"
},
"enforcement": {
"enum": [
"enforced",
"unenforced"
],
"type": "string",
"default": "enforced",
"description": "The enforcement status for a security configuration"
},
"code_security": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"description": "The enablement status of GitHub Code Security features."
},
"secret_scanning": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"default": "disabled",
"description": "The enablement status of secret scanning"
},
"dependency_graph": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"default": "enabled",
"description": "The enablement status of Dependency Graph"
},
"advanced_security": {
"enum": [
"enabled",
"disabled",
"code_security",
"secret_protection"
],
"type": "string",
"default": "disabled",
"description": "The enablement status of GitHub Advanced Security features. `enabled` will enable both Code Security and Secret Protection features.\n\n> [!WARNING]\n> `code_security` and `secret_protection` are deprecated values for this field. Prefer the individual `code_security` and `secret_protection` fields to set the status of these features.\n"
},
"dependabot_alerts": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"default": "disabled",
"description": "The enablement status of Dependabot alerts"
},
"secret_protection": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"description": "The enablement status of GitHub Secret Protection features."
},
"code_scanning_options": {
"$ref": "#/components/schemas/code-scanning-options"
},
"code_scanning_default_setup": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"default": "disabled",
"description": "The enablement status of code scanning default setup"
},
"dependabot_security_updates": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"default": "disabled",
"description": "The enablement status of Dependabot security updates"
},
"private_vulnerability_reporting": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"default": "disabled",
"description": "The enablement status of private vulnerability reporting"
},
"secret_scanning_generic_secrets": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"default": "disabled",
"description": "The enablement status of Copilot secret scanning"
},
"secret_scanning_push_protection": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"default": "disabled",
"description": "The enablement status of secret scanning push protection"
},
"secret_scanning_validity_checks": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"default": "disabled",
"description": "The enablement status of secret scanning validity checks"
},
"secret_scanning_extended_metadata": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"default": "disabled",
"description": "The enablement status of secret scanning extended metadata"
},
"dependency_graph_autosubmit_action": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"default": "disabled",
"description": "The enablement status of Automatic dependency submission"
},
"code_scanning_default_setup_options": {
"$ref": "#/components/schemas/code-scanning-default-setup-options"
},
"secret_scanning_non_provider_patterns": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"default": "disabled",
"description": "The enablement status of secret scanning non provider patterns"
},
"code_scanning_delegated_alert_dismissal": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"default": "disabled",
"description": "The enablement status of code scanning delegated alert dismissal"
},
"secret_scanning_delegated_alert_dismissal": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"default": "disabled",
"description": "The enablement status of secret scanning delegated alert dismissal"
},
"dependency_graph_autosubmit_action_options": {
"type": "object",
"properties": {
"labeled_runners": {
"type": "boolean",
"default": false,
"description": "Whether to use runners labeled with 'dependency-submission' or standard GitHub runners."
}
},
"description": "Feature options for Automatic dependency submission"
}
},
"additionalProperties": false
},
"examples": {
"default": {
"value": {
"name": "High rish settings",
"description": "This is a code security configuration for octo-enterprise",
"secret_scanning": "enabled",
"advanced_security": "enabled",
"dependabot_alerts": "enabled",
"dependabot_security_updates": "not_set"
},
"summary": "Example for a code security configuration"
}
}
}
},
"required": true
}
POST /enterprises/{enterprise}/code-security/configurations
/enterprises/{enterprise}/code-security/configurations/defaults
Lists the default code security configurations for an enterprise. The authenticated user must be an administrator of the enterprise in order to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `read:enterprise` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /enterprises/{enterprise}/code-security/configurations/defaults
/enterprises/{enterprise}/code-security/configurations/{configuration_id}
Deletes a code security configuration from an enterprise. Repositories attached to the configuration will retain their settings but will no longer be associated with the configuration. The authenticated user must be an administrator for the enterprise to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `admin:enterprise` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
DELETE /enterprises/{enterprise}/code-security/configurations/{configuration_id}
/enterprises/{enterprise}/code-security/configurations/{configuration_id}
Gets a code security configuration available in an enterprise. The authenticated user must be an administrator of the enterprise in order to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `read:enterprise` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}
/enterprises/{enterprise}/code-security/configurations/{configuration_id}
Updates a code security configuration in an enterprise. The authenticated user must be an administrator of the enterprise in order to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `admin:enterprise` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the code security configuration. Must be unique across the enterprise."
},
"description": {
"type": "string",
"maxLength": 255,
"description": "A description of the code security configuration"
},
"enforcement": {
"enum": [
"enforced",
"unenforced"
],
"type": "string",
"description": "The enforcement status for a security configuration"
},
"code_security": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"description": "The enablement status of GitHub Code Security features."
},
"secret_scanning": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"description": "The enablement status of secret scanning"
},
"dependency_graph": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"description": "The enablement status of Dependency Graph"
},
"advanced_security": {
"enum": [
"enabled",
"disabled",
"code_security",
"secret_protection"
],
"type": "string",
"description": "The enablement status of GitHub Advanced Security features. `enabled` will enable both Code Security and Secret Protection features.\n\n> [!WARNING]\n> `code_security` and `secret_protection` are deprecated values for this field. Prefer the individual `code_security` and `secret_protection` fields to set the status of these features.\n"
},
"dependabot_alerts": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"description": "The enablement status of Dependabot alerts"
},
"secret_protection": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"description": "The enablement status of GitHub Secret Protection features."
},
"code_scanning_options": {
"$ref": "#/components/schemas/code-scanning-options"
},
"code_scanning_default_setup": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"description": "The enablement status of code scanning default setup"
},
"dependabot_security_updates": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"description": "The enablement status of Dependabot security updates"
},
"private_vulnerability_reporting": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"description": "The enablement status of private vulnerability reporting"
},
"secret_scanning_generic_secrets": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"default": "disabled",
"description": "The enablement status of Copilot secret scanning"
},
"secret_scanning_push_protection": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"description": "The enablement status of secret scanning push protection"
},
"secret_scanning_validity_checks": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"description": "The enablement status of secret scanning validity checks"
},
"secret_scanning_extended_metadata": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"default": "disabled",
"description": "The enablement status of secret scanning extended metadata"
},
"dependency_graph_autosubmit_action": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"description": "The enablement status of Automatic dependency submission"
},
"code_scanning_default_setup_options": {
"$ref": "#/components/schemas/code-scanning-default-setup-options"
},
"secret_scanning_non_provider_patterns": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"description": "The enablement status of secret scanning non-provider patterns"
},
"code_scanning_delegated_alert_dismissal": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"default": "disabled",
"description": "The enablement status of code scanning delegated alert dismissal"
},
"secret_scanning_delegated_alert_dismissal": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"default": "disabled",
"description": "The enablement status of secret scanning delegated alert dismissal"
},
"dependency_graph_autosubmit_action_options": {
"type": "object",
"properties": {
"labeled_runners": {
"type": "boolean",
"description": "Whether to use runners labeled with 'dependency-submission' or standard GitHub runners."
}
},
"description": "Feature options for Automatic dependency submission"
}
},
"additionalProperties": false
},
"examples": {
"default": {
"value": {
"name": "octo-enterprise recommended settings v2",
"secret_scanning": "disabled",
"code_scanning_default_setup": "enabled"
},
"summary": "Example for updating a code security configuration"
}
}
}
},
"required": true
}
PATCH /enterprises/{enterprise}/code-security/configurations/{configuration_id}
/enterprises/{enterprise}/code-security/configurations/{configuration_id}/attach
Attaches an enterprise code security configuration to repositories. If the repositories specified are already attached to a configuration, they will be re-attached to the provided configuration. If insufficient GHAS licenses are available to attach the configuration to a repository, only free features will be enabled. The authenticated user must be an administrator for the enterprise to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `admin:enterprise` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"scope"
],
"properties": {
"scope": {
"enum": [
"all",
"all_without_configurations"
],
"type": "string",
"description": "The type of repositories to attach the configuration to."
}
},
"additionalProperties": false
},
"examples": {
"default": {
"value": {
"scope": "all"
},
"summary": "Example for attaching a configuration to some repositories"
}
}
}
},
"required": true
}
POST /enterprises/{enterprise}/code-security/configurations/{configuration_id}/attach
/enterprises/{enterprise}/code-security/configurations/{configuration_id}/defaults
Sets a code security configuration as a default to be applied to new repositories in your enterprise. This configuration will be applied by default to the matching repository type when created, but only for organizations within the enterprise that do not already have a default code security configuration set. The authenticated user must be an administrator for the enterprise to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `admin:enterprise` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"default_for_new_repos": {
"enum": [
"all",
"none",
"private_and_internal",
"public"
],
"type": "string",
"description": "Specify which types of repository this security configuration should be applied to by default."
}
}
},
"examples": {
"default": {
"value": {
"default_for_new_repos": "all"
},
"summary": "Set this configuration to be enabled by default on all new repositories."
}
}
}
},
"required": true
}
PUT /enterprises/{enterprise}/code-security/configurations/{configuration_id}/defaults
/enterprises/{enterprise}/code-security/configurations/{configuration_id}/repositories
Lists the repositories associated with an enterprise code security configuration in an organization. The authenticated user must be an administrator of the enterprise in order to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `read:enterprise` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| per_page | query | optional | integer | The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." |
| optional | ||||
| optional | ||||
| status | query | optional | string | A comma-separated list of statuses. If specified, only repositories with these attachment statuses will be returned. Can be: `all`, `attached`, `attaching`, `removed`, `enforced`, `failed`, `updating`, `removed_by_enterprise` |
GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}/repositories
/orgs/{org}/code-security/configurations
Lists all code security configurations available in an organization. The authenticated user must be an administrator or security manager for the organization to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `read:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| target_type | query | optional | string | The target type of the code security configuration |
| per_page | query | optional | integer | The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." |
| optional | ||||
| optional |
GET /orgs/{org}/code-security/configurations
/orgs/{org}/code-security/configurations
Creates a code security configuration in an organization. The authenticated user must be an administrator or security manager for the organization to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"name",
"description"
],
"properties": {
"name": {
"type": "string",
"description": "The name of the code security configuration. Must be unique within the organization."
},
"description": {
"type": "string",
"maxLength": 255,
"description": "A description of the code security configuration"
},
"enforcement": {
"enum": [
"enforced",
"unenforced"
],
"type": "string",
"default": "enforced",
"description": "The enforcement status for a security configuration"
},
"code_security": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"description": "The enablement status of GitHub Code Security features."
},
"secret_scanning": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"default": "disabled",
"description": "The enablement status of secret scanning"
},
"dependency_graph": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"default": "enabled",
"description": "The enablement status of Dependency Graph"
},
"advanced_security": {
"enum": [
"enabled",
"disabled",
"code_security",
"secret_protection"
],
"type": "string",
"default": "disabled",
"description": "The enablement status of GitHub Advanced Security features. `enabled` will enable both Code Security and Secret Protection features.\n\n> [!WARNING]\n> `code_security` and `secret_protection` are deprecated values for this field. Prefer the individual `code_security` and `secret_protection` fields to set the status of these features.\n"
},
"dependabot_alerts": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"default": "disabled",
"description": "The enablement status of Dependabot alerts"
},
"secret_protection": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"description": "The enablement status of GitHub Secret Protection features."
},
"code_scanning_options": {
"$ref": "#/components/schemas/code-scanning-options"
},
"code_scanning_default_setup": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"default": "disabled",
"description": "The enablement status of code scanning default setup"
},
"dependabot_security_updates": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"default": "disabled",
"description": "The enablement status of Dependabot security updates"
},
"private_vulnerability_reporting": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"default": "disabled",
"description": "The enablement status of private vulnerability reporting"
},
"secret_scanning_generic_secrets": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"default": "disabled",
"description": "The enablement status of Copilot secret scanning"
},
"secret_scanning_push_protection": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"default": "disabled",
"description": "The enablement status of secret scanning push protection"
},
"secret_scanning_validity_checks": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"default": "disabled",
"description": "The enablement status of secret scanning validity checks"
},
"secret_scanning_delegated_bypass": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"default": "disabled",
"description": "The enablement status of secret scanning delegated bypass"
},
"secret_scanning_extended_metadata": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"description": "The enablement status of secret scanning extended metadata"
},
"dependency_graph_autosubmit_action": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"default": "disabled",
"description": "The enablement status of Automatic dependency submission"
},
"code_scanning_default_setup_options": {
"$ref": "#/components/schemas/code-scanning-default-setup-options"
},
"dependabot_delegated_alert_dismissal": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"default": "disabled",
"description": "The enablement status of Dependabot delegated alert dismissal. Requires Dependabot alerts to be enabled."
},
"secret_scanning_non_provider_patterns": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"default": "disabled",
"description": "The enablement status of secret scanning non provider patterns"
},
"code_scanning_delegated_alert_dismissal": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"default": "not_set",
"description": "The enablement status of code scanning delegated alert dismissal"
},
"secret_scanning_delegated_bypass_options": {
"type": "object",
"properties": {
"reviewers": {
"type": "array",
"items": {
"type": "object",
"required": [
"reviewer_id",
"reviewer_type"
],
"properties": {
"mode": {
"enum": [
"ALWAYS",
"EXEMPT"
],
"type": "string",
"default": "ALWAYS",
"description": "The bypass mode for the reviewer"
},
"reviewer_id": {
"type": "integer",
"description": "The ID of the team or role selected as a bypass reviewer"
},
"reviewer_type": {
"enum": [
"TEAM",
"ROLE"
],
"type": "string",
"description": "The type of the bypass reviewer"
}
}
},
"description": "The bypass reviewers for secret scanning delegated bypass"
}
},
"description": "Feature options for secret scanning delegated bypass"
},
"secret_scanning_delegated_alert_dismissal": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"description": "The enablement status of secret scanning delegated alert dismissal"
},
"dependency_graph_autosubmit_action_options": {
"type": "object",
"properties": {
"labeled_runners": {
"type": "boolean",
"default": false,
"description": "Whether to use runners labeled with 'dependency-submission' or standard GitHub runners."
}
},
"description": "Feature options for Automatic dependency submission"
}
},
"additionalProperties": false
},
"examples": {
"default": {
"value": {
"name": "octo-org recommended settings",
"description": "This is a code security configuration for octo-org",
"secret_scanning": "enabled",
"advanced_security": "enabled",
"dependabot_alerts": "enabled",
"dependabot_security_updates": "not_set"
},
"summary": "Example for a code security configuration"
}
}
}
},
"required": true
}
POST /orgs/{org}/code-security/configurations
/orgs/{org}/code-security/configurations/defaults
Lists the default code security configurations for an organization. The authenticated user must be an administrator or security manager for the organization to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `read:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /orgs/{org}/code-security/configurations/defaults
/orgs/{org}/code-security/configurations/detach
Detach code security configuration(s) from a set of repositories. Repositories will retain their settings but will no longer be associated with the configuration. The authenticated user must be an administrator or security manager for the organization to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"selected_repository_ids": {
"type": "array",
"items": {
"type": "integer",
"description": "Unique identifier of the repository."
},
"maxItems": 250,
"minItems": 1,
"description": "An array of repository IDs to detach from configurations. Up to 250 IDs can be provided."
}
},
"additionalProperties": false
},
"examples": {
"default": {
"value": {
"selected_repository_ids": [
32,
91
]
},
"summary": "Example for detaching repositories from configurations."
}
}
}
},
"required": true
}
DELETE /orgs/{org}/code-security/configurations/detach
/orgs/{org}/code-security/configurations/{configuration_id}
Deletes the desired code security configuration from an organization. Repositories attached to the configuration will retain their settings but will no longer be associated with the configuration. The authenticated user must be an administrator or security manager for the organization to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
DELETE /orgs/{org}/code-security/configurations/{configuration_id}
/orgs/{org}/code-security/configurations/{configuration_id}
Gets a code security configuration available in an organization. The authenticated user must be an administrator or security manager for the organization to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /orgs/{org}/code-security/configurations/{configuration_id}
/orgs/{org}/code-security/configurations/{configuration_id}
Updates a code security configuration in an organization. The authenticated user must be an administrator or security manager for the organization to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the code security configuration. Must be unique within the organization."
},
"description": {
"type": "string",
"maxLength": 255,
"description": "A description of the code security configuration"
},
"enforcement": {
"enum": [
"enforced",
"unenforced"
],
"type": "string",
"description": "The enforcement status for a security configuration"
},
"code_security": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"description": "The enablement status of GitHub Code Security features."
},
"secret_scanning": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"description": "The enablement status of secret scanning"
},
"dependency_graph": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"description": "The enablement status of Dependency Graph"
},
"advanced_security": {
"enum": [
"enabled",
"disabled",
"code_security",
"secret_protection"
],
"type": "string",
"description": "The enablement status of GitHub Advanced Security features. `enabled` will enable both Code Security and Secret Protection features.\n\n> [!WARNING]\n> `code_security` and `secret_protection` are deprecated values for this field. Prefer the individual `code_security` and `secret_protection` fields to set the status of these features.\n"
},
"dependabot_alerts": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"description": "The enablement status of Dependabot alerts"
},
"secret_protection": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"description": "The enablement status of GitHub Secret Protection features."
},
"code_scanning_options": {
"$ref": "#/components/schemas/code-scanning-options"
},
"code_scanning_default_setup": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"description": "The enablement status of code scanning default setup"
},
"dependabot_security_updates": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"description": "The enablement status of Dependabot security updates"
},
"private_vulnerability_reporting": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"description": "The enablement status of private vulnerability reporting"
},
"secret_scanning_generic_secrets": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"description": "The enablement status of Copilot secret scanning"
},
"secret_scanning_push_protection": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"description": "The enablement status of secret scanning push protection"
},
"secret_scanning_validity_checks": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"description": "The enablement status of secret scanning validity checks"
},
"secret_scanning_delegated_bypass": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"description": "The enablement status of secret scanning delegated bypass"
},
"secret_scanning_extended_metadata": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"description": "The enablement status of secret scanning extended metadata"
},
"dependency_graph_autosubmit_action": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"description": "The enablement status of Automatic dependency submission"
},
"code_scanning_default_setup_options": {
"$ref": "#/components/schemas/code-scanning-default-setup-options"
},
"dependabot_delegated_alert_dismissal": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"description": "The enablement status of Dependabot delegated alert dismissal. Requires Dependabot alerts to be enabled."
},
"secret_scanning_non_provider_patterns": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"description": "The enablement status of secret scanning non-provider patterns"
},
"code_scanning_delegated_alert_dismissal": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"default": "disabled",
"description": "The enablement status of code scanning delegated alert dismissal"
},
"secret_scanning_delegated_bypass_options": {
"type": "object",
"properties": {
"reviewers": {
"type": "array",
"items": {
"type": "object",
"required": [
"reviewer_id",
"reviewer_type"
],
"properties": {
"mode": {
"enum": [
"ALWAYS",
"EXEMPT"
],
"type": "string",
"default": "ALWAYS",
"description": "The bypass mode for the reviewer"
},
"reviewer_id": {
"type": "integer",
"description": "The ID of the team or role selected as a bypass reviewer"
},
"reviewer_type": {
"enum": [
"TEAM",
"ROLE"
],
"type": "string",
"description": "The type of the bypass reviewer"
}
}
},
"description": "The bypass reviewers for secret scanning delegated bypass"
}
},
"description": "Feature options for secret scanning delegated bypass"
},
"secret_scanning_delegated_alert_dismissal": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"description": "The enablement status of secret scanning delegated alert dismissal"
},
"dependency_graph_autosubmit_action_options": {
"type": "object",
"properties": {
"labeled_runners": {
"type": "boolean",
"description": "Whether to use runners labeled with 'dependency-submission' or standard GitHub runners."
}
},
"description": "Feature options for Automatic dependency submission"
}
},
"additionalProperties": false
},
"examples": {
"default": {
"value": {
"name": "octo-org recommended settings v2",
"secret_scanning": "disabled",
"code_scanning_default_setup": "enabled"
},
"summary": "Example for updating a code security configuration"
}
}
}
},
"required": true
}
PATCH /orgs/{org}/code-security/configurations/{configuration_id}
/orgs/{org}/code-security/configurations/{configuration_id}/attach
Attach a code security configuration to a set of repositories. If the repositories specified are already attached to a configuration, they will be re-attached to the provided configuration. If insufficient GHAS licenses are available to attach the configuration to a repository, only free features will be enabled. The authenticated user must be an administrator or security manager for the organization to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"scope"
],
"properties": {
"scope": {
"enum": [
"all",
"all_without_configurations",
"public",
"private_or_internal",
"selected"
],
"type": "string",
"description": "The type of repositories to attach the configuration to. `selected` means the configuration will be attached to only the repositories specified by `selected_repository_ids`"
},
"selected_repository_ids": {
"type": "array",
"items": {
"type": "integer",
"description": "Unique identifier of the repository."
},
"description": "An array of repository IDs to attach the configuration to. You can only provide a list of repository ids when the `scope` is set to `selected`."
}
},
"additionalProperties": false
},
"examples": {
"default": {
"value": {
"scope": "selected",
"selected_repository_ids": [
32,
91
]
},
"summary": "Example for attaching a configuration to some repositories"
}
}
}
},
"required": true
}
POST /orgs/{org}/code-security/configurations/{configuration_id}/attach
/orgs/{org}/code-security/configurations/{configuration_id}/defaults
Sets a code security configuration as a default to be applied to new repositories in your organization. This configuration will be applied to the matching repository type (all, none, public, private and internal) by default when they are created. The authenticated user must be an administrator or security manager for the organization to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"default_for_new_repos": {
"enum": [
"all",
"none",
"private_and_internal",
"public"
],
"type": "string",
"description": "Specify which types of repository this security configuration should be applied to by default."
}
}
},
"examples": {
"default": {
"value": {
"default_for_new_repos": "all"
},
"summary": "Set this configuration to be enabled by default on all new repositories."
}
}
}
},
"required": true
}
PUT /orgs/{org}/code-security/configurations/{configuration_id}/defaults
/orgs/{org}/code-security/configurations/{configuration_id}/repositories
Lists the repositories associated with a code security configuration in an organization. The authenticated user must be an administrator or security manager for the organization to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `read:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| per_page | query | optional | integer | The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." |
| optional | ||||
| optional | ||||
| status | query | optional | string | A comma-separated list of statuses. If specified, only repositories with these attachment statuses will be returned. Can be: `all`, `attached`, `attaching`, `detached`, `removed`, `enforced`, `failed`, `updating`, `removed_by_enterprise` |
GET /orgs/{org}/code-security/configurations/{configuration_id}/repositories
/repos/{owner}/{repo}/code-security-configuration
Get the code security configuration that manages a repository's code security settings. The authenticated user must be an administrator or security manager for the organization to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/code-security-configuration
/codes_of_conduct
Returns array of all GitHub's codes of conduct.
GET /codes_of_conduct
/codes_of_conduct/{key}
Returns information about the specified GitHub code of conduct.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| key | path | required | string |
GET /codes_of_conduct/{key}
/orgs/{org}/codespaces
Lists the codespaces associated to a specified organization. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/codespaces
/orgs/{org}/codespaces/secrets
Lists all Codespaces development environment secrets available at the organization-level without revealing their encrypted values. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/codespaces/secrets
/orgs/{org}/codespaces/secrets/public-key
Gets a public key for an organization, which is required in order to encrypt secrets. You need to encrypt the value of a secret before you can create or update secrets. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /orgs/{org}/codespaces/secrets/public-key
/orgs/{org}/codespaces/secrets/{secret_name}
Deletes an organization development environment secret using the secret name. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
DELETE /orgs/{org}/codespaces/secrets/{secret_name}
/orgs/{org}/codespaces/secrets/{secret_name}
Gets an organization development environment secret without revealing its encrypted value. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /orgs/{org}/codespaces/secrets/{secret_name}
/orgs/{org}/codespaces/secrets/{secret_name}
Creates or updates an organization development environment secret with an encrypted value. Encrypt your secret using [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"visibility"
],
"properties": {
"key_id": {
"type": "string",
"description": "The ID of the key you used to encrypt the secret."
},
"visibility": {
"enum": [
"all",
"private",
"selected"
],
"type": "string",
"description": "Which type of organization repositories have access to the organization secret. `selected` means only the repositories specified by `selected_repository_ids` can access the secret."
},
"encrypted_value": {
"type": "string",
"pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$",
"description": "The value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/rest/codespaces/organization-secrets#get-an-organization-public-key) endpoint."
},
"selected_repository_ids": {
"type": "array",
"items": {
"type": "integer"
},
"description": "An array of repository IDs that can access the organization secret. You can only provide a list of repository IDs when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#remove-selected-repository-from-an-organization-secret) endpoints."
}
}
},
"examples": {
"default": {
"value": {
"key_id": "012345678912345678",
"visibility": "selected",
"encrypted_value": "c2VjcmV0",
"selected_repository_ids": [
1296269,
1296280
]
}
}
}
}
},
"required": true
}
PUT /orgs/{org}/codespaces/secrets/{secret_name}
/orgs/{org}/codespaces/secrets/{secret_name}/repositories
Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories
/orgs/{org}/codespaces/secrets/{secret_name}/repositories
Replaces all repositories for an organization development environment secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret). OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"selected_repository_ids"
],
"properties": {
"selected_repository_ids": {
"type": "array",
"items": {
"type": "integer"
},
"description": "An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Set selected repositories for an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#set-selected-repositories-for-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#remove-selected-repository-from-an-organization-secret) endpoints."
}
}
},
"examples": {
"default": {
"value": {
"selected_repository_ids": [
64780797
]
}
}
}
}
},
"required": true
}
PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories
/orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}
Removes a repository from an organization development environment secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret). OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| repository_id | path | required | integer |
DELETE /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}
/orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}
Adds a repository to an organization development environment secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret). OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| repository_id | path | required | integer |
PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}
/orgs/{org}/members/{username}/codespaces
Lists the codespaces that a member of an organization has for repositories in that organization. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/members/{username}/codespaces
/orgs/{org}/members/{username}/codespaces/{codespace_name}
Deletes a user's codespace. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}
/orgs/{org}/members/{username}/codespaces/{codespace_name}/stop
Stops a user's codespace. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop
/repos/{owner}/{repo}/codespaces
Lists the codespaces associated to a specified repository and the authenticated user. OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/codespaces
/repos/{owner}/{repo}/codespaces
Creates a codespace owned by the authenticated user in the specified repository. OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"nullable": true,
"properties": {
"geo": {
"enum": [
"EuropeWest",
"SoutheastAsia",
"UsEast",
"UsWest"
],
"type": "string",
"description": "The geographic area for this codespace. If not specified, the value is assigned by IP. This property replaces `location`, which is closing down."
},
"ref": {
"type": "string",
"description": "Git ref (typically a branch name) for this codespace"
},
"machine": {
"type": "string",
"description": "Machine type to use for this codespace"
},
"location": {
"type": "string",
"description": "The requested location for a new codespace. Best efforts are made to respect this upon creation. Assigned by IP if not provided."
},
"client_ip": {
"type": "string",
"description": "IP for location auto-detection when proxying a request"
},
"display_name": {
"type": "string",
"description": "Display name for this codespace"
},
"devcontainer_path": {
"type": "string",
"description": "Path to devcontainer.json config to use for this codespace"
},
"working_directory": {
"type": "string",
"description": "Working directory for this codespace"
},
"idle_timeout_minutes": {
"type": "integer",
"description": "Time in minutes before codespace stops from inactivity"
},
"retention_period_minutes": {
"type": "integer",
"description": "Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days)."
},
"multi_repo_permissions_opt_out": {
"type": "boolean",
"description": "Whether to authorize requested permissions from devcontainer.json"
}
}
},
"examples": {
"default": {
"value": {
"ref": "main",
"machine": "standardLinux32gb"
}
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/codespaces
/repos/{owner}/{repo}/codespaces/devcontainers
Lists the devcontainer.json files associated with a specified repository and the authenticated user. These files specify launchpoint configurations for codespaces created within the repository. OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/codespaces/devcontainers
/repos/{owner}/{repo}/codespaces/machines
List the machine types available for a given repository based on its configuration. OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| location | query | optional | string | The location to check for available machines. Assigned by IP if not provided. |
| client_ip | query | optional | string | IP for location auto-detection when proxying a request |
| ref | query | optional | string | The branch or commit to check for prebuild availability and devcontainer restrictions. |
GET /repos/{owner}/{repo}/codespaces/machines
/repos/{owner}/{repo}/codespaces/new
Gets the default attributes for codespaces created by the user with the repository. OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| ref | query | optional | string | The branch or commit to check for a default devcontainer path. If not specified, the default branch will be checked. |
| client_ip | query | optional | string | An alternative IP for default location auto-detection, such as when proxying a request. |
GET /repos/{owner}/{repo}/codespaces/new
/repos/{owner}/{repo}/codespaces/permissions_check
Checks whether the permissions defined by a given devcontainer configuration have been accepted by the authenticated user. OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| ref | query | required | string | The git reference that points to the location of the devcontainer configuration to use for the permission check. The value of `ref` will typically be a branch name (`heads/BRANCH_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. |
| devcontainer_path | query | required | string | Path to the devcontainer.json configuration to use for the permission check. |
GET /repos/{owner}/{repo}/codespaces/permissions_check
/repos/{owner}/{repo}/codespaces/secrets
Lists all development environment secrets available in a repository without revealing their encrypted values. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/codespaces/secrets
/repos/{owner}/{repo}/codespaces/secrets/public-key
Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. If the repository is private, OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/codespaces/secrets/public-key
/repos/{owner}/{repo}/codespaces/secrets/{secret_name}
Deletes a development environment secret in a repository using the secret name. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. The associated user must be a repository admin.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}
/repos/{owner}/{repo}/codespaces/secrets/{secret_name}
Gets a single repository development environment secret without revealing its encrypted value. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}
/repos/{owner}/{repo}/codespaces/secrets/{secret_name}
Creates or updates a repository development environment secret with an encrypted value. Encrypt your secret using [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. The associated user must be a repository admin.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"key_id": {
"type": "string",
"description": "ID of the key you used to encrypt the secret."
},
"encrypted_value": {
"type": "string",
"pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$",
"description": "Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/rest/codespaces/repository-secrets#get-a-repository-public-key) endpoint."
}
}
},
"examples": {
"default": {
"value": {
"key_id": "012345678912345678",
"encrypted_value": "c2VjcmV0"
}
}
}
}
},
"required": true
}
PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}
/repos/{owner}/{repo}/pulls/{pull_number}/codespaces
Creates a codespace owned by the authenticated user for the specified pull request. OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"nullable": true,
"properties": {
"geo": {
"enum": [
"EuropeWest",
"SoutheastAsia",
"UsEast",
"UsWest"
],
"type": "string",
"description": "The geographic area for this codespace. If not specified, the value is assigned by IP. This property replaces `location`, which is closing down."
},
"machine": {
"type": "string",
"description": "Machine type to use for this codespace"
},
"location": {
"type": "string",
"description": "The requested location for a new codespace. Best efforts are made to respect this upon creation. Assigned by IP if not provided."
},
"client_ip": {
"type": "string",
"description": "IP for location auto-detection when proxying a request"
},
"display_name": {
"type": "string",
"description": "Display name for this codespace"
},
"devcontainer_path": {
"type": "string",
"description": "Path to devcontainer.json config to use for this codespace"
},
"working_directory": {
"type": "string",
"description": "Working directory for this codespace"
},
"idle_timeout_minutes": {
"type": "integer",
"description": "Time in minutes before codespace stops from inactivity"
},
"retention_period_minutes": {
"type": "integer",
"description": "Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days)."
},
"multi_repo_permissions_opt_out": {
"type": "boolean",
"description": "Whether to authorize requested permissions from devcontainer.json"
}
}
},
"examples": {
"default": {
"value": {
"ref": "main",
"repository_id": 1
}
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces
/user/codespaces
Lists the authenticated user's codespaces. OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /user/codespaces
/user/codespaces
Creates a new codespace, owned by the authenticated user. This endpoint requires either a `repository_id` OR a `pull_request` but not both. OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint.
{
"content": {
"application/json": {
"schema": {
"oneOf": [
{
"type": "object",
"required": [
"repository_id"
],
"properties": {
"geo": {
"enum": [
"EuropeWest",
"SoutheastAsia",
"UsEast",
"UsWest"
],
"type": "string",
"description": "The geographic area for this codespace. If not specified, the value is assigned by IP. This property replaces `location`, which is closing down."
},
"ref": {
"type": "string",
"description": "Git ref (typically a branch name) for this codespace"
},
"machine": {
"type": "string",
"description": "Machine type to use for this codespace"
},
"location": {
"type": "string",
"description": "The requested location for a new codespace. Best efforts are made to respect this upon creation. Assigned by IP if not provided."
},
"client_ip": {
"type": "string",
"description": "IP for location auto-detection when proxying a request"
},
"display_name": {
"type": "string",
"description": "Display name for this codespace"
},
"repository_id": {
"type": "integer",
"description": "Repository id for this codespace"
},
"devcontainer_path": {
"type": "string",
"description": "Path to devcontainer.json config to use for this codespace"
},
"working_directory": {
"type": "string",
"description": "Working directory for this codespace"
},
"idle_timeout_minutes": {
"type": "integer",
"description": "Time in minutes before codespace stops from inactivity"
},
"retention_period_minutes": {
"type": "integer",
"description": "Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days)."
},
"multi_repo_permissions_opt_out": {
"type": "boolean",
"description": "Whether to authorize requested permissions from devcontainer.json"
}
}
},
{
"type": "object",
"required": [
"pull_request"
],
"properties": {
"geo": {
"enum": [
"EuropeWest",
"SoutheastAsia",
"UsEast",
"UsWest"
],
"type": "string",
"description": "The geographic area for this codespace. If not specified, the value is assigned by IP. This property replaces `location`, which is closing down."
},
"machine": {
"type": "string",
"description": "Machine type to use for this codespace"
},
"location": {
"type": "string",
"description": "The requested location for a new codespace. Best efforts are made to respect this upon creation. Assigned by IP if not provided."
},
"pull_request": {
"type": "object",
"required": [
"pull_request_number",
"repository_id"
],
"properties": {
"repository_id": {
"type": "integer",
"description": "Repository id for this codespace"
},
"pull_request_number": {
"type": "integer",
"description": "Pull request number"
}
},
"description": "Pull request number for this codespace"
},
"devcontainer_path": {
"type": "string",
"description": "Path to devcontainer.json config to use for this codespace"
},
"working_directory": {
"type": "string",
"description": "Working directory for this codespace"
},
"idle_timeout_minutes": {
"type": "integer",
"description": "Time in minutes before codespace stops from inactivity"
}
}
}
]
},
"examples": {
"default": {
"value": {
"geo": "UsWest",
"ref": "main",
"repository_id": 1
}
}
}
}
},
"required": true
}
POST /user/codespaces
/user/codespaces/secrets
Lists all development environment secrets available for a user's codespaces without revealing their encrypted values. The authenticated user must have Codespaces access to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /user/codespaces/secrets
/user/codespaces/secrets/public-key
Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. The authenticated user must have Codespaces access to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint.
GET /user/codespaces/secrets/public-key
/user/codespaces/secrets/{secret_name}
Deletes a development environment secret from a user's codespaces using the secret name. Deleting the secret will remove access from all codespaces that were allowed to access the secret. The authenticated user must have Codespaces access to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
DELETE /user/codespaces/secrets/{secret_name}
/user/codespaces/secrets/{secret_name}
Gets a development environment secret available to a user's codespaces without revealing its encrypted value. The authenticated user must have Codespaces access to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /user/codespaces/secrets/{secret_name}
/user/codespaces/secrets/{secret_name}
Creates or updates a development environment secret for a user's codespace with an encrypted value. Encrypt your secret using [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." The authenticated user must have Codespaces access to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"key_id"
],
"properties": {
"key_id": {
"type": "string",
"description": "ID of the key you used to encrypt the secret."
},
"encrypted_value": {
"type": "string",
"pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$",
"description": "Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get the public key for the authenticated user](https://docs.github.com/rest/codespaces/secrets#get-public-key-for-the-authenticated-user) endpoint."
},
"selected_repository_ids": {
"type": "array",
"items": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
]
},
"description": "An array of repository ids that can access the user secret. You can manage the list of selected repositories using the [List selected repositories for a user secret](https://docs.github.com/rest/codespaces/secrets#list-selected-repositories-for-a-user-secret), [Set selected repositories for a user secret](https://docs.github.com/rest/codespaces/secrets#set-selected-repositories-for-a-user-secret), and [Remove a selected repository from a user secret](https://docs.github.com/rest/codespaces/secrets#remove-a-selected-repository-from-a-user-secret) endpoints."
}
}
},
"examples": {
"default": {
"value": {
"key_id": "012345678912345678",
"encrypted_value": "c2VjcmV0",
"selected_repository_ids": [
"1234567",
"2345678"
]
}
}
}
}
},
"required": true
}
PUT /user/codespaces/secrets/{secret_name}
/user/codespaces/secrets/{secret_name}/repositories
List the repositories that have been granted the ability to use a user's development environment secret. The authenticated user must have Codespaces access to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /user/codespaces/secrets/{secret_name}/repositories
/user/codespaces/secrets/{secret_name}/repositories
Select the repositories that will use a user's development environment secret. The authenticated user must have Codespaces access to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"selected_repository_ids"
],
"properties": {
"selected_repository_ids": {
"type": "array",
"items": {
"type": "integer"
},
"description": "An array of repository ids for which a codespace can access the secret. You can manage the list of selected repositories using the [List selected repositories for a user secret](https://docs.github.com/rest/codespaces/secrets#list-selected-repositories-for-a-user-secret), [Add a selected repository to a user secret](https://docs.github.com/rest/codespaces/secrets#add-a-selected-repository-to-a-user-secret), and [Remove a selected repository from a user secret](https://docs.github.com/rest/codespaces/secrets#remove-a-selected-repository-from-a-user-secret) endpoints."
}
}
},
"examples": {
"default": {
"value": {
"selected_repository_ids": [
"1296269",
"1296280"
]
}
}
}
}
},
"required": true
}
PUT /user/codespaces/secrets/{secret_name}/repositories
/user/codespaces/secrets/{secret_name}/repositories/{repository_id}
Removes a repository from the selected repositories for a user's development environment secret. The authenticated user must have Codespaces access to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| repository_id | path | required | integer |
DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}
/user/codespaces/secrets/{secret_name}/repositories/{repository_id}
Adds a repository to the selected repositories for a user's development environment secret. The authenticated user must have Codespaces access to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| repository_id | path | required | integer |
PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}
/user/codespaces/{codespace_name}
Deletes a user's codespace. OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
DELETE /user/codespaces/{codespace_name}
/user/codespaces/{codespace_name}
Gets information about a user's codespace. OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /user/codespaces/{codespace_name}
/user/codespaces/{codespace_name}
Updates a codespace owned by the authenticated user. Currently only the codespace's machine type and recent folders can be modified using this endpoint. If you specify a new machine type it will be applied the next time your codespace is started. OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"machine": {
"type": "string",
"description": "A valid machine to transition this codespace to."
},
"display_name": {
"type": "string",
"description": "Display name for this codespace"
},
"recent_folders": {
"type": "array",
"items": {
"type": "string"
},
"description": "Recently opened folders inside the codespace. It is currently used by the clients to determine the folder path to load the codespace in."
}
}
},
"examples": {
"default": {
"value": {
"machine": "standardLinux"
}
}
}
}
},
"required": false
}
PATCH /user/codespaces/{codespace_name}
/user/codespaces/{codespace_name}/exports
Triggers an export of the specified codespace and returns a URL and ID where the status of the export can be monitored. If changes cannot be pushed to the codespace's repository, they will be pushed to a new or previously-existing fork instead. OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
POST /user/codespaces/{codespace_name}/exports
/user/codespaces/{codespace_name}/exports/{export_id}
Gets information about an export of a codespace. OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /user/codespaces/{codespace_name}/exports/{export_id}
/user/codespaces/{codespace_name}/machines
List the machine types a codespace can transition to use. OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /user/codespaces/{codespace_name}/machines
/user/codespaces/{codespace_name}/publish
Publishes an unpublished codespace, creating a new repository and assigning it to the codespace. The codespace's token is granted write permissions to the repository, allowing the user to push their changes. This will fail for a codespace that is already published, meaning it has an associated repository. OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "A name for the new repository."
},
"private": {
"type": "boolean",
"default": false,
"description": "Whether the new repository should be private."
}
}
},
"examples": {
"default": {
"value": {
"private": false,
"repository": "monalisa-octocat-hello-world-g4wpq6h95q"
}
}
}
}
},
"required": true
}
POST /user/codespaces/{codespace_name}/publish
/user/codespaces/{codespace_name}/start
Starts a user's codespace. OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
POST /user/codespaces/{codespace_name}/start
/user/codespaces/{codespace_name}/stop
Stops a user's codespace. OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
POST /user/codespaces/{codespace_name}/stop
/enterprises/{enterprise}/copilot/metrics/reports/enterprise-1-day
Use this endpoint to retrieve download links for the Copilot enterprise usage metrics report for a specific day. The report provides comprehensive usage data for Copilot features across the enterprise. The report contains aggregated metrics for the specified day, including usage statistics for various Copilot features, user engagement data, and feature adoption metrics. Reports are generated daily and made available for download through signed URLs with a limited expiration time. The response includes download links to the report files, along with the specific date of the report. The report covers a complete day for which data has been processed. Reports are available starting from October 10, 2025, and historical data can be accessed for up to 1 year from the current date. Enterprise owners, billing managers, and authorized users with fine-grained "View Enterprise Copilot Metrics" permission can retrieve Copilot metrics reports for the enterprise. OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `read:enterprise` scopes to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /enterprises/{enterprise}/copilot/metrics/reports/enterprise-1-day
/enterprises/{enterprise}/copilot/metrics/reports/enterprise-28-day/latest
Use this endpoint to retrieve download links for the latest 28-day enterprise Copilot usage metrics report. The report provides comprehensive usage data for Copilot features across the enterprise. The report contains aggregated metrics for the previous 28 days, including usage statistics for various Copilot features, user engagement data, and feature adoption metrics. Reports are generated daily and made available for download through signed URLs with a limited expiration time. The response includes download links to the report files, along with the specific date range covered by the report. The report covers a complete 28-day period ending on the most recent day for which data has been processed. Enterprise owners, billing managers, and authorized users with fine-grained "View Enterprise Copilot Metrics" permission can retrieve Copilot metrics reports for the enterprise. OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `read:enterprise` scopes to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /enterprises/{enterprise}/copilot/metrics/reports/enterprise-28-day/latest
/enterprises/{enterprise}/copilot/metrics/reports/users-1-day
Use this endpoint to retrieve download links for the Copilot user usage metrics report for a specific day. The report provides detailed user-level usage data and engagement metrics for Copilot features across the enterprise. The report contains user-specific metrics for the specified day, including individual user engagement statistics, feature usage patterns, and adoption metrics broken down by user. This report allows authorized users to analyze Copilot usage at the user level to understand adoption patterns and identify opportunities for increased engagement. Reports are generated daily and made available for download through signed URLs with a limited expiration time. The response includes download links to the report files, along with the specific date of the report. The report covers a complete day for which data has been processed. Reports are available starting from October 10, 2025, and historical data can be accessed for up to 1 year from the current date. Enterprise owners, billing managers, and authorized users with fine-grained "View Enterprise Copilot Metrics" permission can retrieve Copilot metrics reports for the enterprise. OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `read:enterprise` scopes to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /enterprises/{enterprise}/copilot/metrics/reports/users-1-day
/enterprises/{enterprise}/copilot/metrics/reports/users-28-day/latest
Use this endpoint to retrieve download links for the latest 28-day enterprise users Copilot usage metrics report. The report provides detailed user-level usage data and engagement metrics for Copilot features across the enterprise. The report contains user-specific metrics for the previous 28 days, including individual user engagement statistics, feature usage patterns, and adoption metrics broken down by user. This report allows authorized users to analyze Copilot usage at the user level to understand adoption patterns and identify opportunities for increased engagement. Reports are generated daily and made available for download through signed URLs with a limited expiration time. The response includes download links to the report files, along with the specific date range covered by the report. The report covers a complete 28-day period ending on the most recent day for which data has been processed. Enterprise owners, billing managers, and authorized users with fine-grained "View Enterprise Copilot Metrics" permission can retrieve Copilot metrics reports for the enterprise. OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `read:enterprise` scopes to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /enterprises/{enterprise}/copilot/metrics/reports/users-28-day/latest
/enterprises/{enterprise}/copilot/policies/coding_agent
Sets the policy for Copilot coding agent usage across an enterprise. Enterprise owners can configure whether Copilot coding agent is enabled for all organizations, disabled for all organizations, configured by individual organization admins, or enabled for selected organizations only. Only enterprise owners can set the coding agent policy for their enterprise. OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `admin:enterprise` scopes to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"policy_state"
],
"properties": {
"policy_state": {
"enum": [
"enabled_for_all_orgs",
"disabled_for_all_orgs",
"enabled_for_selected_orgs",
"configured_by_org_admins"
],
"type": "string",
"description": "The policy state for Copilot coding agent in the enterprise. Can be one of `enabled_for_all_orgs`, `disabled_for_all_orgs`, `enabled_for_selected_orgs`, or `configured_by_org_admins`."
}
}
},
"examples": {
"default": {
"value": {
"policy_state": "enabled_for_all_orgs"
},
"summary": "Enable coding agent for all organizations"
}
}
}
},
"required": true,
"description": "The coding agent policy configuration"
}
PUT /enterprises/{enterprise}/copilot/policies/coding_agent
/enterprises/{enterprise}/copilot/policies/coding_agent/organizations
Disables Copilot coding agent for the specified organizations within the enterprise. The enterprise's coding agent policy must be set to `enabled_for_selected_orgs` before using this endpoint. Organizations can be specified by login or matched via custom properties. Only organizations that have Copilot enabled and belong to the enterprise will be affected. Only enterprise owners can remove organizations from the coding agent policy. OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `admin:enterprise` scopes to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"organizations": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of organization logins within the enterprise to disable Copilot coding agent for."
},
"custom_properties": {
"type": "array",
"items": {
"type": "object",
"required": [
"property_name",
"values"
],
"properties": {
"values": {
"type": "array",
"items": {
"type": "string"
},
"description": "The values of the custom property to match."
},
"property_name": {
"type": "string",
"description": "The name of the custom property to filter by."
}
}
},
"description": "List of custom property filters to match organizations. Organizations matching any of the specified property name/value pairs will be included. This is a one-time operation, setting the property on an organization in the future will not automatically update its coding agent policy."
}
}
},
"examples": {
"default": {
"value": {
"organizations": [
"my-org-1",
"my-org-2"
],
"custom_properties": [
{
"values": [
"engineering",
"security"
],
"property_name": "department"
}
]
},
"summary": "Remove organizations that match a login or have a custom property"
}
}
}
},
"required": true,
"description": "The organizations to disable Copilot coding agent for"
}
DELETE /enterprises/{enterprise}/copilot/policies/coding_agent/organizations
/enterprises/{enterprise}/copilot/policies/coding_agent/organizations
Enables Copilot coding agent for the specified organizations within the enterprise. The enterprise's coding agent policy must be set to `enabled_for_selected_orgs` before using this endpoint. Organizations can be specified by login or matched via custom properties. Only organizations that have Copilot enabled and belong to the enterprise will be affected. Only enterprise owners can add organizations to the coding agent policy. OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `admin:enterprise` scopes to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"organizations": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of organization logins within the enterprise to enable Copilot coding agent for."
},
"custom_properties": {
"type": "array",
"items": {
"type": "object",
"required": [
"property_name",
"values"
],
"properties": {
"values": {
"type": "array",
"items": {
"type": "string"
},
"description": "The values of the custom property to match."
},
"property_name": {
"type": "string",
"description": "The name of the custom property to filter by."
}
}
},
"description": "List of custom property filters to match organizations. Organizations matching any of the specified property name/value pairs will be included. This is a one-time operation, setting the property on an organization in the future will not automatically update its coding agent policy."
}
}
},
"examples": {
"default": {
"value": {
"organizations": [
"my-org-1",
"my-org-2"
],
"custom_properties": [
{
"values": [
"engineering",
"security"
],
"property_name": "department"
}
]
},
"summary": "Add organizations that match a login or have a custom property"
}
}
}
},
"required": true,
"description": "The organizations to enable Copilot coding agent for"
}
POST /enterprises/{enterprise}/copilot/policies/coding_agent/organizations
/orgs/{org}/copilot/billing
> [!NOTE] > This endpoint is in public preview and is subject to change. Gets information about an organization's Copilot subscription, including seat breakdown and feature policies. To configure these settings, go to your organization's settings on GitHub.com. For more information, see "[Managing policies for Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-policies-for-copilot-business-in-your-organization)." Only organization owners can view details about the organization's Copilot Business or Copilot Enterprise subscription. OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `read:org` scopes to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /orgs/{org}/copilot/billing
/orgs/{org}/copilot/billing/seats
> [!NOTE] > This endpoint is in public preview and is subject to change. Lists all Copilot seats for which an organization with a Copilot Business or Copilot Enterprise subscription is currently being billed. Only organization owners can view assigned seats. Each seat object contains information about the assigned user's most recent Copilot activity. Users must have telemetry enabled in their IDE for Copilot in the IDE activity to be reflected in `last_activity_at`. For more information about activity data, see [Metrics data properties for GitHub Copilot](https://docs.github.com/copilot/reference/metrics-data). OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `read:org` scopes to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| per_page | query | optional | integer | The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." |
GET /orgs/{org}/copilot/billing/seats
/orgs/{org}/copilot/billing/selected_teams
> [!NOTE] > This endpoint is in public preview and is subject to change. Sets seats for all members of each team specified to "pending cancellation". This will cause the members of the specified team(s) to lose access to GitHub Copilot at the end of the current billing cycle unless they retain access through another team. For more information about disabling access to Copilot, see "[Revoking access to Copilot for members of your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-access-to-github-copilot-in-your-organization/revoking-access-to-copilot-for-members-of-your-organization)." Only organization owners can cancel Copilot seats for their organization members. The response contains the total number of seats set to "pending cancellation". OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `admin:org` scopes to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"selected_teams"
],
"properties": {
"selected_teams": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"description": "The names of teams from which to revoke access to GitHub Copilot."
}
}
},
"examples": {
"default": {
"value": {
"selected_teams": [
"engteam1",
"engteam2",
"engteam3"
]
}
}
}
}
},
"required": true
}
DELETE /orgs/{org}/copilot/billing/selected_teams
/orgs/{org}/copilot/billing/selected_teams
> [!NOTE] > This endpoint is in public preview and is subject to change. Purchases a GitHub Copilot seat for all users within each specified team. The organization will be billed for each seat based on the organization's Copilot plan. For more information about Copilot pricing, see "[About billing for GitHub Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-the-copilot-subscription-for-your-organization/about-billing-for-github-copilot-in-your-organization)." Only organization owners can purchase Copilot seats for their organization members. The organization must have a Copilot Business or Copilot Enterprise subscription and a configured suggestion matching policy. For more information about setting up a Copilot subscription, see "[Subscribing to Copilot for your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-the-copilot-subscription-for-your-organization/subscribing-to-copilot-for-your-organization)." For more information about setting a suggestion matching policy, see "[Managing policies for Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/setting-policies-for-copilot-in-your-organization/managing-policies-for-copilot-in-your-organization#policies-for-suggestion-matching)." The response contains the total number of new seats that were created and existing seats that were refreshed. OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `admin:org` scopes to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"selected_teams"
],
"properties": {
"selected_teams": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"description": "List of team names within the organization to which to grant access to GitHub Copilot."
}
}
},
"examples": {
"default": {
"value": {
"selected_teams": [
"engteam1",
"engteam2",
"engteam3"
]
}
}
}
}
},
"required": true
}
POST /orgs/{org}/copilot/billing/selected_teams
/orgs/{org}/copilot/billing/selected_users
> [!NOTE] > This endpoint is in public preview and is subject to change. Sets seats for all users specified to "pending cancellation". This will cause the specified users to lose access to GitHub Copilot at the end of the current billing cycle unless they retain access through team membership. For more information about disabling access to Copilot, see "[Revoking access to Copilot for members of your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-access-to-github-copilot-in-your-organization/revoking-access-to-copilot-for-members-of-your-organization)." Only organization owners can cancel Copilot seats for their organization members. The response contains the total number of seats set to "pending cancellation". OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `admin:org` scopes to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"selected_usernames"
],
"properties": {
"selected_usernames": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"description": "The usernames of the organization members for which to revoke access to GitHub Copilot."
}
}
},
"examples": {
"default": {
"value": {
"selected_usernames": [
"cooluser1",
"hacker2",
"octocat"
]
}
}
}
}
},
"required": true
}
DELETE /orgs/{org}/copilot/billing/selected_users
/orgs/{org}/copilot/billing/selected_users
> [!NOTE] > This endpoint is in public preview and is subject to change. Purchases a GitHub Copilot seat for each user specified. The organization will be billed for each seat based on the organization's Copilot plan. For more information about Copilot pricing, see "[About billing for GitHub Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-the-copilot-subscription-for-your-organization/about-billing-for-github-copilot-in-your-organization)." Only organization owners can purchase Copilot seats for their organization members. The organization must have a Copilot Business or Copilot Enterprise subscription and a configured suggestion matching policy. For more information about setting up a Copilot subscription, see "[Subscribing to Copilot for your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-the-copilot-subscription-for-your-organization/subscribing-to-copilot-for-your-organization)." For more information about setting a suggestion matching policy, see "[Managing policies for Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/setting-policies-for-copilot-in-your-organization/managing-policies-for-copilot-in-your-organization#policies-for-suggestion-matching)." The response contains the total number of new seats that were created and existing seats that were refreshed. OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `admin:org` scopes to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"selected_usernames"
],
"properties": {
"selected_usernames": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"description": "The usernames of the organization members to be granted access to GitHub Copilot."
}
}
},
"examples": {
"default": {
"value": {
"selected_usernames": [
"cooluser1",
"hacker2",
"octocat"
]
}
}
}
}
},
"required": true
}
POST /orgs/{org}/copilot/billing/selected_users
/orgs/{org}/copilot/coding-agent/permissions
> [!NOTE] > This endpoint is in public preview and is subject to change. Gets information about which repositories in an organization have been enabled or disabled for the Copilot coding agent. Organization owners can configure whether Copilot coding agent is enabled for all repositories, selected repositories, or no repositories owned by organization. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /orgs/{org}/copilot/coding-agent/permissions
/orgs/{org}/copilot/coding-agent/permissions
> [!NOTE] > This endpoint is in public preview and is subject to change. Sets the policy for which repositories in an organization can use Copilot coding agent. Organization owners can configure whether Copilot coding agent is enabled for all repositories, selected repositories, or no repositories owned by the organization. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"enabled_repositories"
],
"properties": {
"enabled_repositories": {
"enum": [
"all",
"selected",
"none"
],
"type": "string",
"description": "The policy for which repositories can use Copilot coding agent. Can be one of `all`, `selected`, or `none`."
}
}
},
"examples": {
"default": {
"value": {
"enabled_repositories": "selected"
}
}
}
}
},
"required": true
}
PUT /orgs/{org}/copilot/coding-agent/permissions
/orgs/{org}/copilot/coding-agent/permissions/repositories
> [!NOTE] > This endpoint is in public preview and is subject to change. Lists the selected repositories that are enabled for Copilot coding agent in an organization. Organization owners can use this endpoint when the coding agent repository policy is set to `selected` to see which repositories have been enabled. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/copilot/coding-agent/permissions/repositories
/orgs/{org}/copilot/coding-agent/permissions/repositories
> [!NOTE] > This endpoint is in public preview and is subject to change. Replaces the list of selected repositories that are enabled for Copilot coding agent in an organization. This method can only be called when the coding agent repository policy is set to `selected`. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"selected_repository_ids"
],
"properties": {
"selected_repository_ids": {
"type": "array",
"items": {
"type": "integer",
"description": "Unique identifier of the repository."
},
"description": "List of repository IDs to enable for Copilot coding agent."
}
}
},
"examples": {
"default": {
"value": {
"selected_repository_ids": [
32,
42
]
}
}
}
}
},
"required": true
}
PUT /orgs/{org}/copilot/coding-agent/permissions/repositories
/orgs/{org}/copilot/coding-agent/permissions/repositories/{repository_id}
> [!NOTE] > This endpoint is in public preview and is subject to change. Removes a repository from the list of selected repositories enabled for Copilot coding agent in an organization. This method can only be called when the coding agent repository policy is set to `selected`. OAuth app tokens and personal access tokens (classic) need the `admin:org` scopes to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
DELETE /orgs/{org}/copilot/coding-agent/permissions/repositories/{repository_id}
/orgs/{org}/copilot/coding-agent/permissions/repositories/{repository_id}
> [!NOTE] > This endpoint is in public preview and is subject to change. Adds a repository to the list of selected repositories enabled for Copilot coding agent in an organization. This method can only be called when the coding agent repository policy is set to `selected`. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
PUT /orgs/{org}/copilot/coding-agent/permissions/repositories/{repository_id}
/orgs/{org}/copilot/content_exclusion
> [!NOTE] > This endpoint is in public preview and is subject to change. Gets information about an organization's Copilot content exclusion path rules. To configure these settings, go to the organization's settings on GitHub. For more information, see "[Excluding content from GitHub Copilot](https://docs.github.com/copilot/managing-copilot/configuring-and-auditing-content-exclusion/excluding-content-from-github-copilot#configuring-content-exclusions-for-your-organization)." Organization owners can view details about Copilot content exclusion rules for the organization. OAuth app tokens and personal access tokens (classic) need either the `copilot` or `read:org` scopes to use this endpoint. > [!CAUTION] > * At this time, the API does not support comments. This endpoint will not return any comments in the existing rules. > * At this time, the API does not support duplicate keys. If your content exclusion configuration contains duplicate keys, the API will return only the last occurrence of that key. For example, if duplicate entries are present, only the final value will be included in the response.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /orgs/{org}/copilot/content_exclusion
/orgs/{org}/copilot/content_exclusion
> [!NOTE] > This endpoint is in public preview and is subject to change. Sets Copilot content exclusion path rules for an organization. To configure these settings, go to the organization's settings on GitHub. For more information, see "[Excluding content from GitHub Copilot](https://docs.github.com/copilot/managing-copilot/configuring-and-auditing-content-exclusion/excluding-content-from-github-copilot#configuring-content-exclusions-for-your-organization)." Organization owners can set Copilot content exclusion rules for the organization. OAuth app tokens and personal access tokens (classic) need the `copilot` scope to use this endpoint. > [!CAUTION] > * At this time, the API does not support comments. When using this endpoint, any existing comments in your rules will be deleted. > * At this time, the API does not support duplicate keys. If you submit content exclusions through the API with duplicate keys, only the last occurrence will be saved. Earlier entries with the same key will be overwritten.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"description": "The path to the file that will be excluded."
},
{
"type": "object",
"required": [
"ifAnyMatch"
],
"properties": {
"ifAnyMatch": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"ifNoneMatch"
],
"properties": {
"ifNoneMatch": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
}
]
}
}
},
"examples": {
"default": {
"value": {
"octo-repo": [
"/src/some-dir/kernel.rs"
]
},
"summary": "Example of content exclusion paths"
}
}
}
},
"required": true,
"description": "The content exclusion rules to set"
}
PUT /orgs/{org}/copilot/content_exclusion
/orgs/{org}/copilot/metrics
Use this endpoint to see a breakdown of aggregated metrics for various GitHub Copilot features. See the response schema tab for detailed metrics definitions. > [!NOTE] > This endpoint will only return results for a given day if the organization contained **five or more members with active Copilot licenses** on that day, as evaluated at the end of that day. The response contains metrics for up to 100 days prior. Metrics are processed once per day for the previous day, and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, they must have telemetry enabled in their IDE. To access this endpoint, the Copilot Metrics API access policy must be enabled for the organization. Only organization owners and owners and billing managers of the parent enterprise can view Copilot metrics. OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot`, `read:org`, or `read:enterprise` scopes to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| since | query | optional | string | Show usage metrics since this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`). Maximum value is 100 days ago. |
| until | query | optional | string | Show usage metrics until this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`) and should not preceed the `since` date if it is passed. |
| optional | ||||
| per_page | query | optional | integer | The number of days of metrics to display per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." |
GET /orgs/{org}/copilot/metrics
/orgs/{org}/copilot/metrics/reports/organization-1-day
Use this endpoint to retrieve download links for the Copilot organization usage metrics report for a specific day. The report provides comprehensive usage data for Copilot features across the organization. The report contains aggregated metrics for the specified day, including usage statistics for various Copilot features, user engagement data, and feature adoption metrics. Reports are generated daily and made available for download through signed URLs with a limited expiration time. The response includes download links to the report files, along with the specific date of the report. The report covers a complete day for which data has been processed. Organization owners and authorized users with fine-grained "View Organization Copilot Metrics" permission can retrieve Copilot metrics reports for the organization. OAuth app tokens and personal access tokens (classic) need the `read:org` scope to use this endpoint. For more information about organization metrics attribution, see [How are metrics attributed across organizations](https://docs.github.com/copilot/concepts/copilot-metrics#how-are-metrics-attributed-across-organizations).
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /orgs/{org}/copilot/metrics/reports/organization-1-day
/orgs/{org}/copilot/metrics/reports/organization-28-day/latest
Use this endpoint to retrieve download links for the latest 28-day organization Copilot usage metrics report. The report provides comprehensive usage data for Copilot features across the organization. The report contains aggregated metrics for the previous 28 days, including usage statistics for various Copilot features, user engagement data, and feature adoption metrics. Reports are generated daily and made available for download through signed URLs with a limited expiration time. The response includes download links to the report files, along with the specific date range covered by the report. The report covers a complete 28-day period ending on the most recent day for which data has been processed. Organization owners and authorized users with fine-grained "View Organization Copilot Metrics" permission can retrieve Copilot metrics reports for the organization. OAuth app tokens and personal access tokens (classic) need the `read:org` scope to use this endpoint. For more information about organization metrics attribution, see [How are metrics attributed across organizations](https://docs.github.com/copilot/concepts/copilot-metrics#how-are-metrics-attributed-across-organizations).
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /orgs/{org}/copilot/metrics/reports/organization-28-day/latest
/orgs/{org}/copilot/metrics/reports/users-1-day
Use this endpoint to retrieve download links for the Copilot organization user usage metrics report for a specific day. The report provides detailed user-level usage data and engagement metrics for Copilot features across the organization. The report contains user-specific metrics for the specified day, including individual user engagement statistics, feature usage patterns, and adoption metrics broken down by user. This report allows authorized users to analyze Copilot usage at the user level to understand adoption patterns and identify opportunities for increased engagement. Reports are generated daily and made available for download through signed URLs with a limited expiration time. The response includes download links to the report files, along with the specific date of the report. The report covers a complete day for which data has been processed. Organization owners and authorized users with fine-grained "View Organization Copilot Metrics" permission can retrieve Copilot metrics reports for the organization. OAuth app tokens and personal access tokens (classic) need the `read:org` scope to use this endpoint. For more information about organization metrics attribution, see [How are metrics attributed across organizations](https://docs.github.com/copilot/concepts/copilot-metrics#how-are-metrics-attributed-across-organizations).
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /orgs/{org}/copilot/metrics/reports/users-1-day
/orgs/{org}/copilot/metrics/reports/users-28-day/latest
Use this endpoint to retrieve download links for the latest 28-day organization users Copilot usage metrics report. The report provides detailed user-level usage data and engagement metrics for Copilot features across the organization. The report contains user-specific metrics for the previous 28 days, including individual user engagement statistics, feature usage patterns, and adoption metrics broken down by user. This report allows authorized users to analyze Copilot usage at the user level to understand adoption patterns and identify opportunities for increased engagement. Reports are generated daily and made available for download through signed URLs with a limited expiration time. The response includes download links to the report files, along with the specific date range covered by the report. The report covers a complete 28-day period ending on the most recent day for which data has been processed. Organization owners and authorized users with fine-grained "View Organization Copilot Metrics" permission can retrieve Copilot metrics reports for the organization. OAuth app tokens and personal access tokens (classic) need the `read:org` scope to use this endpoint. For more information about organization metrics attribution, see [How are metrics attributed across organizations](https://docs.github.com/copilot/concepts/copilot-metrics#how-are-metrics-attributed-across-organizations).
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /orgs/{org}/copilot/metrics/reports/users-28-day/latest
/orgs/{org}/members/{username}/copilot
> [!NOTE] > This endpoint is in public preview and is subject to change. Gets the GitHub Copilot seat details for a member of an organization who currently has access to GitHub Copilot. The seat object contains information about the user's most recent Copilot activity. Users must have telemetry enabled in their IDE for Copilot in the IDE activity to be reflected in `last_activity_at`. For more information about activity data, see [Metrics data properties for GitHub Copilot](https://docs.github.com/copilot/reference/metrics-data). Only organization owners can view Copilot seat assignment details for members of their organization. OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `read:org` scopes to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /orgs/{org}/members/{username}/copilot
/orgs/{org}/team/{team_slug}/copilot/metrics
Use this endpoint to see a breakdown of aggregated metrics for various GitHub Copilot features. See the response schema tab for detailed metrics definitions. > [!NOTE] > This endpoint will only return results for a given day if the team had **five or more members with active Copilot licenses** on that day, as evaluated at the end of that day. The response contains metrics for up to 100 days prior. Metrics are processed once per day for the previous day, and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, they must have telemetry enabled in their IDE. To access this endpoint, the Copilot Metrics API access policy must be enabled for the organization containing the team within GitHub settings. Only organization owners for the organization that contains this team and owners and billing managers of the parent enterprise can view Copilot metrics for a team. OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot`, `read:org`, or `read:enterprise` scopes to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| since | query | optional | string | Show usage metrics since this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`). Maximum value is 100 days ago. |
| until | query | optional | string | Show usage metrics until this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`) and should not preceed the `since` date if it is passed. |
| optional | ||||
| per_page | query | optional | integer | The number of days of metrics to display per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." |
GET /orgs/{org}/team/{team_slug}/copilot/metrics
/credentials/revoke
Submit a list of credentials to be revoked. This endpoint is intended to revoke credentials the caller does not own and may have found exposed on GitHub.com or elsewhere. It can also be used for credentials associated with an old user account that you no longer have access to. Credential owners will be notified of the revocation. This endpoint currently accepts the following credential types: - Personal access tokens (classic) (`ghp_`) - Fine-grained personal access tokens (`github_pat_`) - OAuth app access tokens (`gho_`) - User-to-server tokens from GitHub Apps (`ghu_`) - Refresh tokens from GitHub Apps (`ghr_`) Revoked credentials may impact users on GitHub Free, Pro, & Team and GitHub Enterprise Cloud, and GitHub Enterprise Cloud with Enterprise Managed Users. GitHub cannot reactivate any credentials that have been revoked; new credentials will need to be generated. To prevent abuse, this API is limited to only 60 unauthenticated requests per hour and a max of 1000 tokens per API request. > [!NOTE] > Any authenticated requests will return a 403.
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"credentials"
],
"properties": {
"credentials": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 1000,
"minItems": 1,
"description": "A list of credentials to be revoked, up to 1000 per request."
}
}
},
"examples": {
"default": {
"value": {
"credentials": [
"ghp_1234567890abcdef1234567890abcdef12345678",
"github_pat_0A1B2C3D4E5F6G7H8I9J0K_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456",
"gho_1234567890abcdef1234567890abcdef12345678",
"ghu_1234567890abcdef1234567890abcdef12345678",
"ghr_1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890ab"
]
}
}
}
}
},
"required": true
}
POST /credentials/revoke
/enterprises/{enterprise}/dependabot/alerts
Lists Dependabot alerts for repositories that are owned by the specified enterprise. The authenticated user must be a member of the enterprise to use this endpoint. Alerts are only returned for organizations in the enterprise for which you are an organization owner or a security manager. For more information about security managers, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /enterprises/{enterprise}/dependabot/alerts
/orgs/{org}/dependabot/alerts
Lists Dependabot alerts for an organization. The authenticated user must be an owner or security manager for the organization to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/dependabot/alerts
/orgs/{org}/dependabot/repository-access
Lists repositories that organization admins have allowed Dependabot to access when updating dependencies. > [!NOTE] > This operation supports both server-to-server and user-to-server access. Unauthorized users will not see the existence of this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| page | query | optional | integer | The page number of results to fetch. |
| per_page | query | optional | integer | Number of results per page. |
GET /orgs/{org}/dependabot/repository-access
/orgs/{org}/dependabot/repository-access
Updates repositories according to the list of repositories that organization admins have given Dependabot access to when they've updated dependencies. > [!NOTE] > This operation supports both server-to-server and user-to-server access. Unauthorized users will not see the existence of this endpoint. **Example request body:** ```json { "repository_ids_to_add": [123, 456], "repository_ids_to_remove": [789] } ```
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"example": {
"repository_ids_to_add": [
123,
456
],
"repository_ids_to_remove": [
789
]
},
"properties": {
"repository_ids_to_add": {
"type": "array",
"items": {
"type": "integer"
},
"description": "List of repository IDs to add."
},
"repository_ids_to_remove": {
"type": "array",
"items": {
"type": "integer"
},
"description": "List of repository IDs to remove."
}
}
},
"examples": {
"204": {
"summary": "Example with a 'succeeded' status."
},
"add-example": {
"value": {
"repository_ids_to_add": [
123,
456
]
},
"summary": "Add repositories"
},
"remove-example": {
"value": {
"repository_ids_to_remove": [
789
]
},
"summary": "Remove repositories"
}
}
}
},
"required": true
}
PATCH /orgs/{org}/dependabot/repository-access
/orgs/{org}/dependabot/repository-access/default-level
Sets the default level of repository access Dependabot will have while performing an update. Available values are: - 'public' - Dependabot will only have access to public repositories, unless access is explicitly granted to non-public repositories. - 'internal' - Dependabot will only have access to public and internal repositories, unless access is explicitly granted to private repositories. Unauthorized users will not see the existence of this endpoint. This operation supports both server-to-server and user-to-server access.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"default_level"
],
"properties": {
"default_level": {
"enum": [
"public",
"internal"
],
"type": "string",
"example": "internal",
"description": "The default repository access level for Dependabot updates."
}
}
},
"examples": {
"204": {
"value": {
"default_level": "public"
},
"summary": "Example with a 'succeeded' status."
}
}
}
},
"required": true
}
PUT /orgs/{org}/dependabot/repository-access/default-level
/orgs/{org}/dependabot/secrets
Lists all secrets available in an organization without revealing their encrypted values. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/dependabot/secrets
/orgs/{org}/dependabot/secrets/public-key
Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /orgs/{org}/dependabot/secrets/public-key
/orgs/{org}/dependabot/secrets/{secret_name}
Deletes a secret in an organization using the secret name. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
DELETE /orgs/{org}/dependabot/secrets/{secret_name}
/orgs/{org}/dependabot/secrets/{secret_name}
Gets a single organization secret without revealing its encrypted value. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /orgs/{org}/dependabot/secrets/{secret_name}
/orgs/{org}/dependabot/secrets/{secret_name}
Creates or updates an organization secret with an encrypted value. Encrypt your secret using [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"visibility"
],
"properties": {
"key_id": {
"type": "string",
"description": "ID of the key you used to encrypt the secret."
},
"visibility": {
"enum": [
"all",
"private",
"selected"
],
"type": "string",
"description": "Which type of organization repositories have access to the organization secret. `selected` means only the repositories specified by `selected_repository_ids` can access the secret."
},
"encrypted_value": {
"type": "string",
"pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$",
"description": "Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/rest/dependabot/secrets#get-an-organization-public-key) endpoint."
},
"selected_repository_ids": {
"type": "array",
"items": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
]
},
"description": "An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/rest/dependabot/secrets#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/dependabot/secrets#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/dependabot/secrets#remove-selected-repository-from-an-organization-secret) endpoints."
}
}
},
"examples": {
"default": {
"value": {
"key_id": "012345678912345678",
"visibility": "selected",
"encrypted_value": "c2VjcmV0",
"selected_repository_ids": [
1296269,
1296280
]
}
}
}
}
},
"required": true
}
PUT /orgs/{org}/dependabot/secrets/{secret_name}
/orgs/{org}/dependabot/secrets/{secret_name}/repositories
Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories
/orgs/{org}/dependabot/secrets/{secret_name}/repositories
Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"selected_repository_ids"
],
"properties": {
"selected_repository_ids": {
"type": "array",
"items": {
"type": "integer"
},
"description": "An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Set selected repositories for an organization secret](https://docs.github.com/rest/dependabot/secrets#set-selected-repositories-for-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/dependabot/secrets#remove-selected-repository-from-an-organization-secret) endpoints."
}
}
},
"examples": {
"default": {
"value": {
"selected_repository_ids": [
64780797
]
}
}
}
}
},
"required": true
}
PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories
/orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}
Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| repository_id | path | required | integer |
DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}
/orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}
Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| repository_id | path | required | integer |
PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}
/repos/{owner}/{repo}/dependabot/alerts
OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/dependabot/alerts
/repos/{owner}/{repo}/dependabot/alerts/{alert_number}
OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}
/repos/{owner}/{repo}/dependabot/alerts/{alert_number}
The authenticated user must have access to security alerts for the repository to use this endpoint. For more information, see "[Granting access to security alerts](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts)." OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"anyOf": [
{
"required": [
"state"
]
},
{
"required": [
"assignees"
]
}
],
"properties": {
"state": {
"enum": [
"dismissed",
"open"
],
"type": "string",
"description": "The state of the Dependabot alert.\nA `dismissed_reason` must be provided when setting the state to `dismissed`."
},
"assignees": {
"type": "array",
"items": {
"type": "string"
},
"description": "Usernames to assign to this Dependabot Alert.\nPass one or more user logins to _replace_ the set of assignees on this alert.\nSend an empty array (`[]`) to clear all assignees from the alert."
},
"dismissed_reason": {
"enum": [
"fix_started",
"inaccurate",
"no_bandwidth",
"not_used",
"tolerable_risk"
],
"type": "string",
"description": "**Required when `state` is `dismissed`.** A reason for dismissing the alert."
},
"dismissed_comment": {
"type": "string",
"maxLength": 280,
"description": "An optional comment associated with dismissing the alert."
}
},
"additionalProperties": false
},
"examples": {
"default": {
"value": {
"state": "dismissed",
"dismissed_reason": "tolerable_risk",
"dismissed_comment": "This alert is accurate but we use a sanitizer."
}
}
}
}
},
"required": true
}
PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}
/repos/{owner}/{repo}/dependabot/secrets
Lists all secrets available in a repository without revealing their encrypted values. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/dependabot/secrets
/repos/{owner}/{repo}/dependabot/secrets/public-key
Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint if the repository is private.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/dependabot/secrets/public-key
/repos/{owner}/{repo}/dependabot/secrets/{secret_name}
Deletes a secret in a repository using the secret name. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}
/repos/{owner}/{repo}/dependabot/secrets/{secret_name}
Gets a single repository secret without revealing its encrypted value. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}
/repos/{owner}/{repo}/dependabot/secrets/{secret_name}
Creates or updates a repository secret with an encrypted value. Encrypt your secret using [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"key_id": {
"type": "string",
"description": "ID of the key you used to encrypt the secret."
},
"encrypted_value": {
"type": "string",
"pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$",
"description": "Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/rest/dependabot/secrets#get-a-repository-public-key) endpoint."
}
}
},
"examples": {
"default": {
"value": {
"key_id": "012345678912345678",
"encrypted_value": "c2VjcmV0"
}
}
}
}
},
"required": true
}
PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}
/repos/{owner}/{repo}/dependency-graph/compare/{basehead}
Gets the diff of the dependency changes between two commits of a repository, based on the changes to the dependency manifests made in those commits.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| basehead | path | required | string | The base and head Git revisions to compare. The Git revisions will be resolved to commit SHAs. Named revisions will be resolved to their corresponding HEAD commits, and an appropriate merge base will be determined. This parameter expects the format `{base}...{head}`. |
| optional |
GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}
/repos/{owner}/{repo}/dependency-graph/sbom
Exports the software bill of materials (SBOM) for a repository in SPDX JSON format.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/dependency-graph/sbom
/repos/{owner}/{repo}/dependency-graph/sbom/fetch-report/{sbom_uuid}
Fetches a previously generated software bill of materials (SBOM) for a repository. When the SBOM is ready, the response is a 302 redirect to a temporary download URL for the SBOM in SPDX JSON format. The generated SBOM report may be retained for up to one week from the original request. The temporary download URL returned by this endpoint expires separately, and its expiry is set when the fetch request is made.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| sbom_uuid | path | required | string | The unique identifier of the SBOM export. |
GET /repos/{owner}/{repo}/dependency-graph/sbom/fetch-report/{sbom_uuid}
/repos/{owner}/{repo}/dependency-graph/sbom/generate-report
Triggers a job to generate a software bill of materials (SBOM) for a repository in SPDX JSON format.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/dependency-graph/sbom/generate-report
/repos/{owner}/{repo}/dependency-graph/snapshots
Create a new snapshot of a repository's dependencies. The authenticated user must have access to the repository. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/snapshot"
},
"examples": {
"example-of-a-dependency-submission": {
"$ref": "#/components/examples/dependency-graph-create-snapshot-request"
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/dependency-graph/snapshots
/emojis
Lists all the emojis available to use on GitHub.
GET /emojis
/enterprises/{enterprise}/teams/{enterprise-team}/memberships
Lists all team members in an enterprise team.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /enterprises/{enterprise}/teams/{enterprise-team}/memberships
/enterprises/{enterprise}/teams/{enterprise-team}/memberships/add
Add multiple team members to an enterprise team.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"usernames"
],
"properties": {
"usernames": {
"type": "array",
"items": {
"type": "string",
"description": "The handle for the GitHub user account."
},
"description": "The GitHub user handles to add to the team."
}
}
},
"examples": {
"default": {
"value": {
"usernames": [
"monalisa",
"octocat"
]
}
}
}
}
},
"required": true
}
POST /enterprises/{enterprise}/teams/{enterprise-team}/memberships/add
/enterprises/{enterprise}/teams/{enterprise-team}/memberships/remove
Remove multiple team members from an enterprise team.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"usernames"
],
"properties": {
"usernames": {
"type": "array",
"items": {
"type": "string",
"description": "The handle for the GitHub user account."
},
"description": "The GitHub user handles to be removed from the team."
}
}
},
"examples": {
"default": {
"value": {
"usernames": [
"monalisa",
"octocat"
]
}
}
}
}
},
"required": true
}
POST /enterprises/{enterprise}/teams/{enterprise-team}/memberships/remove
/enterprises/{enterprise}/teams/{enterprise-team}/memberships/{username}
Remove membership of a specific user from a particular team in an enterprise.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
DELETE /enterprises/{enterprise}/teams/{enterprise-team}/memberships/{username}
/enterprises/{enterprise}/teams/{enterprise-team}/memberships/{username}
Returns whether the user is a member of the enterprise team.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /enterprises/{enterprise}/teams/{enterprise-team}/memberships/{username}
/enterprises/{enterprise}/teams/{enterprise-team}/memberships/{username}
Add a team member to an enterprise team.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
PUT /enterprises/{enterprise}/teams/{enterprise-team}/memberships/{username}
/enterprises/{enterprise}/teams/{enterprise-team}/organizations
Get all organizations assigned to an enterprise team
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /enterprises/{enterprise}/teams/{enterprise-team}/organizations
/enterprises/{enterprise}/teams/{enterprise-team}/organizations/add
Assign an enterprise team to multiple organizations.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"organization_slugs"
],
"properties": {
"organization_slugs": {
"type": "array",
"items": {
"type": "string",
"description": "Organization slug to assign the team to"
},
"description": "Organization slug to assign the team to."
}
}
},
"examples": {
"default": {
"value": {
"organization_slugs": [
"github"
]
}
}
}
}
},
"required": true
}
POST /enterprises/{enterprise}/teams/{enterprise-team}/organizations/add
/enterprises/{enterprise}/teams/{enterprise-team}/organizations/remove
Unassign an enterprise team from multiple organizations.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"organization_slugs"
],
"properties": {
"organization_slugs": {
"type": "array",
"items": {
"type": "string",
"description": "Organization slug to unassign the team from"
},
"description": "Organization slug to unassign the team from."
}
}
},
"examples": {
"default": {
"value": {
"organization_slugs": [
"github"
]
}
}
}
}
},
"required": true
}
POST /enterprises/{enterprise}/teams/{enterprise-team}/organizations/remove
/enterprises/{enterprise}/teams/{enterprise-team}/organizations/{org}
Unassign an enterprise team from an organization.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
DELETE /enterprises/{enterprise}/teams/{enterprise-team}/organizations/{org}
/enterprises/{enterprise}/teams/{enterprise-team}/organizations/{org}
Check if an enterprise team is assigned to an organization
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /enterprises/{enterprise}/teams/{enterprise-team}/organizations/{org}
/enterprises/{enterprise}/teams/{enterprise-team}/organizations/{org}
Assign an enterprise team to an organization.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
PUT /enterprises/{enterprise}/teams/{enterprise-team}/organizations/{org}
/enterprises/{enterprise}/teams
List all teams in the enterprise for the authenticated user
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /enterprises/{enterprise}/teams
/enterprises/{enterprise}/teams
To create an enterprise team, the authenticated user must be an owner of the enterprise.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "The name of the team."
},
"group_id": {
"type": "string",
"nullable": true,
"description": "The ID of the IdP group to assign team membership with. You can get this value from the [REST API endpoints for SCIM](https://docs.github.com/rest/scim#list-provisioned-scim-groups-for-an-enterprise)."
},
"description": {
"type": "string",
"nullable": true,
"description": "A description of the team."
},
"sync_to_organizations": {
"enum": [
"all",
"disabled"
],
"type": "string",
"default": "disabled",
"description": "Retired: this field is no longer supported.\nWhether the enterprise team should be reflected in each organization.\nThis value cannot be set.\n"
},
"organization_selection_type": {
"enum": [
"disabled",
"selected",
"all"
],
"type": "string",
"default": "disabled",
"description": "Specifies which organizations in the enterprise should have access to this team. Can be one of `disabled`, `selected`, or `all`.\n`disabled`: The team is not assigned to any organizations. This is the default when you create a new team.\n`selected`: The team is assigned to specific organizations. You can then use the [add organization assignments API](https://docs.github.com/rest/enterprise-teams/enterprise-team-organizations#add-organization-assignments) endpoint.\n`all`: The team is assigned to all current and future organizations in the enterprise.\n"
}
}
},
"examples": {
"default": {
"value": {
"name": "Justice League",
"group_id": "62ab9291-fae2-468e-974b-7e45096d5021",
"description": "A great team."
}
}
}
}
},
"required": true
}
POST /enterprises/{enterprise}/teams
/enterprises/{enterprise}/teams/{team_slug}
To delete an enterprise team, the authenticated user must be an enterprise owner. If you are an enterprise owner, deleting an enterprise team will delete all of its IdP mappings as well.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
DELETE /enterprises/{enterprise}/teams/{team_slug}
/enterprises/{enterprise}/teams/{team_slug}
Gets a team using the team's slug. To create the slug, GitHub replaces special characters in the name string, changes all words to lowercase, and replaces spaces with a `-` separator and adds the "ent:" prefix. For example, "My TEam Näme" would become `ent:my-team-name`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /enterprises/{enterprise}/teams/{team_slug}
/enterprises/{enterprise}/teams/{team_slug}
To edit a team, the authenticated user must be an enterprise owner.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"nullable": true,
"description": "A new name for the team."
},
"group_id": {
"type": "string",
"nullable": true,
"description": "The ID of the IdP group to assign team membership with. The new IdP group will replace the existing one, or replace existing direct members if the team isn't currently linked to an IdP group."
},
"description": {
"type": "string",
"nullable": true,
"description": "A new description for the team."
},
"sync_to_organizations": {
"enum": [
"all",
"disabled"
],
"type": "string",
"default": "disabled",
"description": "Retired: this field is no longer supported.\nWhether the enterprise team should be reflected in each organization.\nThis value cannot be changed.\n"
},
"organization_selection_type": {
"enum": [
"disabled",
"selected",
"all"
],
"type": "string",
"default": "disabled",
"description": "Specifies which organizations in the enterprise should have access to this team. Can be one of `disabled`, `selected`, or `all`.\n`disabled`: The team is not assigned to any organizations. This is the default when you create a new team.\n`selected`: The team is assigned to specific organizations. You can then use the [add organization assignments API](https://docs.github.com/rest/enterprise-teams/enterprise-team-organizations#add-organization-assignments).\n`all`: The team is assigned to all current and future organizations in the enterprise.\n"
}
}
},
"examples": {
"default": {
"value": {
"name": "Justice League",
"group_id": "62ab9291-fae2-468e-974b-7e45096d5021",
"description": "A great team."
}
}
}
}
},
"required": true
}
PATCH /enterprises/{enterprise}/teams/{team_slug}
/gists
Lists the authenticated user's gists or if called anonymously, this endpoint returns all public gists:
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /gists
/gists
Allows you to add a new gist with one or more files. > [!NOTE] > Don't name your files "gistfile" with a numerical suffix. This is the format of the automatic naming scheme that Gist uses internally.
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"files"
],
"properties": {
"files": {
"type": "object",
"example": {
"hello.rb": {
"content": "puts \"Hello, World!\""
}
},
"description": "Names and content for the files that make up the gist",
"additionalProperties": {
"type": "object",
"required": [
"content"
],
"properties": {
"content": {
"type": "string",
"readOnly": false,
"description": "Content of the file"
}
}
}
},
"public": {
"oneOf": [
{
"type": "boolean",
"default": false,
"example": true,
"description": "Flag indicating whether the gist is public"
},
{
"enum": [
"true",
"false"
],
"type": "string",
"default": "false",
"example": "true"
}
]
},
"description": {
"type": "string",
"example": "Example Ruby script",
"description": "Description of the gist"
}
}
},
"examples": {
"default": {
"value": {
"files": {
"README.md": {
"content": "Hello World"
}
},
"public": false,
"description": "Example of a gist"
},
"summary": "Creating a gist"
}
}
}
},
"required": true
}
POST /gists
/gists/public
List public gists sorted by most recently updated to least recently updated. Note: With [pagination](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api), you can fetch up to 3000 gists. For example, you can fetch 100 pages with 30 gists per page or 30 pages with 100 gists per page.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /gists/public
/gists/starred
List the authenticated user's starred gists:
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /gists/starred
/gists/{gist_id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
DELETE /gists/{gist_id}
/gists/{gist_id}
Gets a specified gist. This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /gists/{gist_id}
/gists/{gist_id}
Allows you to update a gist's description and to update, delete, or rename gist files. Files from the previous version of the gist that aren't explicitly changed during an edit are unchanged. At least one of `description` or `files` is required. This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"nullable": true,
"properties": {
"files": {
"type": "object",
"example": {
"hello.rb": {
"content": "blah",
"filename": "goodbye.rb"
}
},
"description": "The gist files to be updated, renamed, or deleted. Each `key` must match the current filename\n(including extension) of the targeted gist file. For example: `hello.py`.\n\nTo delete a file, set the whole file to null. For example: `hello.py : null`. The file will also be\ndeleted if the specified object does not contain at least one of `content` or `filename`.",
"additionalProperties": {
"type": "object",
"nullable": true,
"properties": {
"content": {
"type": "string",
"description": "The new content of the file."
},
"filename": {
"type": "string",
"nullable": true,
"description": "The new filename for the file."
}
}
}
},
"description": {
"type": "string",
"example": "Example Ruby script",
"description": "The description of the gist."
}
}
},
"examples": {
"deleteFile": {
"value": {
"files": {
"hello.py": null
}
},
"summary": "Deleting a gist file"
},
"renameFile": {
"value": {
"files": {
"hello.py": {
"filename": "goodbye.py"
}
}
},
"summary": "Renaming a gist file"
},
"updateGist": {
"value": {
"files": {
"README.md": {
"content": "Hello World from GitHub"
}
},
"description": "An updated gist description"
},
"summary": "Updating a gist"
}
}
}
},
"required": true
}
PATCH /gists/{gist_id}
/gists/{gist_id}/comments
Lists the comments on a gist. This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /gists/{gist_id}/comments
/gists/{gist_id}/comments
Creates a comment on a gist. This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"body"
],
"properties": {
"body": {
"type": "string",
"example": "Body of the attachment",
"maxLength": 65535,
"description": "The comment text."
}
}
},
"examples": {
"default": {
"value": {
"body": "This is a comment to a gist"
},
"summary": "Creating a comment in a gist"
}
}
}
},
"required": true
}
POST /gists/{gist_id}/comments
/gists/{gist_id}/comments/{comment_id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
DELETE /gists/{gist_id}/comments/{comment_id}
/gists/{gist_id}/comments/{comment_id}
Gets a comment on a gist. This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /gists/{gist_id}/comments/{comment_id}
/gists/{gist_id}/comments/{comment_id}
Updates a comment on a gist. This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"body"
],
"properties": {
"body": {
"type": "string",
"example": "Body of the attachment",
"maxLength": 65535,
"description": "The comment text."
}
}
},
"examples": {
"default": {
"value": {
"body": "This is an update to a comment in a gist"
},
"summary": "Updating a comment in a gist"
}
}
}
},
"required": true
}
PATCH /gists/{gist_id}/comments/{comment_id}
/gists/{gist_id}/commits
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /gists/{gist_id}/commits
/gists/{gist_id}/forks
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /gists/{gist_id}/forks
/gists/{gist_id}/forks
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
POST /gists/{gist_id}/forks
/gists/{gist_id}/star
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
DELETE /gists/{gist_id}/star
/gists/{gist_id}/star
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /gists/{gist_id}/star
/gists/{gist_id}/star
Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
PUT /gists/{gist_id}/star
/gists/{gist_id}/{sha}
Gets a specified gist revision. This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| sha | path | required | string |
GET /gists/{gist_id}/{sha}
/users/{username}/gists
Lists public gists for the specified user:
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /users/{username}/gists
/repos/{owner}/{repo}/git/blobs
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"content"
],
"properties": {
"content": {
"type": "string",
"description": "The new blob's content."
},
"encoding": {
"type": "string",
"default": "utf-8",
"description": "The encoding used for `content`. Currently, `\"utf-8\"` and `\"base64\"` are supported."
}
}
},
"examples": {
"default": {
"value": {
"content": "Content of the blob",
"encoding": "utf-8"
}
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/git/blobs
/repos/{owner}/{repo}/git/blobs/{file_sha}
The `content` in the response will always be Base64 encoded. This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github.raw+json`**: Returns the raw blob data. - **`application/vnd.github+json`**: Returns a JSON representation of the blob with `content` as a base64 encoded string. This is the default if no media type is specified. **Note** This endpoint supports blobs up to 100 megabytes in size.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| file_sha | path | required | string |
GET /repos/{owner}/{repo}/git/blobs/{file_sha}
/repos/{owner}/{repo}/git/commits
Creates a new Git [commit object](https://git-scm.com/book/en/v2/Git-Internals-Git-Objects). **Signature verification object** The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: | Name | Type | Description | | ---- | ---- | ----------- | | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in the table below. | | `signature` | `string` | The signature that was extracted from the commit. | | `payload` | `string` | The value that was signed. | | `verified_at` | `string` | The date the signature was verified by GitHub. | These are the possible values for `reason` in the `verification` object: | Value | Description | | ----- | ----------- | | `expired_key` | The key that made the signature is expired. | | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | | `gpgverify_error` | There was an error communicating with the signature verification service. | | `gpgverify_unavailable` | The signature verification service is currently unavailable. | | `unsigned` | The object does not include a signature. | | `unknown_signature_type` | A non-PGP signature was found in the commit. | | `no_user` | No user was associated with the `committer` email address in the commit. | | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | | `unknown_key` | The key that made the signature has not been registered with any user's account. | | `malformed_signature` | There was an error parsing the signature. | | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | | `valid` | None of the above errors applied, so the signature is considered to be verified. |
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"message",
"tree"
],
"properties": {
"tree": {
"type": "string",
"description": "The SHA of the tree object this commit points to"
},
"author": {
"type": "object",
"required": [
"name",
"email"
],
"properties": {
"date": {
"type": "string",
"format": "date-time",
"description": "Indicates when this commit was authored (or committed). This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`."
},
"name": {
"type": "string",
"description": "The name of the author (or committer) of the commit"
},
"email": {
"type": "string",
"description": "The email of the author (or committer) of the commit"
}
},
"description": "Information about the author of the commit. By default, the `author` will be the authenticated user and the current date. See the `author` and `committer` object below for details."
},
"message": {
"type": "string",
"description": "The commit message"
},
"parents": {
"type": "array",
"items": {
"type": "string"
},
"description": "The full SHAs of the commits that were the parents of this commit. If omitted or empty, the commit will be written as a root commit. For a single parent, an array of one SHA should be provided; for a merge commit, an array of more than one should be provided."
},
"committer": {
"type": "object",
"properties": {
"date": {
"type": "string",
"format": "date-time",
"description": "Indicates when this commit was authored (or committed). This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`."
},
"name": {
"type": "string",
"description": "The name of the author (or committer) of the commit"
},
"email": {
"type": "string",
"description": "The email of the author (or committer) of the commit"
}
},
"description": "Information about the person who is making the commit. By default, `committer` will use the information set in `author`. See the `author` and `committer` object below for details."
},
"signature": {
"type": "string",
"description": "The [PGP signature](https://en.wikipedia.org/wiki/Pretty_Good_Privacy) of the commit. GitHub adds the signature to the `gpgsig` header of the created commit. For a commit signature to be verifiable by Git or GitHub, it must be an ASCII-armored detached PGP signature over the string commit as it would be written to the object database. To pass a `signature` parameter, you need to first manually create a valid PGP signature, which can be complicated. You may find it easier to [use the command line](https://git-scm.com/book/id/v2/Git-Tools-Signing-Your-Work) to create signed commits."
}
}
},
"examples": {
"default": {
"value": {
"tree": "827efc6d56897b048c772eb4087f854f46256132",
"author": {
"date": "2008-07-09T16:13:30+12:00",
"name": "Mona Octocat",
"email": "octocat@github.com"
},
"message": "my commit message",
"parents": [
"7d1b31e74ee336d15cbd21741bc88a537ed063a0"
],
"signature": "-----BEGIN PGP SIGNATURE-----\n\niQIzBAABAQAdFiEESn/54jMNIrGSE6Tp6cQjvhfv7nAFAlnT71cACgkQ6cQjvhfv\n7nCWwA//XVqBKWO0zF+bZl6pggvky3Oc2j1pNFuRWZ29LXpNuD5WUGXGG209B0hI\nDkmcGk19ZKUTnEUJV2Xd0R7AW01S/YSub7OYcgBkI7qUE13FVHN5ln1KvH2all2n\n2+JCV1HcJLEoTjqIFZSSu/sMdhkLQ9/NsmMAzpf/iIM0nQOyU4YRex9eD1bYj6nA\nOQPIDdAuaTQj1gFPHYLzM4zJnCqGdRlg0sOM/zC5apBNzIwlgREatOYQSCfCKV7k\nnrU34X8b9BzQaUx48Qa+Dmfn5KQ8dl27RNeWAqlkuWyv3pUauH9UeYW+KyuJeMkU\n+NyHgAsWFaCFl23kCHThbLStMZOYEnGagrd0hnm1TPS4GJkV4wfYMwnI4KuSlHKB\njHl3Js9vNzEUQipQJbgCgTiWvRJoK3ENwBTMVkKHaqT4x9U4Jk/XZB6Q8MA09ezJ\n3QgiTjTAGcum9E9QiJqMYdWQPWkaBIRRz5cET6HPB48YNXAAUsfmuYsGrnVLYbG+\nUpC6I97VybYHTy2O9XSGoaLeMI9CsFn38ycAxxbWagk5mhclNTP5mezIq6wKSwmr\nX11FW3n1J23fWZn5HJMBsRnUCgzqzX3871IqLYHqRJ/bpZ4h20RhTyPj5c/z7QXp\neSakNQMfbbMcljkha+ZMuVQX1K9aRlVqbmv3ZMWh+OijLYVU2bc=\n=5Io4\n-----END PGP SIGNATURE-----\n"
}
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/git/commits
/repos/{owner}/{repo}/git/commits/{commit_sha}
Gets a Git [commit object](https://git-scm.com/book/en/v2/Git-Internals-Git-Objects). To get the contents of a commit, see "[Get a commit](/rest/commits/commits#get-a-commit)." **Signature verification object** The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: | Name | Type | Description | | ---- | ---- | ----------- | | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in the table below. | | `signature` | `string` | The signature that was extracted from the commit. | | `payload` | `string` | The value that was signed. | | `verified_at` | `string` | The date the signature was verified by GitHub. | These are the possible values for `reason` in the `verification` object: | Value | Description | | ----- | ----------- | | `expired_key` | The key that made the signature is expired. | | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | | `gpgverify_error` | There was an error communicating with the signature verification service. | | `gpgverify_unavailable` | The signature verification service is currently unavailable. | | `unsigned` | The object does not include a signature. | | `unknown_signature_type` | A non-PGP signature was found in the commit. | | `no_user` | No user was associated with the `committer` email address in the commit. | | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | | `unknown_key` | The key that made the signature has not been registered with any user's account. | | `malformed_signature` | There was an error parsing the signature. | | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | | `valid` | None of the above errors applied, so the signature is considered to be verified. |
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/git/commits/{commit_sha}
/repos/{owner}/{repo}/git/matching-refs/{ref}
Returns an array of references from your Git database that match the supplied name. The `:ref` in the URL must be formatted as `heads/<branch name>` for branches and `tags/<tag name>` for tags. If the `:ref` doesn't exist in the repository, but existing refs start with `:ref`, they will be returned as an array. When you use this endpoint without providing a `:ref`, it will return an array of all the references from your Git database, including notes and stashes if they exist on the server. Anything in the namespace is returned, not just `heads` and `tags`. > [!NOTE] > You need to explicitly [request a pull request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". If you request matching references for a branch named `feature` but the branch `feature` doesn't exist, the response can still include other matching head refs that start with the word `feature`, such as `featureA` and `featureB`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/git/matching-refs/{ref}
/repos/{owner}/{repo}/git/ref/{ref}
Returns a single reference from your Git database. The `:ref` in the URL must be formatted as `heads/<branch name>` for branches and `tags/<tag name>` for tags. If the `:ref` doesn't match an existing ref, a `404` is returned. > [!NOTE] > You need to explicitly [request a pull request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)".
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/git/ref/{ref}
/repos/{owner}/{repo}/git/refs
Creates a reference for your repository. You are unable to create new references for empty repositories, even if the commit SHA-1 hash used exists. Empty repositories are repositories without branches.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ref",
"sha"
],
"properties": {
"ref": {
"type": "string",
"description": "The name of the fully qualified reference (ie: `refs/heads/master`). If it doesn't start with 'refs' and have at least two slashes, it will be rejected."
},
"sha": {
"type": "string",
"description": "The SHA1 value for this reference."
}
}
},
"examples": {
"default": {
"value": {
"ref": "refs/heads/featureA",
"sha": "aa218f56b14c9653891f9e74264a383fa43fefbd"
}
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/git/refs
/repos/{owner}/{repo}/git/refs/{ref}
Deletes the provided reference.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}/git/refs/{ref}
/repos/{owner}/{repo}/git/refs/{ref}
Updates the provided reference to point to a new SHA. For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"sha"
],
"properties": {
"sha": {
"type": "string",
"description": "The SHA1 value to set this reference to"
},
"force": {
"type": "boolean",
"default": false,
"description": "Indicates whether to force the update or to make sure the update is a fast-forward update. Leaving this out or setting it to `false` will make sure you're not overwriting work."
}
}
},
"examples": {
"default": {
"value": {
"sha": "aa218f56b14c9653891f9e74264a383fa43fefbd",
"force": true
}
}
}
}
},
"required": true
}
PATCH /repos/{owner}/{repo}/git/refs/{ref}
/repos/{owner}/{repo}/git/tags
Note that creating a tag object does not create the reference that makes a tag in Git. If you want to create an annotated tag in Git, you have to do this call to create the tag object, and then [create](https://docs.github.com/rest/git/refs#create-a-reference) the `refs/tags/[tag]` reference. If you want to create a lightweight tag, you only have to [create](https://docs.github.com/rest/git/refs#create-a-reference) the tag reference - this call would be unnecessary. **Signature verification object** The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: | Name | Type | Description | | ---- | ---- | ----------- | | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | | `signature` | `string` | The signature that was extracted from the commit. | | `payload` | `string` | The value that was signed. | | `verified_at` | `string` | The date the signature was verified by GitHub. | These are the possible values for `reason` in the `verification` object: | Value | Description | | ----- | ----------- | | `expired_key` | The key that made the signature is expired. | | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | | `gpgverify_error` | There was an error communicating with the signature verification service. | | `gpgverify_unavailable` | The signature verification service is currently unavailable. | | `unsigned` | The object does not include a signature. | | `unknown_signature_type` | A non-PGP signature was found in the commit. | | `no_user` | No user was associated with the `committer` email address in the commit. | | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | | `unknown_key` | The key that made the signature has not been registered with any user's account. | | `malformed_signature` | There was an error parsing the signature. | | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | | `valid` | None of the above errors applied, so the signature is considered to be verified. |
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"tag",
"message",
"object",
"type"
],
"properties": {
"tag": {
"type": "string",
"description": "The tag's name. This is typically a version (e.g., \"v0.0.1\")."
},
"type": {
"enum": [
"commit",
"tree",
"blob"
],
"type": "string",
"description": "The type of the object we're tagging. Normally this is a `commit` but it can also be a `tree` or a `blob`."
},
"object": {
"type": "string",
"description": "The SHA of the git object this is tagging."
},
"tagger": {
"type": "object",
"required": [
"name",
"email"
],
"properties": {
"date": {
"type": "string",
"format": "date-time",
"description": "When this object was tagged. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`."
},
"name": {
"type": "string",
"description": "The name of the author of the tag"
},
"email": {
"type": "string",
"description": "The email of the author of the tag"
}
},
"description": "An object with information about the individual creating the tag."
},
"message": {
"type": "string",
"description": "The tag message."
}
}
},
"examples": {
"default": {
"value": {
"tag": "v0.0.1",
"type": "commit",
"object": "c3d0be41ecbe669545ee3e94d31ed9a4bc91ee3c",
"tagger": {
"date": "2011-06-17T14:53:35-07:00",
"name": "Monalisa Octocat",
"email": "octocat@github.com"
},
"message": "initial version"
}
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/git/tags
/repos/{owner}/{repo}/git/tags/{tag_sha}
**Signature verification object** The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: | Name | Type | Description | | ---- | ---- | ----------- | | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | | `signature` | `string` | The signature that was extracted from the commit. | | `payload` | `string` | The value that was signed. | | `verified_at` | `string` | The date the signature was verified by GitHub. | These are the possible values for `reason` in the `verification` object: | Value | Description | | ----- | ----------- | | `expired_key` | The key that made the signature is expired. | | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | | `gpgverify_error` | There was an error communicating with the signature verification service. | | `gpgverify_unavailable` | The signature verification service is currently unavailable. | | `unsigned` | The object does not include a signature. | | `unknown_signature_type` | A non-PGP signature was found in the commit. | | `no_user` | No user was associated with the `committer` email address in the commit. | | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | | `unknown_key` | The key that made the signature has not been registered with any user's account. | | `malformed_signature` | There was an error parsing the signature. | | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | | `valid` | None of the above errors applied, so the signature is considered to be verified. |
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| tag_sha | path | required | string |
GET /repos/{owner}/{repo}/git/tags/{tag_sha}
/repos/{owner}/{repo}/git/trees
The tree creation API accepts nested entries. If you specify both a tree and a nested path modifying that tree, this endpoint will overwrite the contents of the tree with the new path contents, and create a new tree structure. If you use this endpoint to add, delete, or modify the file contents in a tree, you will need to commit the tree and then update a branch to point to the commit. For more information see "[Create a commit](https://docs.github.com/rest/git/commits#create-a-commit)" and "[Update a reference](https://docs.github.com/rest/git/refs#update-a-reference)." Returns an error if you try to delete a file that does not exist.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"tree"
],
"properties": {
"tree": {
"type": "array",
"items": {
"type": "object",
"properties": {
"sha": {
"type": "string",
"nullable": true,
"description": "The SHA1 checksum ID of the object in the tree. Also called `tree.sha`. If the value is `null` then the file will be deleted. \n \n**Note:** Use either `tree.sha` or `content` to specify the contents of the entry. Using both `tree.sha` and `content` will return an error."
},
"mode": {
"enum": [
"100644",
"100755",
"040000",
"160000",
"120000"
],
"type": "string",
"description": "The file mode; one of `100644` for file (blob), `100755` for executable (blob), `040000` for subdirectory (tree), `160000` for submodule (commit), or `120000` for a blob that specifies the path of a symlink."
},
"path": {
"type": "string",
"description": "The file referenced in the tree."
},
"type": {
"enum": [
"blob",
"tree",
"commit"
],
"type": "string",
"description": "Either `blob`, `tree`, or `commit`."
},
"content": {
"type": "string",
"description": "The content you want this file to have. GitHub will write this blob out and use that SHA for this entry. Use either this, or `tree.sha`. \n \n**Note:** Use either `tree.sha` or `content` to specify the contents of the entry. Using both `tree.sha` and `content` will return an error."
}
}
},
"description": "Objects (of `path`, `mode`, `type`, and `sha`) specifying a tree structure."
},
"base_tree": {
"type": "string",
"description": "The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by `base_tree` and entries defined in the `tree` parameter. Entries defined in the `tree` parameter will overwrite items from `base_tree` with the same `path`. If you're creating new changes on a branch, then normally you'd set `base_tree` to the SHA1 of the Git tree object of the current latest commit on the branch you're working on.\nIf not provided, GitHub will create a new Git tree object from only the entries defined in the `tree` parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the `tree` parameter will be listed as deleted by the new commit."
}
}
},
"examples": {
"default": {
"value": {
"tree": [
{
"sha": "44b4fc6d56897b048c772eb4087f854f46256132",
"mode": "100644",
"path": "file.rb",
"type": "blob"
}
],
"base_tree": "9fb037999f264ba9a7fc6274d15fa3ae2ab98312"
}
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/git/trees
/repos/{owner}/{repo}/git/trees/{tree_sha}
Returns a single tree using the SHA1 value or ref name for that tree. If `truncated` is `true` in the response then the number of items in the `tree` array exceeded our maximum limit. If you need to fetch more items, use the non-recursive method of fetching trees, and fetch one sub-tree at a time. > [!NOTE] > The limit for the `tree` array is 100,000 entries with a maximum size of 7 MB when using the `recursive` parameter.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| tree_sha | path | required | string | The SHA1 value or ref (branch or tag) name of the tree. |
| recursive | query | optional | string | Setting this parameter to any value returns the objects or subtrees referenced by the tree specified in `:tree_sha`. For example, setting `recursive` to any of the following will enable returning objects or subtrees: `0`, `1`, `"true"`, and `"false"`. Omit this parameter to prevent recursively returning objects or subtrees. |
GET /repos/{owner}/{repo}/git/trees/{tree_sha}
/gitignore/templates
List all templates available to pass as an option when [creating a repository](https://docs.github.com/rest/repos/repos#create-a-repository-for-the-authenticated-user).
GET /gitignore/templates
/gitignore/templates/{name}
Get the content of a gitignore template. This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github.raw+json`**: Returns the raw .gitignore contents.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| name | path | required | string |
GET /gitignore/templates/{name}
/orgs/{org}/settings/network-configurations
Lists all hosted compute network configurations configured in an organization. OAuth app tokens and personal access tokens (classic) need the `read:network_configurations` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/settings/network-configurations
/orgs/{org}/settings/network-configurations
Creates a hosted compute network configuration for an organization. OAuth app tokens and personal access tokens (classic) need the `write:network_configurations` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"name",
"network_settings_ids"
],
"properties": {
"name": {
"type": "string",
"description": "Name of the network configuration. Must be between 1 and 100 characters and may only contain upper and lowercase letters a-z, numbers 0-9, '.', '-', and '_'."
},
"compute_service": {
"enum": [
"none",
"actions"
],
"type": "string",
"description": "The hosted compute service to use for the network configuration."
},
"network_settings_ids": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 1,
"minItems": 1,
"description": "A list of identifiers of the network settings resources to use for the network configuration. Exactly one resource identifier must be specified in the list."
},
"failover_network_enabled": {
"type": "boolean",
"description": "Indicates whether the failover network resource is enabled."
},
"failover_network_settings_ids": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 1,
"minItems": 0,
"description": "A list of identifiers of the failover network settings resources to use for the network configuration. Exactly one resource identifier must be specified in the list."
}
}
},
"examples": {
"default": {
"value": {
"name": "my-network-configuration",
"compute_service": "actions",
"network_settings_ids": [
"23456789ABDCEF1"
]
}
}
}
}
},
"required": true
}
POST /orgs/{org}/settings/network-configurations
/orgs/{org}/settings/network-configurations/{network_configuration_id}
Deletes a hosted compute network configuration from an organization. OAuth app tokens and personal access tokens (classic) need the `write:network_configurations` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
DELETE /orgs/{org}/settings/network-configurations/{network_configuration_id}
/orgs/{org}/settings/network-configurations/{network_configuration_id}
Gets a hosted compute network configuration configured in an organization. OAuth app tokens and personal access tokens (classic) need the `read:network_configurations` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /orgs/{org}/settings/network-configurations/{network_configuration_id}
/orgs/{org}/settings/network-configurations/{network_configuration_id}
Updates a hosted compute network configuration for an organization. OAuth app tokens and personal access tokens (classic) need the `write:network_configurations` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the network configuration. Must be between 1 and 100 characters and may only contain upper and lowercase letters a-z, numbers 0-9, '.', '-', and '_'."
},
"compute_service": {
"enum": [
"none",
"actions"
],
"type": "string",
"description": "The hosted compute service to use for the network configuration."
},
"network_settings_ids": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 1,
"minItems": 0,
"description": "A list of identifiers of the network settings resources to use for the network configuration. Exactly one resource identifier must be specified in the list."
},
"failover_network_enabled": {
"type": "boolean",
"description": "Indicates whether the failover network resource is enabled."
},
"failover_network_settings_ids": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 1,
"minItems": 0,
"description": "A list of identifiers of the failover network settings resources to use for the network configuration. Exactly one resource identifier must be specified in the list."
}
}
},
"examples": {
"default": {
"value": {
"name": "my-network-configuration",
"compute_service": "actions",
"network_settings_ids": [
"23456789ABDCEF1"
]
}
}
}
}
},
"required": true
}
PATCH /orgs/{org}/settings/network-configurations/{network_configuration_id}
/orgs/{org}/settings/network-settings/{network_settings_id}
Gets a hosted compute network settings resource configured for an organization. OAuth app tokens and personal access tokens (classic) need the `read:network_configurations` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /orgs/{org}/settings/network-settings/{network_settings_id}
/orgs/{org}/interaction-limits
Removes all interaction restrictions from public repositories in the given organization. You must be an organization owner to remove restrictions.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
DELETE /orgs/{org}/interaction-limits
/orgs/{org}/interaction-limits
Shows which type of GitHub user can interact with this organization and when the restriction expires. If there is no restrictions, you will see an empty response.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /orgs/{org}/interaction-limits
/orgs/{org}/interaction-limits
Temporarily restricts interactions to a certain type of GitHub user in any public repository in the given organization. You must be an organization owner to set these restrictions. Setting the interaction limit at the organization level will overwrite any interaction limits that are set for individual repositories owned by the organization.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/interaction-limit"
},
"examples": {
"default": {
"value": {
"limit": "collaborators_only",
"expiry": "one_month"
}
}
}
}
},
"required": true
}
PUT /orgs/{org}/interaction-limits
/repos/{owner}/{repo}/interaction-limits
Removes all interaction restrictions from the given repository. You must have owner or admin access to remove restrictions. If the interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}/interaction-limits
/repos/{owner}/{repo}/interaction-limits
Shows which type of GitHub user can interact with this repository and when the restriction expires. If there are no restrictions, you will see an empty response.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/interaction-limits
/repos/{owner}/{repo}/interaction-limits
Temporarily restricts interactions to a certain type of GitHub user within the given repository. You must have owner or admin access to set these restrictions. If an interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/interaction-limit"
},
"examples": {
"default": {
"value": {
"limit": "collaborators_only",
"expiry": "one_day"
},
"summary": "Example request body"
}
}
}
},
"required": true
}
PUT /repos/{owner}/{repo}/interaction-limits
/user/interaction-limits
Removes any interaction restrictions from your public repositories.
DELETE /user/interaction-limits
/user/interaction-limits
Shows which type of GitHub user can interact with your public repositories and when the restriction expires.
GET /user/interaction-limits
/user/interaction-limits
Temporarily restricts which type of GitHub user can interact with your public repositories. Setting the interaction limit at the user level will overwrite any interaction limits that are set for individual repositories owned by the user.
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/interaction-limit"
},
"examples": {
"default": {
"value": {
"limit": "collaborators_only",
"expiry": "one_month"
}
}
}
}
},
"required": true
}
PUT /user/interaction-limits
/issues
List issues assigned to the authenticated user across all visible repositories including owned repositories, member repositories, and organization repositories. You can use the `filter` query parameter to fetch issues that are not necessarily assigned to you. > [!NOTE] > GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| filter | query | optional | string | Indicates which sorts of issues to return. `assigned` means issues assigned to you. `created` means issues created by you. `mentioned` means issues mentioning you. `subscribed` means issues you're subscribed to updates for. `all` or `repos` means all issues you can see, regardless of participation or creation. |
| state | query | optional | string | Indicates the state of the issues to return. |
| optional | ||||
| sort | query | optional | string | What to sort results by. |
| optional | ||||
| optional | ||||
| collab | query | optional | boolean | |
| orgs | query | optional | boolean | |
| owned | query | optional | boolean | |
| pulls | query | optional | boolean | |
| optional | ||||
| optional |
GET /issues
/orgs/{org}/issues
List issues in an organization assigned to the authenticated user. > [!NOTE] > GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| filter | query | optional | string | Indicates which sorts of issues to return. `assigned` means issues assigned to you. `created` means issues created by you. `mentioned` means issues mentioning you. `subscribed` means issues you're subscribed to updates for. `all` or `repos` means all issues you can see, regardless of participation or creation. |
| state | query | optional | string | Indicates the state of the issues to return. |
| optional | ||||
| type | query | optional | string | Can be the name of an issue type. |
| sort | query | optional | string | What to sort results by. |
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/issues
/repos/{owner}/{repo}/assignees
Lists the [available assignees](https://docs.github.com/articles/assigning-issues-and-pull-requests-to-other-github-users/) for issues in a repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/assignees
/repos/{owner}/{repo}/assignees/{assignee}
Checks if a user has permission to be assigned to an issue in this repository. If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned. Otherwise a `404` status code is returned.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| assignee | path | required | string |
GET /repos/{owner}/{repo}/assignees/{assignee}
/repos/{owner}/{repo}/issues
List issues in a repository. Only open issues will be listed. > [!NOTE] > GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| milestone | query | optional | string | If an `integer` is passed, it should refer to a milestone by its `number` field. If the string `*` is passed, issues with any milestone are accepted. If the string `none` is passed, issues without milestones are returned. |
| state | query | optional | string | Indicates the state of the issues to return. |
| assignee | query | optional | string | Can be the name of a user. Pass in `none` for issues with no assigned user, and `*` for issues assigned to any user. |
| type | query | optional | string | Can be the name of an issue type. If the string `*` is passed, issues with any type are accepted. If the string `none` is passed, issues without type are returned. |
| creator | query | optional | string | The user that created the issue. |
| mentioned | query | optional | string | A user that's mentioned in the issue. |
| optional | ||||
| sort | query | optional | string | What to sort results by. |
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/issues
/repos/{owner}/{repo}/issues
Any user with pull access to a repository can create an issue. If [issues are disabled in the repository](https://docs.github.com/articles/disabling-issues/), the API returns a `410 Gone` status. This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"title"
],
"properties": {
"body": {
"type": "string",
"description": "The contents of the issue."
},
"type": {
"type": "string",
"example": "Epic",
"nullable": true,
"description": "The name of the issue type to associate with this issue. _NOTE: Only users with push access can set the type for new issues. The type is silently dropped otherwise._"
},
"title": {
"oneOf": [
{
"type": "string"
},
{
"type": "integer"
}
],
"description": "The title of the issue."
},
"labels": {
"type": "array",
"items": {
"oneOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"color": {
"type": "string",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
}
}
}
]
},
"description": "Labels to associate with this issue. _NOTE: Only users with push access can set labels for new issues. Labels are silently dropped otherwise._"
},
"assignee": {
"type": "string",
"nullable": true,
"description": "Login for the user that this issue should be assigned to. _NOTE: Only users with push access can set the assignee for new issues. The assignee is silently dropped otherwise. **This field is closing down.**_"
},
"assignees": {
"type": "array",
"items": {
"type": "string"
},
"description": "Logins for Users to assign to this issue. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._"
},
"milestone": {
"oneOf": [
{
"type": "string"
},
{
"type": "integer",
"description": "The `number` of the milestone to associate this issue with. _NOTE: Only users with push access can set the milestone for new issues. The milestone is silently dropped otherwise._"
}
],
"nullable": true
}
}
},
"examples": {
"default": {
"value": {
"body": "I'm having a problem with this.",
"title": "Found a bug",
"labels": [
"bug"
],
"assignees": [
"octocat"
],
"milestone": 1
}
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/issues
/repos/{owner}/{repo}/issues/comments
You can use the REST API to list comments on issues and pull requests for a repository. Every pull request is an issue, but not every issue is a pull request. By default, issue comments are ordered by ascending ID. This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| direction | query | optional | string | Either `asc` or `desc`. Ignored without the `sort` parameter. |
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/issues/comments
/repos/{owner}/{repo}/issues/comments/{comment_id}
You can use the REST API to delete comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}
/repos/{owner}/{repo}/issues/comments/{comment_id}
You can use the REST API to get comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/issues/comments/{comment_id}
/repos/{owner}/{repo}/issues/comments/{comment_id}
You can use the REST API to update comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"body"
],
"properties": {
"body": {
"type": "string",
"description": "The contents of the comment."
}
}
},
"examples": {
"default": {
"value": {
"body": "Me too"
}
}
}
}
},
"required": true
}
PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}
/repos/{owner}/{repo}/issues/comments/{comment_id}/pin
You can use the REST API to unpin comments on issues.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/pin
/repos/{owner}/{repo}/issues/comments/{comment_id}/pin
You can use the REST API to pin comments on issues. This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
PUT /repos/{owner}/{repo}/issues/comments/{comment_id}/pin
/repos/{owner}/{repo}/issues/events
Lists events for a repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/issues/events
/repos/{owner}/{repo}/issues/events/{event_id}
Gets a single event by the event id.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| event_id | path | required | integer |
GET /repos/{owner}/{repo}/issues/events/{event_id}
/repos/{owner}/{repo}/issues/{issue_number}
The API returns a [`301 Moved Permanently` status](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api#follow-redirects) if the issue was [transferred](https://docs.github.com/articles/transferring-an-issue-to-another-repository/) to another repository. If the issue was transferred to or deleted from a repository where the authenticated user lacks read access, the API returns a `404 Not Found` status. If the issue was deleted from a repository where the authenticated user has read access, the API returns a `410 Gone` status. To receive webhook events for transferred and deleted issues, subscribe to the [`issues`](https://docs.github.com/webhooks/event-payloads/#issues) webhook. > [!NOTE] > GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/issues/{issue_number}
/repos/{owner}/{repo}/issues/{issue_number}
Issue owners and users with push access or Triage role can edit an issue. This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"body": {
"type": "string",
"nullable": true,
"description": "The contents of the issue."
},
"type": {
"type": "string",
"example": "Epic",
"nullable": true,
"description": "The name of the issue type to associate with this issue or use `null` to remove the current issue type. Only users with push access can set the type for issues. Without push access to the repository, type changes are silently dropped."
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "The open or closed state of the issue."
},
"title": {
"oneOf": [
{
"type": "string"
},
{
"type": "integer"
}
],
"nullable": true,
"description": "The title of the issue."
},
"labels": {
"type": "array",
"items": {
"oneOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"color": {
"type": "string",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
}
}
}
]
},
"description": "Labels to associate with this issue. Pass one or more labels to _replace_ the set of labels on this issue. Send an empty array (`[]`) to clear all labels from the issue. Only users with push access can set labels for issues. Without push access to the repository, label changes are silently dropped."
},
"assignee": {
"type": "string",
"nullable": true,
"description": "Username to assign to this issue. **This field is closing down.**"
},
"assignees": {
"type": "array",
"items": {
"type": "string"
},
"description": "Usernames to assign to this issue. Pass one or more user logins to _replace_ the set of assignees on this issue. Send an empty array (`[]`) to clear all assignees from the issue. Only users with push access can set assignees for new issues. Without push access to the repository, assignee changes are silently dropped."
},
"milestone": {
"oneOf": [
{
"type": "string"
},
{
"type": "integer",
"description": "The `number` of the milestone to associate this issue with or use `null` to remove the current milestone. Only users with push access can set the milestone for issues. Without push access to the repository, milestone changes are silently dropped."
}
],
"nullable": true
},
"state_reason": {
"enum": [
"completed",
"not_planned",
"duplicate",
"reopened"
],
"type": "string",
"example": "not_planned",
"nullable": true,
"description": "The reason for the state change. Ignored unless `state` is changed."
},
"issue_field_values": {
"type": "array",
"items": {
"type": "object",
"required": [
"field_id",
"value"
],
"properties": {
"value": {
"oneOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "The value to set for the field"
},
"field_id": {
"type": "integer",
"description": "The ID of the issue field to set"
}
},
"additionalProperties": false
},
"description": "An array of issue field values to set on this issue. Each field value must include the field ID and the value to set. Only users with push access can set field values for issues"
}
}
},
"examples": {
"default": {
"value": {
"body": "I'm having a problem with this.",
"state": "open",
"title": "Found a bug",
"labels": [
"bug"
],
"assignees": [
"octocat"
],
"milestone": 1
}
}
}
}
},
"required": false
}
PATCH /repos/{owner}/{repo}/issues/{issue_number}
/repos/{owner}/{repo}/issues/{issue_number}/assignees
Removes one or more assignees from an issue.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"assignees": {
"type": "array",
"items": {
"type": "string"
},
"description": "Usernames of assignees to remove from an issue. _NOTE: Only users with push access can remove assignees from an issue. Assignees are silently ignored otherwise._"
}
}
},
"examples": {
"default": {
"value": {
"assignees": [
"hubot",
"other_user"
]
}
}
}
}
}
}
DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees
/repos/{owner}/{repo}/issues/{issue_number}/assignees
Adds up to 10 assignees to an issue. Users already assigned to an issue are not replaced.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"assignees": {
"type": "array",
"items": {
"type": "string"
},
"description": "Usernames of people to assign this issue to. _NOTE: Only users with push access can add assignees to an issue. Assignees are silently ignored otherwise._"
}
}
},
"examples": {
"default": {
"value": {
"assignees": [
"hubot",
"other_user"
]
}
}
}
}
},
"required": false
}
POST /repos/{owner}/{repo}/issues/{issue_number}/assignees
/repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}
Checks if a user has permission to be assigned to a specific issue. If the `assignee` can be assigned to this issue, a `204` status code with no content is returned. Otherwise a `404` status code is returned.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| assignee | path | required | string |
GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}
/repos/{owner}/{repo}/issues/{issue_number}/comments
You can use the REST API to list comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. Issue comments are ordered by ascending ID. This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/issues/{issue_number}/comments
/repos/{owner}/{repo}/issues/{issue_number}/comments
You can use the REST API to create comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"body"
],
"properties": {
"body": {
"type": "string",
"description": "The contents of the comment."
}
}
},
"examples": {
"default": {
"value": {
"body": "Me too"
}
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/issues/{issue_number}/comments
/repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by
You can use the REST API to list the dependencies an issue is blocked by. This endpoint supports the following custom media types. For more information, see [Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types). - **`application/vnd.github.raw+json`**: Returns the raw Markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - **`application/vnd.github.text+json`**: Returns a text only representation of the Markdown body. Response will include `body_text`. - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's Markdown. Response will include `body_html`. - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by
/repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by
You can use the REST API to add a 'blocked by' relationship to an issue. Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see [Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits) and [Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api). This endpoint supports the following custom media types. For more information, see [Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types). - **`application/vnd.github.raw+json`**: Returns the raw Markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - **`application/vnd.github.text+json`**: Returns a text only representation of the Markdown body. Response will include `body_text`. - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's Markdown. Response will include `body_html`. - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"issue_id"
],
"properties": {
"issue_id": {
"type": "integer",
"description": "The id of the issue that blocks the current issue"
}
}
},
"examples": {
"default": {
"value": {
"issue_id": 1
}
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by
/repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by/{issue_id}
You can use the REST API to remove a dependency that an issue is blocked by. Removing content too quickly using this endpoint may result in secondary rate limiting. For more information, see [Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits) and [Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api). This endpoint supports the following custom media types. For more information, see [Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types). - **`application/vnd.github.raw+json`**: Returns the raw Markdown body. Response will include `body`. This is the default if you do not pass a specific media type. - **`application/vnd.github.text+json`**: Returns a text only representation of the Markdown body. Response will include `body_text`. - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's Markdown. Response will include `body_html`. - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| issue_id | path | required | integer | The id of the blocking issue to remove as a dependency |
DELETE /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by/{issue_id}
/repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocking
You can use the REST API to list the dependencies an issue is blocking. This endpoint supports the following custom media types. For more information, see [Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types). - **`application/vnd.github.raw+json`**: Returns the raw Markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - **`application/vnd.github.text+json`**: Returns a text only representation of the Markdown body. Response will include `body_text`. - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's Markdown. Response will include `body_html`. - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocking
/repos/{owner}/{repo}/issues/{issue_number}/events
Lists all events for an issue.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/issues/{issue_number}/events
/repos/{owner}/{repo}/issues/{issue_number}/issue-field-values
Lists all issue field values for an issue.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/issues/{issue_number}/issue-field-values
/repos/{owner}/{repo}/issues/{issue_number}/labels
Removes all labels from an issue.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels
/repos/{owner}/{repo}/issues/{issue_number}/labels
Lists all labels for an issue.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/issues/{issue_number}/labels
/repos/{owner}/{repo}/issues/{issue_number}/labels
Adds labels to an issue.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"oneOf": [
{
"type": "object",
"properties": {
"labels": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"description": "The names of the labels to add to the issue's existing labels. You can also pass an `array` of labels directly, but GitHub recommends passing an object with the `labels` key. To replace all of the labels for an issue, use \"[Set labels for an issue](https://docs.github.com/rest/issues/labels#set-labels-for-an-issue).\""
}
}
},
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "array",
"items": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string"
}
}
}
}
]
},
"examples": {
"default": {
"value": {
"labels": [
"bug",
"enhancement"
]
}
}
}
}
},
"required": false
}
POST /repos/{owner}/{repo}/issues/{issue_number}/labels
/repos/{owner}/{repo}/issues/{issue_number}/labels
Removes any previous labels and sets the new labels for an issue.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"oneOf": [
{
"type": "object",
"properties": {
"labels": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"description": "The names of the labels to set for the issue. The labels you set replace any existing labels. You can pass an empty array to remove all labels. Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key. You can also add labels to the existing labels for an issue. For more information, see \"[Add labels to an issue](https://docs.github.com/rest/issues/labels#add-labels-to-an-issue).\""
}
}
},
{
"type": "array",
"items": {
"type": "string"
},
"minItems": 1
},
{
"type": "object",
"properties": {
"labels": {
"type": "array",
"items": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string"
}
}
},
"minItems": 1
}
}
},
{
"type": "array",
"items": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string"
}
}
},
"minItems": 1
},
{
"type": "string"
}
]
},
"examples": {
"default": {
"value": {
"labels": [
"bug",
"enhancement"
]
}
}
}
}
},
"required": false
}
PUT /repos/{owner}/{repo}/issues/{issue_number}/labels
/repos/{owner}/{repo}/issues/{issue_number}/labels/{name}
Removes the specified label from the issue, and returns the remaining labels on the issue. This endpoint returns a `404 Not Found` status if the label does not exist.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| name | path | required | string |
DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}
/repos/{owner}/{repo}/issues/{issue_number}/lock
Users with push access can unlock an issue's conversation.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock
/repos/{owner}/{repo}/issues/{issue_number}/lock
Users with push access can lock an issue or pull request's conversation. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"nullable": true,
"properties": {
"lock_reason": {
"enum": [
"off-topic",
"too heated",
"resolved",
"spam"
],
"type": "string",
"description": "The reason for locking the issue or pull request conversation. Lock will fail if you don't use one of these reasons: \n * `off-topic` \n * `too heated` \n * `resolved` \n * `spam`"
}
}
},
"examples": {
"default": {
"value": {
"lock_reason": "off-topic"
},
"summary": "Example of locking an issue as off-topic"
}
}
}
},
"required": false
}
PUT /repos/{owner}/{repo}/issues/{issue_number}/lock
/repos/{owner}/{repo}/issues/{issue_number}/parent
You can use the REST API to get the parent issue of a sub-issue. This endpoint supports the following custom media types. For more information, see [Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types). - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/issues/{issue_number}/parent
/repos/{owner}/{repo}/issues/{issue_number}/sub_issue
You can use the REST API to remove a sub-issue from an issue. Removing content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass a specific media type. - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"sub_issue_id"
],
"properties": {
"sub_issue_id": {
"type": "integer",
"description": "The id of the sub-issue to remove"
}
}
},
"examples": {
"default": {
"value": {
"sub_issue_id": 6
}
}
}
}
},
"required": true
}
DELETE /repos/{owner}/{repo}/issues/{issue_number}/sub_issue
/repos/{owner}/{repo}/issues/{issue_number}/sub_issues
You can use the REST API to list the sub-issues on an issue. This endpoint supports the following custom media types. For more information, see [Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types). - **`application/vnd.github.raw+json`**: Returns the raw Markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - **`application/vnd.github.text+json`**: Returns a text only representation of the Markdown body. Response will include `body_text`. - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's Markdown. Response will include `body_html`. - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/issues/{issue_number}/sub_issues
/repos/{owner}/{repo}/issues/{issue_number}/sub_issues
You can use the REST API to add sub-issues to issues. Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"sub_issue_id"
],
"properties": {
"sub_issue_id": {
"type": "integer",
"description": "The id of the sub-issue to add. The sub-issue must belong to the same repository owner as the parent issue"
},
"replace_parent": {
"type": "boolean",
"description": "Option that, when true, instructs the operation to replace the sub-issues current parent issue"
}
}
},
"examples": {
"default": {
"value": {
"sub_issue_id": 1
}
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/issues/{issue_number}/sub_issues
/repos/{owner}/{repo}/issues/{issue_number}/sub_issues/priority
You can use the REST API to reprioritize a sub-issue to a different position in the parent list.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"sub_issue_id"
],
"properties": {
"after_id": {
"type": "integer",
"description": "The id of the sub-issue to be prioritized after (either positional argument after OR before should be specified)."
},
"before_id": {
"type": "integer",
"description": "The id of the sub-issue to be prioritized before (either positional argument after OR before should be specified)."
},
"sub_issue_id": {
"type": "integer",
"description": "The id of the sub-issue to reprioritize"
}
}
},
"examples": {
"default": {
"value": {
"after_id": 5,
"sub_issue_id": 6
}
}
}
}
},
"required": true
}
PATCH /repos/{owner}/{repo}/issues/{issue_number}/sub_issues/priority
/repos/{owner}/{repo}/issues/{issue_number}/timeline
List all timeline events for an issue.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/issues/{issue_number}/timeline
/repos/{owner}/{repo}/labels
Lists all labels for a repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/labels
/repos/{owner}/{repo}/labels
Creates a label for the specified repository with the given name and color. The name and color parameters are required. The color must be a valid [hexadecimal color code](http://www.color-hex.com/).
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "The name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji . For a full list of available emoji and codes, see \"[Emoji cheat sheet](https://github.com/ikatyang/emoji-cheat-sheet).\""
},
"color": {
"type": "string",
"description": "The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`."
},
"description": {
"type": "string",
"description": "A short description of the label. Must be 100 characters or fewer."
}
}
},
"examples": {
"default": {
"value": {
"name": "bug",
"color": "f29513",
"description": "Something isn't working"
}
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/labels
/repos/{owner}/{repo}/labels/{name}
Deletes a label using the given label name.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| name | path | required | string |
DELETE /repos/{owner}/{repo}/labels/{name}
/repos/{owner}/{repo}/labels/{name}
Gets a label using the given name.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| name | path | required | string |
GET /repos/{owner}/{repo}/labels/{name}
/repos/{owner}/{repo}/labels/{name}
Updates a label using the given label name.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| name | path | required | string |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"color": {
"type": "string",
"description": "The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`."
},
"new_name": {
"type": "string",
"description": "The new name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji . For a full list of available emoji and codes, see \"[Emoji cheat sheet](https://github.com/ikatyang/emoji-cheat-sheet).\""
},
"description": {
"type": "string",
"description": "A short description of the label. Must be 100 characters or fewer."
}
}
},
"examples": {
"default": {
"value": {
"color": "b01f26",
"new_name": "bug :bug:",
"description": "Small bug fix required"
}
}
}
}
},
"required": false
}
PATCH /repos/{owner}/{repo}/labels/{name}
/repos/{owner}/{repo}/milestones
Lists milestones for a repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| state | query | optional | string | The state of the milestone. Either `open`, `closed`, or `all`. |
| sort | query | optional | string | What to sort results by. Either `due_on` or `completeness`. |
| direction | query | optional | string | The direction of the sort. Either `asc` or `desc`. |
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/milestones
/repos/{owner}/{repo}/milestones
Creates a milestone.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"title"
],
"properties": {
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"default": "open",
"description": "The state of the milestone. Either `open` or `closed`."
},
"title": {
"type": "string",
"description": "The title of the milestone."
},
"due_on": {
"type": "string",
"format": "date-time",
"description": "The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`."
},
"description": {
"type": "string",
"description": "A description of the milestone."
}
}
},
"examples": {
"default": {
"value": {
"state": "open",
"title": "v1.0",
"due_on": "2012-10-09T23:39:01Z",
"description": "Tracking milestone for version 1.0"
}
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/milestones
/repos/{owner}/{repo}/milestones/{milestone_number}
Deletes a milestone using the given milestone number.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}/milestones/{milestone_number}
/repos/{owner}/{repo}/milestones/{milestone_number}
Gets a milestone using the given milestone number.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/milestones/{milestone_number}
/repos/{owner}/{repo}/milestones/{milestone_number}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"default": "open",
"description": "The state of the milestone. Either `open` or `closed`."
},
"title": {
"type": "string",
"description": "The title of the milestone."
},
"due_on": {
"type": "string",
"format": "date-time",
"description": "The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`."
},
"description": {
"type": "string",
"description": "A description of the milestone."
}
}
},
"examples": {
"default": {
"value": {
"state": "open",
"title": "v1.0",
"due_on": "2012-10-09T23:39:01Z",
"description": "Tracking milestone for version 1.0"
}
}
}
}
},
"required": false
}
PATCH /repos/{owner}/{repo}/milestones/{milestone_number}
/repos/{owner}/{repo}/milestones/{milestone_number}/labels
Lists labels for issues in a milestone.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels
/repositories/{repository_id}/issues/{issue_number}/issue-field-values
Add custom field values to an issue. You can set values for organization-level issue fields that have been defined for the repository's organization. Adding an empty array will clear all existing field values for the issue. This endpoint supports the following field data types: - **`text`**: String values for text fields - **`single_select`**: Option names for single-select fields (must match an existing option name) - **`number`**: Numeric values for number fields - **`date`**: ISO 8601 date strings for date fields Only users with push access to the repository can add issue field values. If you don't have the proper permissions, you'll receive a `403 Forbidden` response. This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"issue_field_values": {
"type": "array",
"items": {
"type": "object",
"required": [
"field_id",
"value"
],
"properties": {
"value": {
"oneOf": [
{
"type": "string",
"description": "The value to set for text, single_select, or date fields"
},
{
"type": "number",
"description": "The value to set for number fields"
}
],
"example": "Critical",
"description": "The value to set for the field. The type depends on the field's data type:\n- For text fields: provide a string value\n- For single_select fields: provide the option name as a string (must match an existing option)\n- For number fields: provide a numeric value\n- For date fields: provide an ISO 8601 date string"
},
"field_id": {
"type": "integer",
"example": 123,
"description": "The ID of the issue field to set"
}
},
"additionalProperties": false
},
"maxItems": 25,
"description": "An array of issue field values to add to this issue. Each field value must include the field ID and the value to set."
}
}
},
"examples": {
"default": {
"value": {
"issue_field_values": [
{
"value": "Critical",
"field_id": 123
},
{
"value": 5,
"field_id": 456
},
{
"value": "2024-12-31",
"field_id": 789
}
]
},
"summary": "Add multiple field values"
},
"single-field": {
"value": {
"issue_field_values": [
{
"value": "High Priority",
"field_id": 123
}
]
},
"summary": "Add a single field value"
}
}
}
},
"required": true
}
POST /repositories/{repository_id}/issues/{issue_number}/issue-field-values
/repositories/{repository_id}/issues/{issue_number}/issue-field-values
Set custom field values for an issue, replacing any existing values. You can set values for organization-level issue fields that have been defined for the repository's organization. This endpoint supports the following field data types: - **`text`**: String values for text fields - **`single_select`**: Option names for single-select fields (must match an existing option name) - **`number`**: Numeric values for number fields - **`date`**: ISO 8601 date strings for date fields This operation will replace all existing field values with the provided ones. If you want to add field values without replacing existing ones, use the `POST` endpoint instead. Only users with push access to the repository can set issue field values. If you don't have the proper permissions, you'll receive a `403 Forbidden` response. This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"issue_field_values": {
"type": "array",
"items": {
"type": "object",
"required": [
"field_id",
"value"
],
"properties": {
"value": {
"oneOf": [
{
"type": "string",
"description": "The value to set for text, single_select, or date fields"
},
{
"type": "number",
"description": "The value to set for number fields"
}
],
"example": "Critical",
"description": "The value to set for the field. The type depends on the field's data type:\n- For text fields: provide a string value\n- For single_select fields: provide the option name as a string (must match an existing option)\n- For number fields: provide a numeric value\n- For date fields: provide an ISO 8601 date string"
},
"field_id": {
"type": "integer",
"example": 123,
"description": "The ID of the issue field to set"
}
},
"additionalProperties": false
},
"maxItems": 25,
"description": "An array of issue field values to set for this issue. Each field value must include the field ID and the value to set. All existing field values will be replaced."
}
}
},
"examples": {
"default": {
"value": {
"issue_field_values": [
{
"value": "Critical",
"field_id": 123
},
{
"value": 5,
"field_id": 456
},
{
"value": "2024-12-31",
"field_id": 789
}
]
},
"summary": "Set multiple field values"
},
"single-field": {
"value": {
"issue_field_values": [
{
"value": "High Priority",
"field_id": 123
}
]
},
"summary": "Set a single field value"
}
}
}
},
"required": true
}
PUT /repositories/{repository_id}/issues/{issue_number}/issue-field-values
/repositories/{repository_id}/issues/{issue_number}/issue-field-values/{issue_field_id}
Remove a specific custom field value from an issue. Only users with push access to the repository can delete issue field values. If you don't have the proper permissions, you'll receive a `403 Forbidden` response. If the specified field does not have a value set on the issue, this operation will return a `404` error. This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
DELETE /repositories/{repository_id}/issues/{issue_number}/issue-field-values/{issue_field_id}
/user/issues
List issues across owned and member repositories assigned to the authenticated user. > [!NOTE] > GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| filter | query | optional | string | Indicates which sorts of issues to return. `assigned` means issues assigned to you. `created` means issues created by you. `mentioned` means issues mentioning you. `subscribed` means issues you're subscribed to updates for. `all` or `repos` means all issues you can see, regardless of participation or creation. |
| state | query | optional | string | Indicates the state of the issues to return. |
| optional | ||||
| sort | query | optional | string | What to sort results by. |
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /user/issues
/licenses
Lists the most commonly used licenses on GitHub. For more information, see "[Licensing a repository ](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| featured | query | optional | boolean | |
| optional | ||||
| optional |
GET /licenses
/licenses/{license}
Gets information about a specific license. For more information, see "[Licensing a repository ](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| license | path | required | string |
GET /licenses/{license}
/repos/{owner}/{repo}/license
This method returns the contents of the repository's license file, if one is detected. This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github.raw+json`**: Returns the raw contents of the license. - **`application/vnd.github.html+json`**: Returns the license contents in HTML. Markup languages are rendered to HTML using GitHub's open-source [Markup library](https://github.com/github/markup).
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/license
/markdown
Depending on what is rendered in the Markdown, you may need to provide additional token scopes for labels, such as `issues:read` or `pull_requests:read`.
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"text"
],
"properties": {
"mode": {
"enum": [
"markdown",
"gfm"
],
"type": "string",
"default": "markdown",
"example": "markdown",
"description": "The rendering mode."
},
"text": {
"type": "string",
"description": "The Markdown text to render in HTML."
},
"context": {
"type": "string",
"description": "The repository context to use when creating references in `gfm` mode. For example, setting `context` to `octo-org/octo-repo` will change the text `#42` into an HTML link to issue 42 in the `octo-org/octo-repo` repository."
}
}
},
"examples": {
"default": {
"value": {
"text": "Hello **world**"
},
"summary": "Rendering markdown"
}
}
}
},
"required": true
}
POST /markdown
/markdown/raw
You must send Markdown as plain text (using a `Content-Type` header of `text/plain` or `text/x-markdown`) to this endpoint, rather than using JSON format. In raw mode, [GitHub Flavored Markdown](https://github.github.com/gfm/) is not supported and Markdown will be rendered in plain format like a README.md file. Markdown content must be 400 KB or less.
{
"content": {
"text/plain": {
"schema": {
"type": "string"
},
"examples": {
"default": {
"value": {
"text": "Hello **world**"
}
}
}
},
"text/x-markdown": {
"schema": {
"type": "string"
},
"examples": {
"default": {
"value": {
"text": "Hello **world**"
},
"summary": "Rendering markdown"
}
}
}
},
"required": false
}
POST /markdown/raw
/
Get Hypermedia links to resources accessible in GitHub's REST API
GET /
/meta
Returns meta information about GitHub, including a list of GitHub's IP addresses. For more information, see "[About GitHub's IP addresses](https://docs.github.com/articles/about-github-s-ip-addresses/)." The API's response also includes a list of GitHub's domain names. The values shown in the documentation's response are example values. You must always query the API directly to get the latest values. > [!NOTE] > This endpoint returns both IPv4 and IPv6 addresses. However, not all features support IPv6. You should refer to the specific documentation for each feature to determine if IPv6 is supported.
GET /meta
/octocat
Get the octocat as ASCII art
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| s | query | optional | string | The words to show in Octocat's speech bubble |
GET /octocat
/versions
Get all supported GitHub API versions.
GET /versions
/zen
Get a random sentence from the Zen of GitHub
GET /zen
/orgs/{org}/migrations
Lists the most recent migrations, including both exports (which can be started through the REST API) and imports (which cannot be started using the REST API). A list of `repositories` is only returned for export migrations.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| exclude | query | optional | array | Exclude attributes from the API response to improve performance |
GET /orgs/{org}/migrations
/orgs/{org}/migrations
Initiates the generation of a migration archive.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"repositories"
],
"properties": {
"exclude": {
"type": "array",
"items": {
"enum": [
"repositories"
],
"type": "string"
},
"description": "Exclude related items from being returned in the response in order to improve performance of the request."
},
"repositories": {
"type": "array",
"items": {
"type": "string"
},
"description": "A list of arrays indicating which repositories should be migrated."
},
"exclude_git_data": {
"type": "boolean",
"default": false,
"description": "Indicates whether the repository git data should be excluded from the migration."
},
"exclude_metadata": {
"type": "boolean",
"default": false,
"description": "Indicates whether metadata should be excluded and only git source should be included for the migration."
},
"exclude_releases": {
"type": "boolean",
"default": false,
"example": true,
"description": "Indicates whether releases should be excluded from the migration (to reduce migration archive file size)."
},
"lock_repositories": {
"type": "boolean",
"default": false,
"example": true,
"description": "Indicates whether repositories should be locked (to prevent manipulation) while migrating data."
},
"org_metadata_only": {
"type": "boolean",
"default": false,
"example": true,
"description": "Indicates whether this should only include organization metadata (repositories array should be empty and will ignore other flags)."
},
"exclude_attachments": {
"type": "boolean",
"default": false,
"example": true,
"description": "Indicates whether attachments should be excluded from the migration (to reduce migration archive file size)."
},
"exclude_owner_projects": {
"type": "boolean",
"default": false,
"example": true,
"description": "Indicates whether projects owned by the organization or users should be excluded. from the migration."
}
}
},
"examples": {
"default": {
"value": {
"repositories": [
"github/Hello-World"
],
"lock_repositories": true
}
}
}
}
},
"required": true
}
POST /orgs/{org}/migrations
/orgs/{org}/migrations/{migration_id}
Fetches the status of a migration. The `state` of a migration can be one of the following values: * `pending`, which means the migration hasn't started yet. * `exporting`, which means the migration is in progress. * `exported`, which means the migration finished successfully. * `failed`, which means the migration failed.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| exclude | query | optional | array | Exclude attributes from the API response to improve performance |
GET /orgs/{org}/migrations/{migration_id}
/orgs/{org}/migrations/{migration_id}/archive
Deletes a previous migration archive. Migration archives are automatically deleted after seven days.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
DELETE /orgs/{org}/migrations/{migration_id}/archive
/orgs/{org}/migrations/{migration_id}/archive
Fetches the URL to a migration archive.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /orgs/{org}/migrations/{migration_id}/archive
/orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock
Unlocks a repository that was locked for migration. You should unlock each migrated repository and [delete them](https://docs.github.com/rest/repos/repos#delete-a-repository) when the migration is complete and you no longer need the source data.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock
/orgs/{org}/migrations/{migration_id}/repositories
List all the repositories for this organization migration.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/migrations/{migration_id}/repositories
/user/migrations
Lists all migrations a user has started.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /user/migrations
/user/migrations
Initiates the generation of a user migration archive.
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"repositories"
],
"properties": {
"exclude": {
"type": "array",
"items": {
"enum": [
"repositories"
],
"type": "string",
"example": "repositories",
"description": "Allowed values that can be passed to the exclude param."
},
"example": [
"repositories"
],
"readOnly": false,
"description": "Exclude attributes from the API response to improve performance"
},
"repositories": {
"type": "array",
"items": {
"type": "string",
"example": "acme/widgets",
"description": "Repository path, owner and name"
}
},
"exclude_git_data": {
"type": "boolean",
"example": true,
"readOnly": false,
"description": "Indicates whether the repository git data should be excluded from the migration."
},
"exclude_metadata": {
"type": "boolean",
"example": true,
"readOnly": false,
"description": "Indicates whether metadata should be excluded and only git source should be included for the migration."
},
"exclude_releases": {
"type": "boolean",
"example": true,
"readOnly": false,
"description": "Do not include releases in the migration"
},
"lock_repositories": {
"type": "boolean",
"example": true,
"readOnly": false,
"description": "Lock the repositories being migrated at the start of the migration"
},
"org_metadata_only": {
"type": "boolean",
"default": false,
"example": true,
"description": "Indicates whether this should only include organization metadata (repositories array should be empty and will ignore other flags)."
},
"exclude_attachments": {
"type": "boolean",
"example": true,
"readOnly": false,
"description": "Do not include attachments in the migration"
},
"exclude_owner_projects": {
"type": "boolean",
"example": true,
"readOnly": false,
"description": "Indicates whether projects owned by the organization or users should be excluded."
}
}
},
"examples": {
"default": {
"value": {
"repositories": [
"octocat/Hello-World"
],
"lock_repositories": true
}
}
}
}
},
"required": true
}
POST /user/migrations
/user/migrations/{migration_id}
Fetches a single user migration. The response includes the `state` of the migration, which can be one of the following values: * `pending` - the migration hasn't started yet. * `exporting` - the migration is in progress. * `exported` - the migration finished successfully. * `failed` - the migration failed. Once the migration has been `exported` you can [download the migration archive](https://docs.github.com/rest/migrations/users#download-a-user-migration-archive).
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| exclude | query | optional | array |
GET /user/migrations/{migration_id}
/user/migrations/{migration_id}/archive
Deletes a previous migration archive. Downloadable migration archives are automatically deleted after seven days. Migration metadata, which is returned in the [List user migrations](https://docs.github.com/rest/migrations/users#list-user-migrations) and [Get a user migration status](https://docs.github.com/rest/migrations/users#get-a-user-migration-status) endpoints, will continue to be available even after an archive is deleted.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
DELETE /user/migrations/{migration_id}/archive
/user/migrations/{migration_id}/archive
Fetches the URL to download the migration archive as a `tar.gz` file. Depending on the resources your repository uses, the migration archive can contain JSON files with data for these objects: * attachments * bases * commit\_comments * issue\_comments * issue\_events * issues * milestones * organizations * projects * protected\_branches * pull\_request\_reviews * pull\_requests * releases * repositories * review\_comments * schema * users The archive will also contain an `attachments` directory that includes all attachment files uploaded to GitHub.com and a `repositories` directory that contains the repository's Git data.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /user/migrations/{migration_id}/archive
/user/migrations/{migration_id}/repos/{repo_name}/lock
Unlocks a repository. You can lock repositories when you [start a user migration](https://docs.github.com/rest/migrations/users#start-a-user-migration). Once the migration is complete you can unlock each repository to begin using it again or [delete the repository](https://docs.github.com/rest/repos/repos#delete-a-repository) if you no longer need the source data. Returns a status of `404 Not Found` if the repository is not locked.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock
/user/migrations/{migration_id}/repositories
Lists all the repositories for this user migration.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /user/migrations/{migration_id}/repositories
/enterprises/{enterprise}/actions/oidc/customization/properties/repo
Lists the repository custom properties that are included in the OIDC token for repository actions in an enterprise. OAuth app tokens and personal access tokens (classic) need the `admin:enterprise` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /enterprises/{enterprise}/actions/oidc/customization/properties/repo
/enterprises/{enterprise}/actions/oidc/customization/properties/repo
Adds a repository custom property to be included in the OIDC token for repository actions in an enterprise. OAuth app tokens and personal access tokens (classic) need the `admin:enterprise` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/oidc-custom-property-inclusion-input"
},
"examples": {
"default": {
"$ref": "#/components/examples/oidc-custom-property-inclusion"
}
}
}
},
"required": true
}
POST /enterprises/{enterprise}/actions/oidc/customization/properties/repo
/enterprises/{enterprise}/actions/oidc/customization/properties/repo/{custom_property_name}
Removes a repository custom property from being included in the OIDC token for repository actions in an enterprise. OAuth app tokens and personal access tokens (classic) need the `admin:enterprise` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| custom_property_name | path | required | string | The name of the custom property to remove from OIDC token inclusion |
DELETE /enterprises/{enterprise}/actions/oidc/customization/properties/repo/{custom_property_name}
/orgs/{org}/actions/oidc/customization/properties/repo
Lists the repository custom properties that are included in the OIDC token for repository actions in an organization. OAuth app tokens and personal access tokens (classic) need the `read:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /orgs/{org}/actions/oidc/customization/properties/repo
/orgs/{org}/actions/oidc/customization/properties/repo
Adds a repository custom property to be included in the OIDC token for repository actions in an organization. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/oidc-custom-property-inclusion-input"
},
"examples": {
"default": {
"$ref": "#/components/examples/oidc-custom-property-inclusion"
}
}
}
},
"required": true
}
POST /orgs/{org}/actions/oidc/customization/properties/repo
/orgs/{org}/actions/oidc/customization/properties/repo/{custom_property_name}
Removes a repository custom property from being included in the OIDC token for repository actions in an organization. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| custom_property_name | path | required | string | The name of the custom property to remove from OIDC token inclusion |
DELETE /orgs/{org}/actions/oidc/customization/properties/repo/{custom_property_name}
/orgs/{org}/actions/oidc/customization/sub
Gets the customization template for an OpenID Connect (OIDC) subject claim. OAuth app tokens and personal access tokens (classic) need the `read:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /orgs/{org}/actions/oidc/customization/sub
/orgs/{org}/actions/oidc/customization/sub
Creates or updates the customization template for an OpenID Connect (OIDC) subject claim. OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"title": "Actions OIDC Subject customization",
"properties": {
"include_claim_keys": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of unique strings. Each claim key can only contain alphanumeric characters and underscores."
}
},
"description": "Actions OIDC Subject customization"
},
"examples": {
"default": {
"$ref": "#/components/examples/oidc-custom-sub"
}
}
}
},
"required": true
}
PUT /orgs/{org}/actions/oidc/customization/sub
/organizations
Lists all organizations, in the order that they were created. > [!NOTE] > Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of organizations.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /organizations
/orgs/{org}
Deletes an organization and all its repositories. The organization login will be unavailable for 90 days after deletion. Please review the Terms of Service regarding account deletion before using this endpoint: https://docs.github.com/site-policy/github-terms/github-terms-of-service
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
DELETE /orgs/{org}
/orgs/{org}
Gets information about an organization. When the value of `two_factor_requirement_enabled` is `true`, the organization requires all members, billing managers, outside collaborators, guest collaborators, repository collaborators, or everyone with access to any repository within the organization to enable [two-factor authentication](https://docs.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/). To see the full details about an organization, the authenticated user must be an organization owner. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to see the full details about an organization. To see information about an organization's GitHub plan, GitHub Apps need the `Organization plan` permission.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /orgs/{org}
/orgs/{org}
> [!WARNING] > **Closing down notice:** GitHub will replace and discontinue `members_allowed_repository_creation_type` in favor of more granular permissions. The new input parameters are `members_can_create_public_repositories`, `members_can_create_private_repositories` for all organizations and `members_can_create_internal_repositories` for organizations associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes). > [!WARNING] > **Closing down notice:** Code security product enablement for new repositories through the organization API is closing down. Please use [code security configurations](https://docs.github.com/rest/code-security/configurations#set-a-code-security-configuration-as-a-default-for-an-organization) to set defaults instead. For more information on setting a default security configuration, see the [changelog](https://github.blog/changelog/2024-07-09-sunsetting-security-settings-defaults-parameters-in-the-organizations-rest-api/). Updates the organization's profile and member privileges. The authenticated user must be an organization owner to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `admin:org` or `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"blog": {
"type": "string",
"example": "\"http://github.blog\""
},
"name": {
"type": "string",
"description": "The shorthand name of the company."
},
"email": {
"type": "string",
"description": "The publicly visible email address."
},
"company": {
"type": "string",
"description": "The company name."
},
"location": {
"type": "string",
"description": "The location."
},
"description": {
"type": "string",
"description": "The description of the company. The maximum size is 160 characters."
},
"billing_email": {
"type": "string",
"description": "Billing email address. This address is not publicized."
},
"twitter_username": {
"type": "string",
"description": "The Twitter username of the company."
},
"has_repository_projects": {
"type": "boolean",
"description": "Whether repositories that belong to the organization can use repository projects."
},
"members_can_create_pages": {
"type": "boolean",
"default": true,
"description": "Whether organization members can create GitHub Pages sites. Existing published sites will not be impacted."
},
"has_organization_projects": {
"type": "boolean",
"description": "Whether an organization can use organization projects."
},
"web_commit_signoff_required": {
"type": "boolean",
"default": false,
"description": "Whether contributors to organization repositories are required to sign off on commits they make through GitHub's web interface."
},
"default_repository_permission": {
"enum": [
"read",
"write",
"admin",
"none"
],
"type": "string",
"default": "read",
"description": "Default permission level members have for organization repositories."
},
"members_can_create_public_pages": {
"type": "boolean",
"default": true,
"description": "Whether organization members can create public GitHub Pages sites. Existing published sites will not be impacted."
},
"members_can_create_repositories": {
"type": "boolean",
"default": true,
"description": "Whether of non-admin organization members can create repositories. **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details."
},
"members_can_create_private_pages": {
"type": "boolean",
"default": true,
"description": "Whether organization members can create private GitHub Pages sites. Existing published sites will not be impacted."
},
"deploy_keys_enabled_for_repositories": {
"type": "boolean",
"description": "Controls whether or not deploy keys may be added and used for repositories in the organization."
},
"members_can_fork_private_repositories": {
"type": "boolean",
"default": false,
"description": "Whether organization members can fork private organization repositories."
},
"members_can_create_public_repositories": {
"type": "boolean",
"description": "Whether organization members can create public repositories, which are visible to anyone. For more information, see \"[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)\" in the GitHub Help documentation."
},
"members_can_create_private_repositories": {
"type": "boolean",
"description": "Whether organization members can create private repositories, which are visible to organization members with permission. For more information, see \"[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)\" in the GitHub Help documentation."
},
"members_allowed_repository_creation_type": {
"enum": [
"all",
"private",
"none"
],
"type": "string",
"description": "Specifies which types of repositories non-admin organization members can create. `private` is only available to repositories that are part of an organization on GitHub Enterprise Cloud. \n**Note:** This parameter is closing down and will be removed in the future. Its return value ignores internal repositories. Using this parameter overrides values set in `members_can_create_repositories`. See the parameter deprecation notice in the operation description for details."
},
"members_can_create_internal_repositories": {
"type": "boolean",
"description": "Whether organization members can create internal repositories, which are visible to all enterprise members. You can only allow members to create internal repositories if your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see \"[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)\" in the GitHub Help documentation."
},
"secret_scanning_push_protection_custom_link": {
"type": "string",
"description": "If `secret_scanning_push_protection_custom_link_enabled` is true, the URL that will be displayed to contributors who are blocked from pushing a secret."
},
"secret_scanning_enabled_for_new_repositories": {
"type": "boolean",
"deprecated": true,
"description": "**Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead.\n\nWhether secret scanning is automatically enabled for new repositories and repositories transferred to this organization.\n\nTo use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).\"\n\nYou can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request."
},
"dependency_graph_enabled_for_new_repositories": {
"type": "boolean",
"deprecated": true,
"description": "**Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead.\n\nWhether dependency graph is automatically enabled for new repositories and repositories transferred to this organization.\n\nTo use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).\"\n\nYou can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request."
},
"advanced_security_enabled_for_new_repositories": {
"type": "boolean",
"deprecated": true,
"description": "**Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead.\n\nWhether GitHub Advanced Security is automatically enabled for new repositories and repositories transferred to this organization.\n\nTo use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).\"\n\nYou can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request."
},
"dependabot_alerts_enabled_for_new_repositories": {
"type": "boolean",
"deprecated": true,
"description": "**Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead.\n\nWhether Dependabot alerts are automatically enabled for new repositories and repositories transferred to this organization.\n\nTo use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).\"\n\nYou can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request."
},
"secret_scanning_push_protection_custom_link_enabled": {
"type": "boolean",
"description": "Whether a custom link is shown to contributors who are blocked from pushing a secret by push protection."
},
"dependabot_security_updates_enabled_for_new_repositories": {
"type": "boolean",
"deprecated": true,
"description": "**Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead.\n\nWhether Dependabot security updates are automatically enabled for new repositories and repositories transferred to this organization.\n\nTo use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).\"\n\nYou can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request."
},
"secret_scanning_push_protection_enabled_for_new_repositories": {
"type": "boolean",
"deprecated": true,
"description": "**Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead.\n\nWhether secret scanning push protection is automatically enabled for new repositories and repositories transferred to this organization.\n\nTo use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).\"\n\nYou can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request."
}
}
},
"examples": {
"default": {
"value": {
"name": "github",
"email": "mona@github.com",
"company": "GitHub",
"location": "San Francisco",
"description": "GitHub, the company.",
"billing_email": "mona@github.com",
"twitter_username": "github",
"default_repository_permission": "read",
"members_can_create_repositories": true,
"members_allowed_repository_creation_type": "all"
}
}
}
}
},
"required": false
}
PATCH /orgs/{org}
/orgs/{org}/artifacts/metadata/deployment-record
Create or update deployment records for an artifact associated with an organization. This endpoint allows you to record information about a specific artifact, such as its name, digest, environments, cluster, and deployment. The deployment name has to be uniqe within a cluster (i.e a combination of logical, physical environment and cluster) as it identifies unique deployment. Multiple requests for the same combination of logical, physical environment, cluster and deployment name will only create one record, successive request will update the existing record. This allows for a stable tracking of a deployment where the actual deployed artifact can change over time.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"name",
"digest",
"status",
"logical_environment",
"deployment_name"
],
"properties": {
"name": {
"type": "string",
"example": "libfoo",
"maxLength": 256,
"minLength": 1,
"description": "The name of the artifact."
},
"tags": {
"type": "object",
"description": "The tags associated with the deployment.",
"maxProperties": 5,
"additionalProperties": {
"type": "string"
}
},
"digest": {
"type": "string",
"pattern": "^sha256:[a-f0-9]{64}$",
"maxLength": 71,
"minLength": 71,
"description": "The hex encoded digest of the artifact."
},
"status": {
"enum": [
"deployed",
"decommissioned"
],
"type": "string",
"description": "The status of the artifact. Can be either deployed or decommissioned."
},
"cluster": {
"type": "string",
"maxLength": 128,
"description": "The deployment cluster."
},
"version": {
"type": "string",
"example": "1.2.3",
"maxLength": 100,
"minLength": 1,
"description": "The artifact version.",
"x-multi-segment": true
},
"runtime_risks": {
"type": "array",
"items": {
"enum": [
"critical-resource",
"internet-exposed",
"lateral-movement",
"sensitive-data"
],
"type": "string"
},
"maxItems": 4,
"description": "A list of runtime risks associated with the deployment.",
"uniqueItems": true
},
"return_records": {
"type": "boolean",
"default": true,
"description": "If true, the endpoint will return the created or updated record in the response body.\n"
},
"deployment_name": {
"type": "string",
"maxLength": 256,
"description": "The unique identifier for the deployment represented by the new record. To accommodate differing\ncontainers and namespaces within a cluster, the following format is recommended:\n{namespaceName}-{deploymentName}-{containerName}.\n"
},
"github_repository": {
"type": "string",
"example": "my-github-repo",
"pattern": "^[A-Za-z0-9.\\-_]+$",
"maxLength": 100,
"minLength": 1,
"description": "The name of the GitHub repository associated with the artifact. This should be used\nwhen there are no provenance attestations available for the artifact. The repository\nmust belong to the organization specified in the path parameter.\n\nIf a provenance attestation is available for the artifact, the API will use\nthe repository information from the attestation instead of this parameter."
},
"logical_environment": {
"type": "string",
"maxLength": 128,
"minLength": 1,
"description": "The stage of the deployment."
},
"physical_environment": {
"type": "string",
"maxLength": 128,
"description": "The physical region of the deployment."
}
}
},
"examples": {
"default": {
"value": {
"name": "awesome-image",
"tags": {
"data-access": "sensitive"
},
"digest": "sha256:1bb1e949e55dcefc6353e7b36c8897d2a107d8e8dca49d4e3c0ea8493fc0bc72",
"status": "deployed",
"cluster": "moda-1",
"deployment_name": "deployment-pod",
"logical_environment": "prod",
"physical_environment": "pacific-east"
}
}
}
}
},
"required": true
}
POST /orgs/{org}/artifacts/metadata/deployment-record
/orgs/{org}/artifacts/metadata/deployment-record/cluster/{cluster}
Set deployment records for a given cluster. If proposed records in the 'deployments' field have identical 'cluster', 'logical_environment', 'physical_environment', and 'deployment_name' values as existing records, the existing records will be updated. If no existing records match, new records will be created.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| cluster | path | required | string | The cluster name. |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"logical_environment",
"deployments"
],
"properties": {
"deployments": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"deployment_name",
"digest"
],
"properties": {
"name": {
"type": "string",
"maxLength": 256,
"minLength": 1,
"description": "The name of the artifact. Note that if multiple deployments have identical 'digest' parameter values,\nthe name parameter must also be identical across all entries.\n"
},
"tags": {
"type": "object",
"description": "Key-value pairs to tag the deployment record.",
"additionalProperties": {
"type": "string"
}
},
"digest": {
"type": "string",
"pattern": "^sha256:[a-f0-9]{64}$",
"maxLength": 71,
"minLength": 71,
"description": "The hex encoded digest of the artifact. Note that if multiple deployments have identical 'digest' parameter values,\nthe name and version parameters must also be identical across all entries.\n"
},
"status": {
"enum": [
"deployed",
"decommissioned"
],
"type": "string",
"default": "deployed",
"description": "The deployment status of the artifact."
},
"version": {
"type": "string",
"example": "1.2.3",
"maxLength": 100,
"description": "The artifact version. Note that if multiple deployments have identical 'digest' parameter values,\nthe version parameter must also be identical across all entries.\n",
"x-multi-segment": true
},
"runtime_risks": {
"type": "array",
"items": {
"enum": [
"critical-resource",
"internet-exposed",
"lateral-movement",
"sensitive-data"
],
"type": "string"
},
"maxItems": 4,
"description": "A list of runtime risks associated with the deployment.",
"uniqueItems": true
},
"deployment_name": {
"type": "string",
"maxLength": 256,
"minLength": 1,
"description": "The unique identifier for the deployment represented by the new record. To accommodate differing\ncontainers and namespaces within a record set, the following format is recommended:\n{namespaceName}-{deploymentName}-{containerName}.\nThe deployment_name must be unique across all entries in the deployments array.\n"
},
"github_repository": {
"type": "string",
"example": "my-github-repo",
"pattern": "^[A-Za-z0-9.\\-_]+$",
"maxLength": 100,
"description": "The name of the GitHub repository associated with the artifact. This should be used\nwhen there are no provenance attestations available for the artifact. The repository\nmust belong to the organization specified in the path parameter.\n\nIf a provenance attestation is available for the artifact, the API will use\nthe repository information from the attestation instead of this parameter."
}
}
},
"maxItems": 1000,
"description": "The list of deployments to record."
},
"return_records": {
"type": "boolean",
"default": true,
"description": "If true, the endpoint will return the set records in the response body\n"
},
"logical_environment": {
"type": "string",
"maxLength": 128,
"minLength": 1,
"description": "The stage of the deployment."
},
"physical_environment": {
"type": "string",
"maxLength": 128,
"description": "The physical region of the deployment."
}
}
},
"examples": {
"default": {
"value": {
"deployments": [
{
"name": "awesome-image",
"tags": {
"runtime-risk": "sensitive-data"
},
"digest": "sha256:1bb1e949e55dcefc6353e7b36c8897d2a107d8e8dca49d4e3c0ea8493fc0bc72",
"status": "deployed",
"version": "2.1.0",
"deployment_name": "deployment-pod"
}
],
"logical_environment": "prod",
"physical_environment": "pacific-east"
}
}
}
}
},
"required": true
}
POST /orgs/{org}/artifacts/metadata/deployment-record/cluster/{cluster}
/orgs/{org}/artifacts/metadata/storage-record
Create metadata storage records for artifacts associated with an organization. This endpoint will create a new artifact storage record on behalf of any artifact matching the provided digest and associated with a repository owned by the organization.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"name",
"digest",
"registry_url"
],
"properties": {
"name": {
"type": "string",
"example": "libfoo",
"maxLength": 256,
"minLength": 1,
"description": "The name of the artifact."
},
"path": {
"type": "string",
"format": "uri",
"example": "com/github/bar/libfoo-1.2.3",
"description": "The path of the artifact."
},
"digest": {
"type": "string",
"example": "sha256:0ecbaa601dba202129058746c7d8e3f282d0efb5fff0...",
"pattern": "^sha256:[a-f0-9]{64}$",
"maxLength": 71,
"minLength": 71,
"description": "The digest of the artifact (algorithm:hex-encoded-digest)."
},
"status": {
"enum": [
"active",
"eol",
"deleted"
],
"type": "string",
"default": "active",
"example": "active",
"description": "The status of the artifact (e.g., active, inactive)."
},
"version": {
"type": "string",
"example": "1.2.3",
"maxLength": 100,
"minLength": 1,
"description": "The artifact version.",
"x-multi-segment": true
},
"repository": {
"type": "string",
"example": "bar",
"description": "The repository name within the registry."
},
"artifact_url": {
"type": "string",
"format": "uri",
"example": "https://reg.example.com/artifactory/bar/libfoo-1.2.3",
"pattern": "^https://",
"description": "The URL where the artifact is stored."
},
"registry_url": {
"type": "string",
"format": "uri",
"example": "https://reg.example.com/artifactory/",
"pattern": "^https://",
"minLength": 1,
"description": "The base URL of the artifact registry."
},
"return_records": {
"type": "boolean",
"default": true,
"description": "If true, the endpoint will return the created record in the response body.\n"
},
"github_repository": {
"type": "string",
"example": "my-github-repo",
"pattern": "^[A-Za-z0-9.\\-_]+$",
"maxLength": 100,
"minLength": 1,
"description": "The name of the GitHub repository associated with the artifact. This should be used\nwhen there are no provenance attestations available for the artifact. The repository\nmust belong to the organization specified in the path parameter.\n\nIf a provenance attestation is available for the artifact, the API will use\nthe repository information from the attestation instead of this parameter."
}
}
},
"examples": {
"default": {
"value": {
"name": "libfoo",
"digest": "sha256:1bb1e949e55dcefc6353e7b36c8897d2a107d8e8dca49d4e3c0ea8493fc0bc72",
"status": "active",
"version": "1.2.3",
"repository": "bar",
"artifact_url": "https://reg.example.com/artifactory/bar/libfoo-1.2.3",
"registry_url": "https://reg.example.com/artifactory/"
}
}
}
}
},
"required": true
}
POST /orgs/{org}/artifacts/metadata/storage-record
/orgs/{org}/artifacts/{subject_digest}/metadata/deployment-records
List deployment records for an artifact metadata associated with an organization.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /orgs/{org}/artifacts/{subject_digest}/metadata/deployment-records
/orgs/{org}/artifacts/{subject_digest}/metadata/storage-records
List a collection of artifact storage records with a given subject digest that are associated with repositories owned by an organization. The collection of storage records returned by this endpoint is filtered according to the authenticated user's permissions; if the authenticated user cannot read a repository, the attestations associated with that repository will not be included in the response. In addition, when using a fine-grained access token the `content:read` permission is required.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| subject_digest | path | required | string | The parameter should be set to the attestation's subject's SHA256 digest, in the form `sha256:HEX_DIGEST`. |
GET /orgs/{org}/artifacts/{subject_digest}/metadata/storage-records
/orgs/{org}/attestations/bulk-list
List a collection of artifact attestations associated with any entry in a list of subject digests owned by an organization. The collection of attestations returned by this endpoint is filtered according to the authenticated user's permissions; if the authenticated user cannot read a repository, the attestations associated with that repository will not be included in the response. In addition, when using a fine-grained access token the `attestations:read` permission is required. **Please note:** in order to offer meaningful security benefits, an attestation's signature and timestamps **must** be cryptographically verified, and the identity of the attestation signer **must** be validated. Attestations can be verified using the [GitHub CLI `attestation verify` command](https://cli.github.com/manual/gh_attestation_verify). For more information, see [our guide on how to use artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds).
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"subject_digests"
],
"properties": {
"predicate_type": {
"type": "string",
"description": "Optional filter for fetching attestations with a given predicate type.\nThis option accepts `provenance`, `sbom`, `release`, or freeform text\nfor custom predicate types."
},
"subject_digests": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 1024,
"minItems": 1,
"description": "List of subject digests to fetch attestations for."
}
}
},
"examples": {
"default": {
"$ref": "#/components/examples/bulk-subject-digest-body"
},
"withPredicateType": {
"$ref": "#/components/examples/bulk-subject-digest-body-with-predicate-type"
}
}
}
},
"required": true
}
POST /orgs/{org}/attestations/bulk-list
/orgs/{org}/attestations/delete-request
Delete artifact attestations in bulk by either subject digests or unique ID.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"oneOf": [
{
"required": [
"subject_digests"
],
"properties": {
"subject_digests": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 1024,
"minItems": 1,
"description": "List of subject digests associated with the artifact attestations to delete."
}
}
},
{
"required": [
"attestation_ids"
],
"properties": {
"attestation_ids": {
"type": "array",
"items": {
"type": "integer"
},
"maxItems": 1024,
"minItems": 1,
"description": "List of unique IDs associated with the artifact attestations to delete."
}
}
}
],
"description": "The request body must include either `subject_digests` or `attestation_ids`, but not both."
},
"examples": {
"by-attestation-ids": {
"value": {
"attestation_ids": [
111,
222
]
},
"summary": "Delete by attestation IDs"
},
"by-subject-digests": {
"value": {
"subject_digests": [
"sha256:abc123",
"sha512:def456"
]
},
"summary": "Delete by subject digests"
}
}
}
},
"required": true
}
POST /orgs/{org}/attestations/delete-request
/orgs/{org}/attestations/digest/{subject_digest}
Delete an artifact attestation by subject digest.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| subject_digest | path | required | string | Subject Digest |
DELETE /orgs/{org}/attestations/digest/{subject_digest}
/orgs/{org}/attestations/repositories
List repositories owned by the provided organization that have created at least one attested artifact Results will be sorted in ascending order by repository ID
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| predicate_type | query | optional | string | Optional filter for fetching attestations with a given predicate type. This option accepts `provenance`, `sbom`, `release`, or freeform text for custom predicate types. |
GET /orgs/{org}/attestations/repositories
/orgs/{org}/attestations/{attestation_id}
Delete an artifact attestation by unique ID that is associated with a repository owned by an org.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| attestation_id | path | required | integer | Attestation ID |
DELETE /orgs/{org}/attestations/{attestation_id}
/orgs/{org}/attestations/{subject_digest}
List a collection of artifact attestations with a given subject digest that are associated with repositories owned by an organization. The collection of attestations returned by this endpoint is filtered according to the authenticated user's permissions; if the authenticated user cannot read a repository, the attestations associated with that repository will not be included in the response. In addition, when using a fine-grained access token the `attestations:read` permission is required. **Please note:** in order to offer meaningful security benefits, an attestation's signature and timestamps **must** be cryptographically verified, and the identity of the attestation signer **must** be validated. Attestations can be verified using the [GitHub CLI `attestation verify` command](https://cli.github.com/manual/gh_attestation_verify). For more information, see [our guide on how to use artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds).
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| subject_digest | path | required | string | The parameter should be set to the attestation's subject's SHA256 digest, in the form `sha256:HEX_DIGEST`. |
| predicate_type | query | optional | string | Optional filter for fetching attestations with a given predicate type. This option accepts `provenance`, `sbom`, `release`, or freeform text for custom predicate types. |
GET /orgs/{org}/attestations/{subject_digest}
/orgs/{org}/blocks
List the users blocked by an organization.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/blocks
/orgs/{org}/blocks/{username}
Unblocks the given user on behalf of the specified organization.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
DELETE /orgs/{org}/blocks/{username}
/orgs/{org}/blocks/{username}
Returns a 204 if the given user is blocked by the given organization. Returns a 404 if the organization is not blocking the user, or if the user account has been identified as spam by GitHub.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /orgs/{org}/blocks/{username}
/orgs/{org}/blocks/{username}
Blocks the given user on behalf of the specified organization and returns a 204. If the organization cannot block the given user a 422 is returned.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
PUT /orgs/{org}/blocks/{username}
/orgs/{org}/failed_invitations
The return hash contains `failed_at` and `failed_reason` fields which represent the time at which the invitation failed and the reason for the failure.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/failed_invitations
/orgs/{org}/hooks
List webhooks for an organization. The authenticated user must be an organization owner to use this endpoint. OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/hooks
/orgs/{org}/hooks
Create a hook that posts payloads in JSON format. You must be an organization owner to use this endpoint. OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"name",
"config"
],
"properties": {
"name": {
"type": "string",
"description": "Must be passed as \"web\"."
},
"active": {
"type": "boolean",
"default": true,
"description": "Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications."
},
"config": {
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"$ref": "#/components/schemas/webhook-config-url"
},
"secret": {
"$ref": "#/components/schemas/webhook-config-secret"
},
"password": {
"type": "string",
"example": "\"password\""
},
"username": {
"type": "string",
"example": "\"kdaigle\""
},
"content_type": {
"$ref": "#/components/schemas/webhook-config-content-type"
},
"insecure_ssl": {
"$ref": "#/components/schemas/webhook-config-insecure-ssl"
}
},
"description": "Key/value pairs to provide settings for this webhook."
},
"events": {
"type": "array",
"items": {
"type": "string"
},
"default": [
"push"
],
"description": "Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. Set to `[\"*\"]` to receive all possible events."
}
}
},
"examples": {
"default": {
"value": {
"name": "web",
"active": true,
"config": {
"url": "http://example.com/webhook",
"content_type": "json"
},
"events": [
"push",
"pull_request"
]
}
}
}
}
},
"required": true
}
POST /orgs/{org}/hooks
/orgs/{org}/hooks/{hook_id}
Delete a webhook for an organization. The authenticated user must be an organization owner to use this endpoint. OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
DELETE /orgs/{org}/hooks/{hook_id}
/orgs/{org}/hooks/{hook_id}
Returns a webhook configured in an organization. To get only the webhook `config` properties, see "[Get a webhook configuration for an organization](/rest/orgs/webhooks#get-a-webhook-configuration-for-an-organization). You must be an organization owner to use this endpoint. OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /orgs/{org}/hooks/{hook_id}
/orgs/{org}/hooks/{hook_id}
Updates a webhook configured in an organization. When you update a webhook, the `secret` will be overwritten. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for an organization](/rest/orgs/webhooks#update-a-webhook-configuration-for-an-organization)". You must be an organization owner to use this endpoint. OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"example": "\"web\""
},
"active": {
"type": "boolean",
"default": true,
"description": "Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications."
},
"config": {
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"$ref": "#/components/schemas/webhook-config-url"
},
"secret": {
"$ref": "#/components/schemas/webhook-config-secret"
},
"content_type": {
"$ref": "#/components/schemas/webhook-config-content-type"
},
"insecure_ssl": {
"$ref": "#/components/schemas/webhook-config-insecure-ssl"
}
},
"description": "Key/value pairs to provide settings for this webhook."
},
"events": {
"type": "array",
"items": {
"type": "string"
},
"default": [
"push"
],
"description": "Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for."
}
}
},
"examples": {
"default": {
"value": {
"active": true,
"events": [
"pull_request"
]
}
}
}
}
},
"required": false
}
PATCH /orgs/{org}/hooks/{hook_id}
/orgs/{org}/hooks/{hook_id}/config
Returns the webhook configuration for an organization. To get more information about the webhook, including the `active` state and `events`, use "[Get an organization webhook ](/rest/orgs/webhooks#get-an-organization-webhook)." You must be an organization owner to use this endpoint. OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /orgs/{org}/hooks/{hook_id}/config
/orgs/{org}/hooks/{hook_id}/config
Updates the webhook configuration for an organization. To update more information about the webhook, including the `active` state and `events`, use "[Update an organization webhook ](/rest/orgs/webhooks#update-an-organization-webhook)." You must be an organization owner to use this endpoint. OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"url": {
"$ref": "#/components/schemas/webhook-config-url"
},
"secret": {
"$ref": "#/components/schemas/webhook-config-secret"
},
"content_type": {
"$ref": "#/components/schemas/webhook-config-content-type"
},
"insecure_ssl": {
"$ref": "#/components/schemas/webhook-config-insecure-ssl"
}
}
},
"examples": {
"default": {
"value": {
"url": "http://example.com/webhook",
"secret": "********",
"content_type": "json",
"insecure_ssl": "0"
},
"summary": "Update an existing webhook"
}
}
}
},
"required": false
}
PATCH /orgs/{org}/hooks/{hook_id}/config
/orgs/{org}/hooks/{hook_id}/deliveries
Returns a list of webhook deliveries for a webhook configured in an organization. You must be an organization owner to use this endpoint. OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/hooks/{hook_id}/deliveries
/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}
Returns a delivery for a webhook configured in an organization. You must be an organization owner to use this endpoint. OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}
/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts
Redeliver a delivery for a webhook configured in an organization. You must be an organization owner to use this endpoint. OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts
/orgs/{org}/hooks/{hook_id}/pings
This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. You must be an organization owner to use this endpoint. OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
POST /orgs/{org}/hooks/{hook_id}/pings
/orgs/{org}/insights/api/route-stats/{actor_type}/{actor_id}
Get API request count statistics for an actor broken down by route within a specified time frame.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/insights/api/route-stats/{actor_type}/{actor_id}
/orgs/{org}/insights/api/subject-stats
Get API request statistics for all subjects within an organization within a specified time frame. Subjects can be users or GitHub Apps.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/insights/api/subject-stats
/orgs/{org}/insights/api/summary-stats
Get overall statistics of API requests made within an organization by all users and apps within a specified time frame.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/insights/api/summary-stats
/orgs/{org}/insights/api/summary-stats/users/{user_id}
Get overall statistics of API requests within the organization for a user.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/insights/api/summary-stats/users/{user_id}
/orgs/{org}/insights/api/summary-stats/{actor_type}/{actor_id}
Get overall statistics of API requests within the organization made by a specific actor. Actors can be GitHub App installations, OAuth apps or other tokens on behalf of a user.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/insights/api/summary-stats/{actor_type}/{actor_id}
/orgs/{org}/insights/api/time-stats
Get the number of API requests and rate-limited requests made within an organization over a specified time period.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/insights/api/time-stats
/orgs/{org}/insights/api/time-stats/users/{user_id}
Get the number of API requests and rate-limited requests made within an organization by a specific user over a specified time period.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/insights/api/time-stats/users/{user_id}
/orgs/{org}/insights/api/time-stats/{actor_type}/{actor_id}
Get the number of API requests and rate-limited requests made within an organization by a specific actor within a specified time period.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/insights/api/time-stats/{actor_type}/{actor_id}
/orgs/{org}/insights/api/user-stats/{user_id}
Get API usage statistics within an organization for a user broken down by the type of access.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/insights/api/user-stats/{user_id}
/orgs/{org}/installations
Lists all GitHub Apps in an organization. The installation count includes all GitHub Apps installed on repositories in the organization. The authenticated user must be an organization owner to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `admin:read` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/installations
/orgs/{org}/invitations
The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, or `hiring_manager`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| role | query | optional | string | Filter invitations by their member role. |
| invitation_source | query | optional | string | Filter invitations by their invitation source. |
GET /orgs/{org}/invitations
/orgs/{org}/invitations
Invite people to an organization by using their GitHub user ID or their email address. In order to create invitations in an organization, the authenticated user must be an organization owner. This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"role": {
"enum": [
"admin",
"direct_member",
"billing_manager",
"reinstate"
],
"type": "string",
"default": "direct_member",
"description": "The role for the new member. \n * `admin` - Organization owners with full administrative rights to the organization and complete access to all repositories and teams. \n * `direct_member` - Non-owner organization members with ability to see other members and join teams by invitation. \n * `billing_manager` - Non-owner organization members with ability to manage the billing settings of your organization. \n * `reinstate` - The previous role assigned to the invitee before they were removed from your organization. Can be one of the roles listed above. Only works if the invitee was previously part of your organization."
},
"email": {
"type": "string",
"description": "**Required unless you provide `invitee_id`**. Email address of the person you are inviting, which can be an existing GitHub user."
},
"team_ids": {
"type": "array",
"items": {
"type": "integer"
},
"description": "Specify IDs for the teams you want to invite new members to."
},
"invitee_id": {
"type": "integer",
"description": "**Required unless you provide `email`**. GitHub user ID for the person you are inviting."
}
}
},
"examples": {
"default": {
"value": {
"role": "direct_member",
"email": "octocat@github.com",
"team_ids": [
12,
26
]
}
}
}
}
},
"required": false
}
POST /orgs/{org}/invitations
/orgs/{org}/invitations/{invitation_id}
Cancel an organization invitation. In order to cancel an organization invitation, the authenticated user must be an organization owner. This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications).
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
DELETE /orgs/{org}/invitations/{invitation_id}
/orgs/{org}/invitations/{invitation_id}/teams
List all teams associated with an invitation. In order to see invitations in an organization, the authenticated user must be an organization owner.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/invitations/{invitation_id}/teams
/orgs/{org}/issue-fields
Lists all issue fields for an organization. OAuth app tokens and personal access tokens (classic) need the read:org scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /orgs/{org}/issue-fields
/orgs/{org}/issue-fields
Creates a new issue field for an organization. You can find out more about issue fields in [Managing issue fields in an organization](https://docs.github.com/issues/tracking-your-work-with-issues/using-issues/managing-issue-fields-in-an-organization). To use this endpoint, the authenticated user must be an administrator for the organization. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/organization-create-issue-field"
},
"examples": {
"default": {
"value": {
"name": "Priority",
"options": [
{
"name": "High",
"color": "red",
"description": "High priority"
},
{
"name": "Medium",
"color": "yellow",
"description": "Medium priority"
},
{
"name": "Low",
"color": "green",
"description": "Low priority"
}
],
"data_type": "single_select",
"description": "Level of importance for the issue"
}
}
}
}
},
"required": true
}
POST /orgs/{org}/issue-fields
/orgs/{org}/issue-fields/{issue_field_id}
Deletes an issue field for an organization. You can find out more about issue fields in [Managing issue fields in an organization](https://docs.github.com/issues/tracking-your-work-with-issues/using-issues/managing-issue-fields-in-an-organization). To use this endpoint, the authenticated user must be an administrator for the organization. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
DELETE /orgs/{org}/issue-fields/{issue_field_id}
/orgs/{org}/issue-fields/{issue_field_id}
Updates an issue field for an organization. You can find out more about issue fields in [Managing issue fields in an organization](https://docs.github.com/issues/tracking-your-work-with-issues/using-issues/managing-issue-fields-in-an-organization). To use this endpoint, the authenticated user must be an administrator for the organization. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/organization-update-issue-field"
},
"examples": {
"default": {
"value": {
"name": "Priority",
"description": "Level of importance for the issue"
},
"summary": "Update name and description",
"description": "Update the name and description of an issue field"
},
"update-name-only": {
"value": {
"name": "Updated Field Name"
},
"summary": "Update name only",
"description": "Update only the name of an issue field"
},
"update-single-select-options": {
"value": {
"name": "Status",
"options": [
{
"name": "Backlog",
"color": "gray",
"priority": 1,
"description": "Items waiting to be prioritized"
},
{
"name": "In Progress",
"color": "blue",
"priority": 2,
"description": "Currently being worked on"
},
{
"name": "Done",
"color": "green",
"priority": 3,
"description": "Completed work"
}
],
"description": "Current status of the issue"
},
"summary": "Update single select options",
"description": "Update the options for a single select issue field"
}
}
}
},
"required": true
}
PATCH /orgs/{org}/issue-fields/{issue_field_id}
/orgs/{org}/issue-types
Lists all issue types for an organization. OAuth app tokens and personal access tokens (classic) need the read:org scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /orgs/{org}/issue-types
/orgs/{org}/issue-types
Create a new issue type for an organization. You can find out more about issue types in [Managing issue types in an organization](https://docs.github.com/issues/tracking-your-work-with-issues/configuring-issues/managing-issue-types-in-an-organization). To use this endpoint, the authenticated user must be an administrator for the organization. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/organization-create-issue-type"
},
"examples": {
"default": {
"value": {
"name": "Epic",
"color": "green",
"is_enabled": true,
"description": "An issue type for a multi-week tracking of work"
}
}
}
}
},
"required": true
}
POST /orgs/{org}/issue-types
/orgs/{org}/issue-types/{issue_type_id}
Deletes an issue type for an organization. You can find out more about issue types in [Managing issue types in an organization](https://docs.github.com/issues/tracking-your-work-with-issues/configuring-issues/managing-issue-types-in-an-organization). To use this endpoint, the authenticated user must be an administrator for the organization. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
DELETE /orgs/{org}/issue-types/{issue_type_id}
/orgs/{org}/issue-types/{issue_type_id}
Updates an issue type for an organization. You can find out more about issue types in [Managing issue types in an organization](https://docs.github.com/issues/tracking-your-work-with-issues/configuring-issues/managing-issue-types-in-an-organization). To use this endpoint, the authenticated user must be an administrator for the organization. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/organization-update-issue-type"
},
"examples": {
"default": {
"value": {
"name": "Epic",
"color": "green",
"is_enabled": true,
"description": "An issue type for a multi-week tracking of work"
}
}
}
}
},
"required": true
}
PUT /orgs/{org}/issue-types/{issue_type_id}
/orgs/{org}/members
List all users who are members of an organization. If the authenticated user is also a member of this organization then both concealed and public members will be returned.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| filter | query | optional | string | Filter members returned in the list. `2fa_disabled` means that only members without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled will be returned. `2fa_insecure` means that only members with [insecure 2FA methods](https://docs.github.com/organizations/keeping-your-organization-secure/managing-two-factor-authentication-for-your-organization/requiring-two-factor-authentication-in-your-organization#requiring-secure-methods-of-two-factor-authentication-in-your-organization) will be returned. These options are only available for organization owners. |
| role | query | optional | string | Filter members returned by their role. |
| optional | ||||
| optional |
GET /orgs/{org}/members
/orgs/{org}/members/{username}
Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories. > [!NOTE] > If a user has both direct membership in the organization as well as indirect membership via an enterprise team, only their direct membership will be removed. Their indirect membership via an enterprise team remains until the user is removed from the enterprise team.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
DELETE /orgs/{org}/members/{username}
/orgs/{org}/members/{username}
Check if a user is, publicly or privately, a member of the organization.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /orgs/{org}/members/{username}
/orgs/{org}/memberships/{username}
In order to remove a user's membership with an organization, the authenticated user must be an organization owner. If the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases. > [!NOTE] > If a user has both direct membership in the organization as well as indirect membership via an enterprise team, only their direct membership will be removed. Their indirect membership via an enterprise team remains until the user is removed from the enterprise team.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
DELETE /orgs/{org}/memberships/{username}
/orgs/{org}/memberships/{username}
In order to get a user's membership with an organization, the authenticated user must be an organization member. The `state` parameter in the response can be used to identify the user's membership status.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /orgs/{org}/memberships/{username}
/orgs/{org}/memberships/{username}
Only authenticated organization owners can add a member to the organization or update the member's role. * If the authenticated user is _adding_ a member to the organization, the invited user will receive an email inviting them to the organization. The user's [membership status](https://docs.github.com/rest/orgs/members#get-organization-membership-for-a-user) will be `pending` until they accept the invitation. * Authenticated users can _update_ a user's membership by passing the `role` parameter. If the authenticated user changes a member's role to `admin`, the affected user will receive an email notifying them that they've been made an organization owner. If the authenticated user changes an owner's role to `member`, no email will be sent. **Rate limits** To prevent abuse, organization owners are limited to creating 50 organization invitations for an organization within a 24 hour period. If the organization is more than one month old or on a paid plan, the limit is 500 invitations per 24 hour period.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"role": {
"enum": [
"admin",
"member"
],
"type": "string",
"default": "member",
"description": "The role to give the user in the organization. Can be one of: \n * `admin` - The user will become an owner of the organization. \n * `member` - The user will become a non-owner member of the organization."
}
}
},
"examples": {
"default": {
"value": {
"role": "member"
},
"summary": "Set an organization membership role for a user"
}
}
}
},
"required": false
}
PUT /orgs/{org}/memberships/{username}
/orgs/{org}/organization-roles
Lists the organization roles available in this organization. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." To use this endpoint, the authenticated user must be one of: - An administrator for the organization. - An organization member (or a member of a team) assigned a custom organization role that includes the **View organization roles** (`read_organization_custom_org_role`) permission. For more information, see "[Permissions for organization access](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/permissions-of-custom-organization-roles#permissions-for-organization-access)." OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /orgs/{org}/organization-roles
/orgs/{org}/organization-roles/teams/{team_slug}
Removes all assigned organization roles from a team. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." The authenticated user must be an administrator for the organization to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
DELETE /orgs/{org}/organization-roles/teams/{team_slug}
/orgs/{org}/organization-roles/teams/{team_slug}/{role_id}
Removes an organization role from a team. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." The authenticated user must be an administrator for the organization to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
DELETE /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}
/orgs/{org}/organization-roles/teams/{team_slug}/{role_id}
Assigns an organization role to a team in an organization. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." The authenticated user must be an administrator for the organization to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
PUT /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}
/orgs/{org}/organization-roles/users/{username}
Revokes all assigned organization roles from a user. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." The authenticated user must be an administrator for the organization to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
DELETE /orgs/{org}/organization-roles/users/{username}
/orgs/{org}/organization-roles/users/{username}/{role_id}
Remove an organization role from a user. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." The authenticated user must be an administrator for the organization to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
DELETE /orgs/{org}/organization-roles/users/{username}/{role_id}
/orgs/{org}/organization-roles/users/{username}/{role_id}
Assigns an organization role to a member of an organization. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." The authenticated user must be an administrator for the organization to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
PUT /orgs/{org}/organization-roles/users/{username}/{role_id}
/orgs/{org}/organization-roles/{role_id}
Gets an organization role that is available to this organization. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." To use this endpoint, the authenticated user must be one of: - An administrator for the organization. - An organization member (or a member of a team) assigned a custom organization role that includes the **View organization roles** (`read_organization_custom_org_role`) permission. For more information, see "[Permissions for organization access](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/permissions-of-custom-organization-roles#permissions-for-organization-access)." OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /orgs/{org}/organization-roles/{role_id}
/orgs/{org}/organization-roles/{role_id}/teams
Lists the teams that are assigned to an organization role. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." To use this endpoint, you must be an administrator for the organization. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/organization-roles/{role_id}/teams
/orgs/{org}/organization-roles/{role_id}/users
Lists organization members that are assigned to an organization role. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." To use this endpoint, you must be an administrator for the organization. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/organization-roles/{role_id}/users
/orgs/{org}/outside_collaborators
List all users who are outside collaborators of an organization.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| filter | query | optional | string | Filter the list of outside collaborators. `2fa_disabled` means that only outside collaborators without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled will be returned. `2fa_insecure` means that only outside collaborators with [insecure 2FA methods](https://docs.github.com/organizations/keeping-your-organization-secure/managing-two-factor-authentication-for-your-organization/requiring-two-factor-authentication-in-your-organization#requiring-secure-methods-of-two-factor-authentication-in-your-organization) will be returned. |
| optional | ||||
| optional |
GET /orgs/{org}/outside_collaborators
/orgs/{org}/outside_collaborators/{username}
Removing a user from this list will remove them from all the organization's repositories.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
DELETE /orgs/{org}/outside_collaborators/{username}
/orgs/{org}/outside_collaborators/{username}
When an organization member is converted to an outside collaborator, they'll only have access to the repositories that their current team membership allows. The user will no longer be a member of the organization. For more information, see "[Converting an organization member to an outside collaborator](https://docs.github.com/articles/converting-an-organization-member-to-an-outside-collaborator/)". Converting an organization member to an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"async": {
"type": "boolean",
"default": false,
"description": "When set to `true`, the request will be performed asynchronously. Returns a 202 status code when the job is successfully queued."
}
}
},
"examples": {
"202": {
"value": {
"async": true
},
"summary": "Status code 202, asynchronous request"
},
"204": {
"value": null,
"summary": "Status code 204, synchronous request"
}
}
}
},
"required": false
}
PUT /orgs/{org}/outside_collaborators/{username}
/orgs/{org}/personal-access-token-requests
Lists requests from organization members to access organization resources with a fine-grained personal access token. Only GitHub Apps can use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/personal-access-token-requests
/orgs/{org}/personal-access-token-requests
Approves or denies multiple pending requests to access organization resources via a fine-grained personal access token. Only GitHub Apps can use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"action"
],
"properties": {
"action": {
"enum": [
"approve",
"deny"
],
"type": "string",
"description": "Action to apply to the requests."
},
"reason": {
"type": "string",
"nullable": true,
"maxLength": 1024,
"description": "Reason for approving or denying the requests. Max 1024 characters."
},
"pat_request_ids": {
"type": "array",
"items": {
"type": "integer"
},
"maxItems": 100,
"minItems": 1,
"description": "Unique identifiers of the requests for access via fine-grained personal access token. Must be formed of between 1 and 100 `pat_request_id` values."
}
}
},
"examples": {
"204": {
"value": {
"action": "deny",
"reason": "Access is too broad.",
"pat_request_ids": [
42,
73
]
},
"summary": "Example of denying a request"
}
}
}
},
"required": true
}
POST /orgs/{org}/personal-access-token-requests
/orgs/{org}/personal-access-token-requests/{pat_request_id}
Approves or denies a pending request to access organization resources via a fine-grained personal access token. Only GitHub Apps can use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| pat_request_id | path | required | integer | Unique identifier of the request for access via fine-grained personal access token. |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"action"
],
"properties": {
"action": {
"enum": [
"approve",
"deny"
],
"type": "string",
"description": "Action to apply to the request."
},
"reason": {
"type": "string",
"nullable": true,
"maxLength": 1024,
"description": "Reason for approving or denying the request. Max 1024 characters."
}
}
},
"examples": {
"204": {
"value": {
"action": "deny",
"reason": "This request is denied because the access is too broad."
},
"summary": "Example of denying a request"
}
}
}
},
"required": true
}
POST /orgs/{org}/personal-access-token-requests/{pat_request_id}
/orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories
Lists the repositories a fine-grained personal access token request is requesting access to. Only GitHub Apps can use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| pat_request_id | path | required | integer | Unique identifier of the request for access via fine-grained personal access token. |
| optional | ||||
| optional |
GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories
/orgs/{org}/personal-access-tokens
Lists approved fine-grained personal access tokens owned by organization members that can access organization resources. Only GitHub Apps can use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/personal-access-tokens
/orgs/{org}/personal-access-tokens
Updates the access organization members have to organization resources via fine-grained personal access tokens. Limited to revoking a token's existing access. Only GitHub Apps can use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"action",
"pat_ids"
],
"properties": {
"action": {
"enum": [
"revoke"
],
"type": "string",
"description": "Action to apply to the fine-grained personal access token."
},
"pat_ids": {
"type": "array",
"items": {
"type": "integer",
"description": "Unique identifier of the fine-grained personal access token."
},
"maxItems": 100,
"minItems": 1,
"description": "The IDs of the fine-grained personal access tokens."
}
}
},
"examples": {
"204": {
"value": {
"action": "revoke",
"pat_ids": [
1296269,
1296280
]
},
"summary": "Example of revoking a fine-grained personal access token."
}
}
}
},
"required": true
}
POST /orgs/{org}/personal-access-tokens
/orgs/{org}/personal-access-tokens/{pat_id}
Updates the access an organization member has to organization resources via a fine-grained personal access token. Limited to revoking the token's existing access. Limited to revoking a token's existing access. Only GitHub Apps can use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"action"
],
"properties": {
"action": {
"enum": [
"revoke"
],
"type": "string",
"description": "Action to apply to the fine-grained personal access token."
}
}
},
"examples": {
"204": {
"value": {
"action": "revoke"
},
"summary": "Example of revoking a fine-grained personal access token."
}
}
}
},
"required": true
}
POST /orgs/{org}/personal-access-tokens/{pat_id}
/orgs/{org}/personal-access-tokens/{pat_id}/repositories
Lists the repositories a fine-grained personal access token has access to. Only GitHub Apps can use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| pat_id | path | required | integer | Unique identifier of the fine-grained personal access token. |
| optional | ||||
| optional |
GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories
/orgs/{org}/properties/schema
Gets all custom properties defined for an organization. Organization members can read these properties.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /orgs/{org}/properties/schema
/orgs/{org}/properties/schema
Creates new or updates existing custom properties defined for an organization in a batch. If the property already exists, the existing property will be replaced with the new values. Missing optional values will fall back to default values, previous values will be overwritten. E.g. if a property exists with `values_editable_by: org_and_repo_actors` and it's updated without specifying `values_editable_by`, it will be updated to default value `org_actors`. To use this endpoint, the authenticated user must be one of: - An administrator for the organization. - A user, or a user on a team, with the fine-grained permission of `custom_properties_org_definitions_manager` in the organization.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"properties"
],
"properties": {
"properties": {
"type": "array",
"items": {
"$ref": "#/components/schemas/custom-property"
},
"maxItems": 100,
"minItems": 1,
"description": "The array of custom properties to create or update."
}
}
},
"examples": {
"default": {
"value": {
"properties": [
{
"required": true,
"value_type": "single_select",
"description": "Prod or dev environment",
"default_value": "production",
"property_name": "environment",
"allowed_values": [
"production",
"development"
],
"values_editable_by": "org_actors"
},
{
"value_type": "string",
"property_name": "service"
},
{
"value_type": "string",
"description": "Team owning the repository",
"property_name": "team"
}
]
}
}
}
}
},
"required": true
}
PATCH /orgs/{org}/properties/schema
/orgs/{org}/properties/schema/{custom_property_name}
Removes a custom property that is defined for an organization. To use this endpoint, the authenticated user must be one of: - An administrator for the organization. - A user, or a user on a team, with the fine-grained permission of `custom_properties_org_definitions_manager` in the organization.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
DELETE /orgs/{org}/properties/schema/{custom_property_name}
/orgs/{org}/properties/schema/{custom_property_name}
Gets a custom property that is defined for an organization. Organization members can read these properties.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /orgs/{org}/properties/schema/{custom_property_name}
/orgs/{org}/properties/schema/{custom_property_name}
Creates a new or updates an existing custom property that is defined for an organization. To use this endpoint, the authenticated user must be one of: - An administrator for the organization. - A user, or a user on a team, with the fine-grained permission of `custom_properties_org_definitions_manager` in the organization.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/custom-property-set-payload"
},
"examples": {
"default": {
"value": {
"required": true,
"value_type": "single_select",
"description": "Prod or dev environment",
"default_value": "production",
"allowed_values": [
"production",
"development"
]
}
}
}
}
},
"required": true
}
PUT /orgs/{org}/properties/schema/{custom_property_name}
/orgs/{org}/properties/values
Lists organization repositories with all of their custom property values. Organization members can read these properties.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| repository_query | query | optional | string | Finds repositories in the organization with a query containing one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). See "[Searching for repositories](https://docs.github.com/articles/searching-for-repositories/)" for a detailed list of qualifiers. |
GET /orgs/{org}/properties/values
/orgs/{org}/properties/values
Create new or update existing custom property values for repositories in a batch that belong to an organization. Each target repository will have its custom property values updated to match the values provided in the request. A maximum of 30 repositories can be updated in a single request. Using a value of `null` for a custom property will remove or 'unset' the property value from the repository. To use this endpoint, the authenticated user must be one of: - An administrator for the organization. - A user, or a user on a team, with the fine-grained permission of `custom_properties_org_values_editor` in the organization.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"repository_names",
"properties"
],
"properties": {
"properties": {
"type": "array",
"items": {
"$ref": "#/components/schemas/custom-property-value"
},
"description": "List of custom property names and associated values to apply to the repositories."
},
"repository_names": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 30,
"minItems": 1,
"description": "The names of repositories that the custom property values will be applied to."
}
}
},
"examples": {
"default": {
"$ref": "#/components/examples/org-repo-update-custom-property-values"
}
}
}
},
"required": true
}
PATCH /orgs/{org}/properties/values
/orgs/{org}/public_members
Members of an organization can choose to have their membership publicized or not.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/public_members
/orgs/{org}/public_members/{username}
Removes the public membership for the authenticated user from the specified organization, unless public visibility is enforced by default.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
DELETE /orgs/{org}/public_members/{username}
/orgs/{org}/public_members/{username}
Check if the provided user is a public member of the organization.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /orgs/{org}/public_members/{username}
/orgs/{org}/public_members/{username}
The user can publicize their own membership. (A user cannot publicize the membership for another user.) Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
PUT /orgs/{org}/public_members/{username}
/orgs/{org}/rulesets/{ruleset_id}/history
Get the history of an organization ruleset.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| ruleset_id | path | required | integer | The ID of the ruleset. |
GET /orgs/{org}/rulesets/{ruleset_id}/history
/orgs/{org}/rulesets/{ruleset_id}/history/{version_id}
Get a version of an organization ruleset.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| ruleset_id | path | required | integer | The ID of the ruleset. |
| version_id | path | required | integer | The ID of the version |
GET /orgs/{org}/rulesets/{ruleset_id}/history/{version_id}
/orgs/{org}/settings/immutable-releases
Gets the immutable releases policy for repositories in an organization. OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /orgs/{org}/settings/immutable-releases
/orgs/{org}/settings/immutable-releases
Sets the immutable releases policy for repositories in an organization. OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"enforced_repositories"
],
"properties": {
"enforced_repositories": {
"enum": [
"all",
"none",
"selected"
],
"type": "string",
"example": "all",
"description": "The policy that controls how immutable releases are enforced in the organization."
},
"selected_repository_ids": {
"type": "array",
"items": {
"type": "integer"
},
"description": "An array of repository ids for which immutable releases enforcement should be applied. You can only provide a list of repository ids when the `enforced_repositories` is set to `selected`. You can add and remove individual repositories using the [Enable a selected repository for immutable releases in an organization](https://docs.github.com/rest/orgs/orgs#enable-a-selected-repository-for-immutable-releases-in-an-organization) and [Disable a selected repository for immutable releases in an organization](https://docs.github.com/rest/orgs/orgs#disable-a-selected-repository-for-immutable-releases-in-an-organization) endpoints."
}
}
},
"examples": {
"default": {
"value": {
"enforced_repositories": "all"
}
}
}
}
},
"required": true
}
PUT /orgs/{org}/settings/immutable-releases
/orgs/{org}/settings/immutable-releases/repositories
List all of the repositories that have been selected for immutable releases enforcement in an organization. OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/settings/immutable-releases/repositories
/orgs/{org}/settings/immutable-releases/repositories
Replaces all repositories that have been selected for immutable releases enforcement in an organization. To use this endpoint, the organization immutable releases policy for `enforced_repositories` must be configured to `selected`. OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"selected_repository_ids"
],
"properties": {
"selected_repository_ids": {
"type": "array",
"items": {
"type": "integer"
},
"description": "An array of repository ids for which immutable releases enforcement should be applied. You can only provide a list of repository ids when the `enforced_repositories` is set to `selected`. You can add and remove individual repositories using the [Enable a selected repository for immutable releases in an organization](https://docs.github.com/rest/orgs/orgs#enable-a-selected-repository-for-immutable-releases-in-an-organization) and [Disable a selected repository for immutable releases in an organization](https://docs.github.com/rest/orgs/orgs#disable-a-selected-repository-for-immutable-releases-in-an-organization) endpoints."
}
}
},
"examples": {
"default": {
"value": {
"selected_repository_ids": [
64780797
]
}
}
}
}
},
"required": true
}
PUT /orgs/{org}/settings/immutable-releases/repositories
/orgs/{org}/settings/immutable-releases/repositories/{repository_id}
Removes a repository from the list of selected repositories that are enforced for immutable releases in an organization. To use this endpoint, the organization immutable releases policy for `enforced_repositories` must be configured to `selected`. OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
DELETE /orgs/{org}/settings/immutable-releases/repositories/{repository_id}
/orgs/{org}/settings/immutable-releases/repositories/{repository_id}
Adds a repository to the list of selected repositories that are enforced for immutable releases in an organization. To use this endpoint, the organization immutable releases policy for `enforced_repositories` must be configured to `selected`. OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
PUT /orgs/{org}/settings/immutable-releases/repositories/{repository_id}
/user/memberships/orgs
Lists all of the authenticated user's organization memberships.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| state | query | optional | string | Indicates the state of the memberships to return. If not specified, the API returns both active and pending memberships. |
| optional | ||||
| optional |
GET /user/memberships/orgs
/user/memberships/orgs/{org}
If the authenticated user is an active or pending member of the organization, this endpoint will return the user's membership. If the authenticated user is not affiliated with the organization, a `404` is returned. This endpoint will return a `403` if the request is made by a GitHub App that is blocked by the organization.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /user/memberships/orgs/{org}
/user/memberships/orgs/{org}
Converts the authenticated user to an active member of the organization, if that user has a pending invitation from the organization.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"state"
],
"properties": {
"state": {
"enum": [
"active"
],
"type": "string",
"description": "The state that the membership should be in. Only `\"active\"` will be accepted."
}
}
},
"examples": {
"default": {
"value": {
"state": "active"
}
}
}
}
},
"required": true
}
PATCH /user/memberships/orgs/{org}
/user/orgs
List organizations for the authenticated user. For OAuth app tokens and personal access tokens (classic), this endpoint only lists organizations that your authorization allows you to operate on in some way (e.g., you can list teams with `read:org` scope, you can publicize your organization membership with `user` scope, etc.). Therefore, this API requires at least `user` or `read:org` scope for OAuth app tokens and personal access tokens (classic). Requests with insufficient scope will receive a `403 Forbidden` response. > [!NOTE] > Requests using a fine-grained access token will receive a `200 Success` response with an empty list.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /user/orgs
/users/{username}/orgs
List [public organization memberships](https://docs.github.com/articles/publicizing-or-concealing-organization-membership) for the specified user. This method only lists _public_ memberships, regardless of authentication. If you need to fetch all of the organization memberships (public and private) for the authenticated user, use the [List organizations for the authenticated user](https://docs.github.com/rest/orgs/orgs#list-organizations-for-the-authenticated-user) API instead.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /users/{username}/orgs
/orgs/{org}/docker/conflicts
Lists all packages that are in a specific organization, are readable by the requesting user, and that encountered a conflict during a Docker migration. OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /orgs/{org}/docker/conflicts
/orgs/{org}/packages
Lists packages in an organization readable by the user. OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| package_type | query | required | string | The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. |
| optional | ||||
| optional | ||||
| page | query | optional | integer | The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." |
| per_page | query | optional | integer | The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." |
GET /orgs/{org}/packages
/orgs/{org}/packages/{package_type}/{package_name}
Deletes an entire package in an organization. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. The authenticated user must have admin permissions in the organization to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must also have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
DELETE /orgs/{org}/packages/{package_type}/{package_name}
/orgs/{org}/packages/{package_type}/{package_name}
Gets a specific package in an organization. OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/packages/{package_type}/{package_name}
/orgs/{org}/packages/{package_type}/{package_name}/restore
Restores an entire package in an organization. You can restore a deleted package under the following conditions: - The package was deleted within the last 30 days. - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. The authenticated user must have admin permissions in the organization to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must also have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| token | query | optional | string | package token |
POST /orgs/{org}/packages/{package_type}/{package_name}/restore
/orgs/{org}/packages/{package_type}/{package_name}/versions
Lists package versions for a package owned by an organization. OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| state | query | optional | string | The state of the package, either active or deleted. |
GET /orgs/{org}/packages/{package_type}/{package_name}/versions
/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}
Deletes a specific package version in an organization. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. The authenticated user must have admin permissions in the organization to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must also have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}
/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}
Gets a specific package version in an organization. OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}
/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore
Restores a specific package version in an organization. You can restore a deleted package under the following conditions: - The package was deleted within the last 30 days. - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. The authenticated user must have admin permissions in the organization to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must also have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore
/user/docker/conflicts
Lists all packages that are owned by the authenticated user within the user's namespace, and that encountered a conflict during a Docker migration. OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint.
GET /user/docker/conflicts
/user/packages
Lists packages owned by the authenticated user within the user's namespace. OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| package_type | query | required | string | The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. |
| optional | ||||
| optional | ||||
| optional |
GET /user/packages
/user/packages/{package_type}/{package_name}
Deletes a package owned by the authenticated user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
DELETE /user/packages/{package_type}/{package_name}
/user/packages/{package_type}/{package_name}
Gets a specific package for a package owned by the authenticated user. OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /user/packages/{package_type}/{package_name}
/user/packages/{package_type}/{package_name}/restore
Restores a package owned by the authenticated user. You can restore a deleted package under the following conditions: - The package was deleted within the last 30 days. - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| token | query | optional | string | package token |
POST /user/packages/{package_type}/{package_name}/restore
/user/packages/{package_type}/{package_name}/versions
Lists package versions for a package owned by the authenticated user. OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| state | query | optional | string | The state of the package, either active or deleted. |
GET /user/packages/{package_type}/{package_name}/versions
/user/packages/{package_type}/{package_name}/versions/{package_version_id}
Deletes a specific package version for a package owned by the authenticated user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. The authenticated user must have admin permissions in the organization to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}
/user/packages/{package_type}/{package_name}/versions/{package_version_id}
Gets a specific package version for a package owned by the authenticated user. OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}
/user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore
Restores a package version owned by the authenticated user. You can restore a deleted package version under the following conditions: - The package was deleted within the last 30 days. - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore
/users/{username}/docker/conflicts
Lists all packages that are in a specific user's namespace, that the requesting user has access to, and that encountered a conflict during Docker migration. OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /users/{username}/docker/conflicts
/users/{username}/packages
Lists all packages in a user's namespace for which the requesting user has access. OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| package_type | query | required | string | The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. |
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /users/{username}/packages
/users/{username}/packages/{package_type}/{package_name}
Deletes an entire package for a user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
DELETE /users/{username}/packages/{package_type}/{package_name}
/users/{username}/packages/{package_type}/{package_name}
Gets a specific package metadata for a public package owned by a user. OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /users/{username}/packages/{package_type}/{package_name}
/users/{username}/packages/{package_type}/{package_name}/restore
Restores an entire package for a user. You can restore a deleted package under the following conditions: - The package was deleted within the last 30 days. - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| token | query | optional | string | package token |
POST /users/{username}/packages/{package_type}/{package_name}/restore
/users/{username}/packages/{package_type}/{package_name}/versions
Lists package versions for a public package owned by a specified user. OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /users/{username}/packages/{package_type}/{package_name}/versions
/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}
Deletes a specific package version for a user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}
/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}
Gets a specific package version for a public package owned by a specified user. OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}
/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore
Restores a specific package version for a user. You can restore a deleted package under the following conditions: - The package was deleted within the last 30 days. - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore
/orgs/{org}/private-registries
Lists all private registry configurations available at the organization-level without revealing their encrypted values. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/private-registries
/orgs/{org}/private-registries
Creates a private registry configuration with an encrypted value for an organization. Encrypt your secret using [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." For OIDC-based registries (`oidc_azure`, `oidc_aws`, or `oidc_jfrog`), the `encrypted_value` and `key_id` fields should be omitted. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"registry_type",
"url",
"visibility"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "The URL of the private registry."
},
"domain": {
"type": "string",
"description": "The CodeArtifact domain. Required when `auth_type` is `oidc_aws`."
},
"key_id": {
"type": "string",
"description": "The ID of the key you used to encrypt the secret. Required when `auth_type` is `token` or `username_password`. Should be omitted for OIDC auth types."
},
"audience": {
"type": "string",
"description": "The OIDC audience. Optional for `oidc_aws` and `oidc_jfrog` auth types."
},
"username": {
"type": "string",
"nullable": true,
"description": "The username to use when authenticating with the private registry. This field should be omitted if the private registry does not require a username for authentication."
},
"auth_type": {
"enum": [
"token",
"username_password",
"oidc_azure",
"oidc_aws",
"oidc_jfrog"
],
"type": "string",
"description": "The authentication type for the private registry. Defaults to `token` if not specified. Use `oidc_azure`, `oidc_aws`, or `oidc_jfrog` for OIDC authentication."
},
"client_id": {
"type": "string",
"description": "The client ID of the Azure AD application. Required when `auth_type` is `oidc_azure`."
},
"role_name": {
"type": "string",
"description": "The AWS IAM role name. Required when `auth_type` is `oidc_aws`."
},
"tenant_id": {
"type": "string",
"description": "The tenant ID of the Azure AD application. Required when `auth_type` is `oidc_azure`."
},
"account_id": {
"type": "string",
"description": "The AWS account ID. Required when `auth_type` is `oidc_aws`."
},
"aws_region": {
"type": "string",
"description": "The AWS region. Required when `auth_type` is `oidc_aws`."
},
"visibility": {
"enum": [
"all",
"private",
"selected"
],
"type": "string",
"description": "Which type of organization repositories have access to the private registry. `selected` means only the repositories specified by `selected_repository_ids` can access the private registry."
},
"domain_owner": {
"type": "string",
"description": "The CodeArtifact domain owner (AWS account ID). Required when `auth_type` is `oidc_aws`."
},
"registry_type": {
"enum": [
"maven_repository",
"nuget_feed",
"goproxy_server",
"npm_registry",
"rubygems_server",
"cargo_registry",
"composer_repository",
"docker_registry",
"git_source",
"helm_registry",
"hex_organization",
"hex_repository",
"pub_repository",
"python_index",
"terraform_registry"
],
"type": "string",
"description": "The registry type."
},
"replaces_base": {
"type": "boolean",
"default": false,
"description": "Whether this private registry should replace the base registry (e.g., npmjs.org for npm, rubygems.org for rubygems). When set to `true`, Dependabot will only use this registry and will not fall back to the public registry. When set to `false` (default), Dependabot will use this registry for scoped packages but may fall back to the public registry for other packages."
},
"encrypted_value": {
"type": "string",
"pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$",
"description": "The value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get private registries public key for an organization](https://docs.github.com/rest/private-registries/organization-configurations#get-private-registries-public-key-for-an-organization) endpoint. Required when `auth_type` is `token` or `username_password`. Should be omitted for OIDC auth types."
},
"identity_mapping_name": {
"type": "string",
"description": "The JFrog identity mapping name. Optional for `oidc_jfrog` auth type."
},
"selected_repository_ids": {
"type": "array",
"items": {
"type": "integer"
},
"description": "An array of repository IDs that can access the organization private registry. You can only provide a list of repository IDs when `visibility` is set to `selected`. You can manage the list of selected repositories using the [Update a private registry for an organization](https://docs.github.com/rest/private-registries/organization-configurations#update-a-private-registry-for-an-organization) endpoint. This field should be omitted if `visibility` is set to `all` or `private`."
},
"jfrog_oidc_provider_name": {
"type": "string",
"description": "The JFrog OIDC provider name. Required when `auth_type` is `oidc_jfrog`."
}
}
},
"examples": {
"org-private-registry-with-oidc-azure": {
"value": {
"url": "https://myregistry.azurecr.io",
"auth_type": "oidc_azure",
"client_id": "abcdef01-2345-6789-abcd-ef0123456789",
"tenant_id": "12345678-1234-1234-1234-123456789012",
"visibility": "all",
"registry_type": "docker_registry"
},
"summary": "Example of an OIDC private registry configuration using Azure"
},
"org-private-registry-with-private-visibility": {
"value": {
"url": "https://maven.pkg.github.com/organization/",
"key_id": "012345678912345678",
"username": "monalisa",
"visibility": "private",
"registry_type": "maven_repository",
"replaces_base": true,
"encrypted_value": "c2VjcmV0"
},
"summary": "Example of a private registry configuration with private visibility"
},
"org-private-registry-with-selected-visibility": {
"value": {
"url": "https://maven.pkg.github.com/organization/",
"key_id": "012345678912345678",
"username": "monalisa",
"visibility": "selected",
"registry_type": "maven_repository",
"encrypted_value": "c2VjcmV0",
"selected_repository_ids": [
1296269,
1296280
]
},
"summary": "Example of a private registry configuration with selected visibility"
}
}
}
},
"required": true
}
POST /orgs/{org}/private-registries
/orgs/{org}/private-registries/public-key
Gets the org public key, which is needed to encrypt private registry secrets. You need to encrypt a secret before you can create or update secrets. OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /orgs/{org}/private-registries/public-key
/orgs/{org}/private-registries/{secret_name}
Delete a private registry configuration at the organization-level. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
DELETE /orgs/{org}/private-registries/{secret_name}
/orgs/{org}/private-registries/{secret_name}
Get the configuration of a single private registry defined for an organization, omitting its encrypted value. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /orgs/{org}/private-registries/{secret_name}
/orgs/{org}/private-registries/{secret_name}
Updates a private registry configuration with an encrypted value for an organization. Encrypt your secret using [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." For OIDC-based registries (`oidc_azure`, `oidc_aws`, or `oidc_jfrog`), the `encrypted_value` and `key_id` fields should be omitted. OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "The URL of the private registry."
},
"domain": {
"type": "string",
"description": "The CodeArtifact domain. Required when `auth_type` is `oidc_aws`."
},
"key_id": {
"type": "string",
"description": "The ID of the key you used to encrypt the secret."
},
"audience": {
"type": "string",
"description": "The OIDC audience. Optional for `oidc_aws` and `oidc_jfrog` auth types."
},
"username": {
"type": "string",
"nullable": true,
"description": "The username to use when authenticating with the private registry. This field should be omitted if the private registry does not require a username for authentication."
},
"auth_type": {
"enum": [
"token",
"username_password",
"oidc_azure",
"oidc_aws",
"oidc_jfrog"
],
"type": "string",
"description": "The authentication type for the private registry. This field cannot be changed after creation. If provided, it must match the existing `auth_type` of the configuration. To change the authentication type, delete and recreate the configuration."
},
"client_id": {
"type": "string",
"description": "The client ID of the Azure AD application. Required when `auth_type` is `oidc_azure`."
},
"role_name": {
"type": "string",
"description": "The AWS IAM role name. Required when `auth_type` is `oidc_aws`."
},
"tenant_id": {
"type": "string",
"description": "The tenant ID of the Azure AD application. Required when `auth_type` is `oidc_azure`."
},
"account_id": {
"type": "string",
"description": "The AWS account ID. Required when `auth_type` is `oidc_aws`."
},
"aws_region": {
"type": "string",
"description": "The AWS region. Required when `auth_type` is `oidc_aws`."
},
"visibility": {
"enum": [
"all",
"private",
"selected"
],
"type": "string",
"description": "Which type of organization repositories have access to the private registry. `selected` means only the repositories specified by `selected_repository_ids` can access the private registry."
},
"domain_owner": {
"type": "string",
"description": "The CodeArtifact domain owner (AWS account ID). Required when `auth_type` is `oidc_aws`."
},
"registry_type": {
"enum": [
"maven_repository",
"nuget_feed",
"goproxy_server",
"npm_registry",
"rubygems_server",
"cargo_registry",
"composer_repository",
"docker_registry",
"git_source",
"helm_registry",
"hex_organization",
"hex_repository",
"pub_repository",
"python_index",
"terraform_registry"
],
"type": "string",
"description": "The registry type."
},
"replaces_base": {
"type": "boolean",
"default": false,
"description": "Whether this private registry should replace the base registry (e.g., npmjs.org for npm, rubygems.org for rubygems). When set to `true`, Dependabot will only use this registry and will not fall back to the public registry. When set to `false` (default), Dependabot will use this registry for scoped packages but may fall back to the public registry for other packages."
},
"encrypted_value": {
"type": "string",
"pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$",
"description": "The value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get private registries public key for an organization](https://docs.github.com/rest/private-registries/organization-configurations#get-private-registries-public-key-for-an-organization) endpoint."
},
"identity_mapping_name": {
"type": "string",
"description": "The JFrog identity mapping name. Optional for `oidc_jfrog` auth type."
},
"selected_repository_ids": {
"type": "array",
"items": {
"type": "integer"
},
"description": "An array of repository IDs that can access the organization private registry. You can only provide a list of repository IDs when `visibility` is set to `selected`. This field should be omitted if `visibility` is set to `all` or `private`."
},
"jfrog_oidc_provider_name": {
"type": "string",
"description": "The JFrog OIDC provider name. Required when `auth_type` is `oidc_jfrog`."
}
}
},
"examples": {
"oidc-azure-update": {
"value": {
"tenant_id": "12345678-1234-1234-1234-123456789012",
"visibility": "selected",
"selected_repository_ids": [
1296269,
1296280
]
},
"summary": "Update an OIDC private registry (Azure)"
},
"secret-based-update": {
"value": {
"key_id": "012345678912345678",
"username": "monalisa",
"encrypted_value": "c2VjcmV0"
},
"summary": "Update a secret-based private registry"
}
}
}
},
"required": true
}
PATCH /orgs/{org}/private-registries/{secret_name}
/orgs/{org}/projectsV2
List all projects owned by a specific organization accessible by the authenticated user.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| q | query | optional | string | Limit results to projects of the specified type. |
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/projectsV2
/orgs/{org}/projectsV2/{project_number}
Get a specific organization-owned project.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /orgs/{org}/projectsV2/{project_number}
/orgs/{org}/projectsV2/{project_number}/drafts
Create draft issue item for the specified organization owned project.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"title"
],
"properties": {
"body": {
"type": "string",
"description": "The body content of the draft issue item to create in the project."
},
"title": {
"type": "string",
"description": "The title of the draft issue item to create in the project."
}
}
},
"examples": {
"body": {
"value": {
"body": "This is the body content of the draft issue.",
"title": "Sample Draft Issue Title"
},
"summary": "Example with Sample Draft Issue Title and Body"
},
"title": {
"value": {
"title": "Sample Draft Issue Title"
},
"summary": "Example with Sample Draft Issue Title"
}
}
}
},
"required": true,
"description": "Details of the draft item to create in the project."
}
POST /orgs/{org}/projectsV2/{project_number}/drafts
/orgs/{org}/projectsV2/{project_number}/fields
List all fields for a specific organization-owned project.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/projectsV2/{project_number}/fields
/orgs/{org}/projectsV2/{project_number}/fields
Add a field to an organization-owned project.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"oneOf": [
{
"type": "object",
"required": [
"issue_field_id"
],
"properties": {
"issue_field_id": {
"type": "integer",
"description": "The ID of the IssueField to create the field for."
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"name",
"data_type"
],
"properties": {
"name": {
"type": "string",
"description": "The name of the field."
},
"data_type": {
"enum": [
"text",
"number",
"date"
],
"type": "string",
"description": "The field's data type."
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"name",
"data_type",
"single_select_options"
],
"properties": {
"name": {
"type": "string",
"description": "The name of the field."
},
"data_type": {
"enum": [
"single_select"
],
"type": "string",
"description": "The field's data type."
},
"single_select_options": {
"type": "array",
"items": {
"$ref": "#/components/schemas/projects-v2-field-single-select-option"
},
"description": "The options available for single select fields. At least one option must be provided when creating a single select field."
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"name",
"data_type",
"iteration_configuration"
],
"properties": {
"name": {
"type": "string",
"description": "The name of the field."
},
"data_type": {
"enum": [
"iteration"
],
"type": "string",
"description": "The field's data type."
},
"iteration_configuration": {
"$ref": "#/components/schemas/projects-v2-field-iteration-configuration"
}
},
"additionalProperties": false
}
]
},
"examples": {
"date_field": {
"value": {
"name": "Due date",
"data_type": "date"
},
"summary": "Create a date field"
},
"text_field": {
"value": {
"name": "Team notes",
"data_type": "text"
},
"summary": "Create a text field"
},
"number_field": {
"value": {
"name": "Story points",
"data_type": "number"
},
"summary": "Create a number field"
},
"iteration_field": {
"$ref": "#/components/examples/projects-v2-field-iteration-request"
},
"single_select_field": {
"$ref": "#/components/examples/projects-v2-field-single-select-request"
}
}
}
},
"required": true
}
POST /orgs/{org}/projectsV2/{project_number}/fields
/orgs/{org}/projectsV2/{project_number}/fields/{field_id}
Get a specific field for an organization-owned project.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/projectsV2/{project_number}/fields/{field_id}
/orgs/{org}/projectsV2/{project_number}/items
List all items for a specific organization-owned project accessible by the authenticated user.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| q | query | optional | string | Search query to filter items, see [Filtering projects](https://docs.github.com/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/filtering-projects) for more information. |
| fields | query | optional | Limit results to specific fields, by their IDs. If not specified, the title field will be returned. Example: `fields[]=123&fields[]=456&fields[]=789` or `fields=123,456,789` | |
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/projectsV2/{project_number}/items
/orgs/{org}/projectsV2/{project_number}/items
Add an issue or pull request item to the specified organization owned project.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"oneOf": [
{
"required": [
"id"
]
},
{
"required": [
"owner",
"repo",
"number"
]
}
],
"required": [
"type"
],
"properties": {
"id": {
"type": "integer",
"description": "The unique identifier of the issue or pull request to add to the project."
},
"repo": {
"type": "string",
"description": "The repository name."
},
"type": {
"enum": [
"Issue",
"PullRequest"
],
"type": "string",
"description": "The type of item to add to the project. Must be either Issue or PullRequest."
},
"owner": {
"type": "string",
"description": "The repository owner login."
},
"number": {
"type": "integer",
"description": "The issue or pull request number."
}
},
"additionalProperties": false
},
"examples": {
"issue_with_id": {
"value": {
"id": 3,
"type": "Issue"
},
"summary": "Add an issue using its unique ID"
},
"issue_with_nwo": {
"value": {
"repo": "hello-world",
"type": "Issue",
"owner": "octocat",
"number": 42
},
"summary": "Add an issue using repository owner, name, and issue number"
},
"pull_request_with_id": {
"value": {
"id": 3,
"type": "PullRequest"
},
"summary": "Add a pull request using its unique ID"
},
"pull_request_with_nwo": {
"value": {
"repo": "hello-world",
"type": "PullRequest",
"owner": "octocat",
"number": 123
},
"summary": "Add a pull request using repository owner, name, and PR number"
}
}
}
},
"required": true,
"description": "Details of the item to add to the project. You can specify either the unique ID or the repository owner, name, and issue/PR number."
}
POST /orgs/{org}/projectsV2/{project_number}/items
/orgs/{org}/projectsV2/{project_number}/items/{item_id}
Delete a specific item from an organization-owned project.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
DELETE /orgs/{org}/projectsV2/{project_number}/items/{item_id}
/orgs/{org}/projectsV2/{project_number}/items/{item_id}
Get a specific item from an organization-owned project.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| fields | query | optional | Limit results to specific fields, by their IDs. If not specified, the title field will be returned. Example: fields[]=123&fields[]=456&fields[]=789 or fields=123,456,789 |
GET /orgs/{org}/projectsV2/{project_number}/items/{item_id}
/orgs/{org}/projectsV2/{project_number}/items/{item_id}
Update a specific item in an organization-owned project.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"fields"
],
"properties": {
"fields": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"value"
],
"properties": {
"id": {
"type": "integer",
"description": "The ID of the project field to update."
},
"value": {
"oneOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"nullable": true,
"description": "The new value for the field:\n- For text, number, and date fields, provide the new value directly.\n- For single select and iteration fields, provide the ID of the option or iteration.\n- To clear the field, set this to null."
}
}
},
"description": "A list of field updates to apply."
}
}
},
"examples": {
"date_field": {
"value": {
"fields": [
{
"id": 789,
"value": "2023-10-05"
}
]
},
"summary": "Update a date field"
},
"text_field": {
"value": {
"fields": [
{
"id": 123,
"value": "Updated text value"
}
]
},
"summary": "Update a text field"
},
"number_field": {
"value": {
"fields": [
{
"id": 456,
"value": 42.5
}
]
},
"summary": "Update a number field"
},
"iteration_field": {
"value": {
"fields": [
{
"id": 1011,
"value": "866ee5b8"
}
]
},
"summary": "Update an iteration field"
},
"single_select_field": {
"value": {
"fields": [
{
"id": 789,
"value": "47fc9ee4"
}
]
},
"summary": "Update a single select field"
}
}
}
},
"required": true,
"description": "Field updates to apply to the project item. Only text, number, date, single select, and iteration fields are supported."
}
PATCH /orgs/{org}/projectsV2/{project_number}/items/{item_id}
/orgs/{org}/projectsV2/{project_number}/views
Create a new view in an organization-owned project. Views allow you to customize how items in a project are displayed and filtered.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"name",
"layout"
],
"properties": {
"name": {
"type": "string",
"example": "Sprint Board",
"description": "The name of the view."
},
"filter": {
"type": "string",
"example": "is:issue is:open",
"description": "The filter query for the view. See [Filtering projects](https://docs.github.com/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/filtering-projects) for more information."
},
"layout": {
"enum": [
"table",
"board",
"roadmap"
],
"type": "string",
"example": "board",
"description": "The layout of the view."
},
"visible_fields": {
"type": "array",
"items": {
"type": "integer"
},
"example": [
123,
456,
789
],
"description": "`visible_fields` is not applicable to `roadmap` layout views.\nFor `table` and `board` layouts, this represents the field IDs that should be visible in the view. If not provided, the default visible fields will be used."
}
},
"additionalProperties": false
},
"examples": {
"board_view": {
"value": {
"name": "Sprint Board",
"filter": "is:issue is:open label:sprint",
"layout": "board",
"visible_fields": [
123,
456,
789
]
},
"summary": "Create a board view with filter"
},
"table_view": {
"value": {
"name": "All Issues",
"filter": "is:issue",
"layout": "table",
"visible_fields": [
123,
456,
789
]
},
"summary": "Create a table view"
},
"roadmap_view": {
"value": {
"name": "Product Roadmap",
"layout": "roadmap"
},
"summary": "Create a roadmap view"
}
}
}
},
"required": true
}
POST /orgs/{org}/projectsV2/{project_number}/views
/orgs/{org}/projectsV2/{project_number}/views/{view_number}/items
List items in an organization project with the saved view's filter applied.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| fields | query | optional | Limit results to specific fields, by their IDs. If not specified, the title field will be returned. Example: `fields[]=123&fields[]=456&fields[]=789` or `fields=123,456,789` | |
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/projectsV2/{project_number}/views/{view_number}/items
/user/{user_id}/projectsV2/{project_number}/drafts
Create draft issue item for the specified user owned project.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"title"
],
"properties": {
"body": {
"type": "string",
"description": "The body content of the draft issue item to create in the project."
},
"title": {
"type": "string",
"description": "The title of the draft issue item to create in the project."
}
}
},
"examples": {
"body": {
"value": {
"body": "This is the body content of the draft issue.",
"title": "Sample Draft Issue Title"
},
"summary": "Example with Sample Draft Issue Title and Body"
},
"title": {
"value": {
"title": "Sample Draft Issue Title"
},
"summary": "Example with Sample Draft Issue Title"
}
}
}
},
"required": true,
"description": "Details of the draft item to create in the project."
}
POST /user/{user_id}/projectsV2/{project_number}/drafts
/users/{user_id}/projectsV2/{project_number}/views
Create a new view in a user-owned project. Views allow you to customize how items in a project are displayed and filtered.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"name",
"layout"
],
"properties": {
"name": {
"type": "string",
"example": "Sprint Board",
"description": "The name of the view."
},
"filter": {
"type": "string",
"example": "is:issue is:open",
"description": "The filter query for the view. See [Filtering projects](https://docs.github.com/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/filtering-projects) for more information."
},
"layout": {
"enum": [
"table",
"board",
"roadmap"
],
"type": "string",
"example": "board",
"description": "The layout of the view."
},
"visible_fields": {
"type": "array",
"items": {
"type": "integer"
},
"example": [
123,
456,
789
],
"description": "`visible_fields` is not applicable to `roadmap` layout views.\nFor `table` and `board` layouts, this represents the field IDs that should be visible in the view. If not provided, the default visible fields will be used."
}
},
"additionalProperties": false
},
"examples": {
"board_view": {
"value": {
"name": "Sprint Board",
"filter": "is:issue is:open label:sprint",
"layout": "board",
"visible_fields": [
123,
456,
789
]
},
"summary": "Create a board view with filter"
},
"table_view": {
"value": {
"name": "All Issues",
"filter": "is:issue",
"layout": "table",
"visible_fields": [
123,
456,
789
]
},
"summary": "Create a table view"
},
"roadmap_view": {
"value": {
"name": "Product Roadmap",
"layout": "roadmap"
},
"summary": "Create a roadmap view"
}
}
}
},
"required": true
}
POST /users/{user_id}/projectsV2/{project_number}/views
/users/{username}/projectsV2
List all projects owned by a specific user accessible by the authenticated user.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| q | query | optional | string | Limit results to projects of the specified type. |
| optional | ||||
| optional | ||||
| optional |
GET /users/{username}/projectsV2
/users/{username}/projectsV2/{project_number}
Get a specific user-owned project.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /users/{username}/projectsV2/{project_number}
/users/{username}/projectsV2/{project_number}/fields
List all fields for a specific user-owned project.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /users/{username}/projectsV2/{project_number}/fields
/users/{username}/projectsV2/{project_number}/fields
Add a field to a specified user owned project.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"oneOf": [
{
"type": "object",
"required": [
"name",
"data_type"
],
"properties": {
"name": {
"type": "string",
"description": "The name of the field."
},
"data_type": {
"enum": [
"text",
"number",
"date"
],
"type": "string",
"description": "The field's data type."
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"name",
"data_type",
"single_select_options"
],
"properties": {
"name": {
"type": "string",
"description": "The name of the field."
},
"data_type": {
"enum": [
"single_select"
],
"type": "string",
"description": "The field's data type."
},
"single_select_options": {
"type": "array",
"items": {
"$ref": "#/components/schemas/projects-v2-field-single-select-option"
},
"description": "The options available for single select fields. At least one option must be provided when creating a single select field."
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"name",
"data_type",
"iteration_configuration"
],
"properties": {
"name": {
"type": "string",
"description": "The name of the field."
},
"data_type": {
"enum": [
"iteration"
],
"type": "string",
"description": "The field's data type."
},
"iteration_configuration": {
"$ref": "#/components/schemas/projects-v2-field-iteration-configuration"
}
},
"additionalProperties": false
}
]
},
"examples": {
"date_field": {
"value": {
"name": "Due date",
"data_type": "date"
},
"summary": "Create a date field"
},
"text_field": {
"value": {
"name": "Team notes",
"data_type": "text"
},
"summary": "Create a text field"
},
"number_field": {
"value": {
"name": "Story points",
"data_type": "number"
},
"summary": "Create a number field"
},
"iteration_field": {
"$ref": "#/components/examples/projects-v2-field-iteration-request"
},
"single_select_field": {
"$ref": "#/components/examples/projects-v2-field-single-select-request"
}
}
}
},
"required": true
}
POST /users/{username}/projectsV2/{project_number}/fields
/users/{username}/projectsV2/{project_number}/fields/{field_id}
Get a specific field for a user-owned project.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /users/{username}/projectsV2/{project_number}/fields/{field_id}
/users/{username}/projectsV2/{project_number}/items
List all items for a specific user-owned project accessible by the authenticated user.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| q | query | optional | string | Search query to filter items, see [Filtering projects](https://docs.github.com/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/filtering-projects) for more information. |
| fields | query | optional | Limit results to specific fields, by their IDs. If not specified, the title field will be returned. Example: `fields[]=123&fields[]=456&fields[]=789` or `fields=123,456,789` |
GET /users/{username}/projectsV2/{project_number}/items
/users/{username}/projectsV2/{project_number}/items
Add an issue or pull request item to the specified user owned project.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"oneOf": [
{
"required": [
"id"
]
},
{
"required": [
"owner",
"repo",
"number"
]
}
],
"required": [
"type"
],
"properties": {
"id": {
"type": "integer",
"description": "The unique identifier of the issue or pull request to add to the project."
},
"repo": {
"type": "string",
"description": "The repository name."
},
"type": {
"enum": [
"Issue",
"PullRequest"
],
"type": "string",
"description": "The type of item to add to the project. Must be either Issue or PullRequest."
},
"owner": {
"type": "string",
"description": "The repository owner login."
},
"number": {
"type": "integer",
"description": "The issue or pull request number."
}
},
"additionalProperties": false
},
"examples": {
"issue_with_id": {
"value": {
"id": 3,
"type": "Issue"
},
"summary": "Add an issue using its unique ID"
},
"issue_with_nwo": {
"value": {
"repo": "hello-world",
"type": "Issue",
"owner": "octocat",
"number": 42
},
"summary": "Add an issue using repository owner, name, and issue number"
},
"pull_request_with_id": {
"value": {
"id": 3,
"type": "PullRequest"
},
"summary": "Add a pull request using its unique ID"
},
"pull_request_with_nwo": {
"value": {
"repo": "hello-world",
"type": "PullRequest",
"owner": "octocat",
"number": 123
},
"summary": "Add a pull request using repository owner, name, and PR number"
}
}
}
},
"required": true,
"description": "Details of the item to add to the project. You can specify either the unique ID or the repository owner, name, and issue/PR number."
}
POST /users/{username}/projectsV2/{project_number}/items
/users/{username}/projectsV2/{project_number}/items/{item_id}
Delete a specific item from a user-owned project.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
DELETE /users/{username}/projectsV2/{project_number}/items/{item_id}
/users/{username}/projectsV2/{project_number}/items/{item_id}
Get a specific item from a user-owned project.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| fields | query | optional | Limit results to specific fields, by their IDs. If not specified, the title field will be returned. Example: fields[]=123&fields[]=456&fields[]=789 or fields=123,456,789 |
GET /users/{username}/projectsV2/{project_number}/items/{item_id}
/users/{username}/projectsV2/{project_number}/items/{item_id}
Update a specific item in a user-owned project.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"fields"
],
"properties": {
"fields": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"value"
],
"properties": {
"id": {
"type": "integer",
"description": "The ID of the project field to update."
},
"value": {
"oneOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"nullable": true,
"description": "The new value for the field:\n- For text, number, and date fields, provide the new value directly.\n- For single select and iteration fields, provide the ID of the option or iteration.\n- To clear the field, set this to null."
}
}
},
"description": "A list of field updates to apply."
}
}
},
"examples": {
"date_field": {
"value": {
"fields": [
{
"id": 789,
"value": "2023-10-05"
}
]
},
"summary": "Update a date field"
},
"text_field": {
"value": {
"fields": [
{
"id": 123,
"value": "Updated text value"
}
]
},
"summary": "Update a text field"
},
"number_field": {
"value": {
"fields": [
{
"id": 456,
"value": 42.5
}
]
},
"summary": "Update a number field"
},
"iteration_field": {
"value": {
"fields": [
{
"id": 1011,
"value": "866ee5b8"
}
]
},
"summary": "Update an iteration field"
},
"single_select_field": {
"value": {
"fields": [
{
"id": 789,
"value": "47fc9ee4"
}
]
},
"summary": "Update a single select field"
}
}
}
},
"required": true,
"description": "Field updates to apply to the project item. Only text, number, date, single select, and iteration fields are supported."
}
PATCH /users/{username}/projectsV2/{project_number}/items/{item_id}
/users/{username}/projectsV2/{project_number}/views/{view_number}/items
List items in a user project with the saved view's filter applied.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| fields | query | optional | Limit results to specific fields, by their IDs. If not specified, the title field will be returned. Example: `fields[]=123&fields[]=456&fields[]=789` or `fields=123,456,789` | |
| optional | ||||
| optional | ||||
| optional |
GET /users/{username}/projectsV2/{project_number}/views/{view_number}/items
/repos/{owner}/{repo}/pulls
Lists pull requests in a specified repository. Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| state | query | optional | string | Either `open`, `closed`, or `all` to filter by state. |
| head | query | optional | string | Filter pulls by head user or head organization and branch name in the format of `user:ref-name` or `organization:ref-name`. For example: `github:new-script-format` or `octocat:test-branch`. |
| base | query | optional | string | Filter pulls by base branch name. Example: `gh-pages`. |
| sort | query | optional | string | What to sort results by. `popularity` will sort by the number of comments. `long-running` will sort by date created and will limit the results to pull requests that have been open for more than a month and have had activity within the past month. |
| direction | query | optional | string | The direction of the sort. Default: `desc` when sort is `created` or sort is not specified, otherwise `asc`. |
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/pulls
/repos/{owner}/{repo}/pulls
Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"head",
"base"
],
"properties": {
"base": {
"type": "string",
"description": "The name of the branch you want the changes pulled into. This should be an existing branch on the current repository. You cannot submit a pull request to one repository that requests a merge to a base of another repository."
},
"body": {
"type": "string",
"description": "The contents of the pull request."
},
"head": {
"type": "string",
"description": "The name of the branch where your changes are implemented. For cross-repository pull requests in the same network, namespace `head` with a user like this: `username:branch`."
},
"draft": {
"type": "boolean",
"description": "Indicates whether the pull request is a draft. See \"[Draft Pull Requests](https://docs.github.com/articles/about-pull-requests#draft-pull-requests)\" in the GitHub Help documentation to learn more."
},
"issue": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "An issue in the repository to convert to a pull request. The issue title, body, and comments will become the title, body, and comments on the new pull request. Required unless `title` is specified."
},
"title": {
"type": "string",
"description": "The title of the new pull request. Required unless `issue` is specified."
},
"head_repo": {
"type": "string",
"format": "repo.nwo",
"example": "octo-org/octo-repo",
"description": "The name of the repository where the changes in the pull request were made. This field is required for cross-repository pull requests if both repositories are owned by the same organization."
},
"maintainer_can_modify": {
"type": "boolean",
"description": "Indicates whether [maintainers can modify](https://docs.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request."
}
}
},
"examples": {
"default": {
"value": {
"base": "master",
"body": "Please pull these awesome changes in!",
"head": "octocat:new-feature",
"title": "Amazing new feature"
}
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/pulls
/repos/{owner}/{repo}/pulls/comments
Lists review comments for all pull requests in a repository. By default, review comments are in ascending order by ID. This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| sort | query | optional | string | |
| direction | query | optional | string | The direction to sort results. Ignored without `sort` parameter. |
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/pulls/comments
/repos/{owner}/{repo}/pulls/comments/{comment_id}
Deletes a review comment.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}
/repos/{owner}/{repo}/pulls/comments/{comment_id}
Provides details for a specified review comment. This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/pulls/comments/{comment_id}
/repos/{owner}/{repo}/pulls/comments/{comment_id}
Edits the content of a specified review comment. This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"body"
],
"properties": {
"body": {
"type": "string",
"description": "The text of the reply to the review comment."
}
}
},
"examples": {
"default": {
"value": {
"body": "I like this too!"
}
}
}
}
},
"required": true
}
PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}
/repos/{owner}/{repo}/pulls/{pull_number}
Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. Lists details of a pull request by providing its number. When you get, [create](https://docs.github.com/rest/pulls/pulls/#create-a-pull-request), or [edit](https://docs.github.com/rest/pulls/pulls#update-a-pull-request) a pull request, GitHub creates a merge commit to test whether the pull request can be automatically merged into the base branch. This test commit is not added to the base branch or the head branch. You can review the status of the test commit using the `mergeable` key. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". The value of the `mergeable` attribute can be `true`, `false`, or `null`. If the value is `null`, then GitHub has started a background job to compute the mergeability. After giving the job time to complete, resubmit the request. When the job finishes, you will see a non-`null` value for the `mergeable` attribute in the response. If `mergeable` is `true`, then `merge_commit_sha` will be the SHA of the _test_ merge commit. The value of the `merge_commit_sha` attribute changes depending on the state of the pull request. Before merging a pull request, the `merge_commit_sha` attribute holds the SHA of the _test_ merge commit. After merging a pull request, the `merge_commit_sha` attribute changes depending on how you merged the pull request: * If merged as a [merge commit](https://docs.github.com/articles/about-merge-methods-on-github/), `merge_commit_sha` represents the SHA of the merge commit. * If merged via a [squash](https://docs.github.com/articles/about-merge-methods-on-github/#squashing-your-merge-commits), `merge_commit_sha` represents the SHA of the squashed commit on the base branch. * If [rebased](https://docs.github.com/articles/about-merge-methods-on-github/#rebasing-and-merging-your-commits), `merge_commit_sha` represents the commit that the base branch was updated to. Pass the appropriate [media type](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types) to fetch diff and patch formats. This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. - **`application/vnd.github.diff`**: For more information, see "[git-diff](https://git-scm.com/docs/git-diff)" in the Git documentation. If a diff is corrupt, contact us through the [GitHub Support portal](https://support.github.com/). Include the repository name and pull request ID in your message.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/pulls/{pull_number}
/repos/{owner}/{repo}/pulls/{pull_number}
Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"base": {
"type": "string",
"description": "The name of the branch you want your changes pulled into. This should be an existing branch on the current repository. You cannot update the base branch on a pull request to point to another repository."
},
"body": {
"type": "string",
"description": "The contents of the pull request."
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "State of this Pull Request. Either `open` or `closed`."
},
"title": {
"type": "string",
"description": "The title of the pull request."
},
"maintainer_can_modify": {
"type": "boolean",
"description": "Indicates whether [maintainers can modify](https://docs.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request."
}
}
},
"examples": {
"default": {
"value": {
"base": "master",
"body": "updated body",
"state": "open",
"title": "new title"
}
}
}
}
},
"required": false
}
PATCH /repos/{owner}/{repo}/pulls/{pull_number}
/repos/{owner}/{repo}/pulls/{pull_number}/comments
Lists all review comments for a specified pull request. By default, review comments are in ascending order by ID. This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| direction | query | optional | string | The direction to sort results. Ignored without `sort` parameter. |
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/pulls/{pull_number}/comments
/repos/{owner}/{repo}/pulls/{pull_number}/comments
Creates a review comment on the diff of a specified pull request. To add a regular comment to a pull request timeline, see "[Create an issue comment](https://docs.github.com/rest/issues/comments#create-an-issue-comment)." If your comment applies to more than one line in the pull request diff, you should use the parameters `line`, `side`, and optionally `start_line` and `start_side` in your request. The `position` parameter is closing down. If you use `position`, the `line`, `side`, `start_line`, and `start_side` parameters are not required. This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"body",
"commit_id",
"path"
],
"properties": {
"body": {
"type": "string",
"description": "The text of the review comment."
},
"line": {
"type": "integer",
"description": "**Required unless using `subject_type:file`**. The line of the blob in the pull request diff that the comment applies to. For a multi-line comment, the last line of the range that your comment applies to."
},
"path": {
"type": "string",
"description": "The relative path to the file that necessitates a comment."
},
"side": {
"enum": [
"LEFT",
"RIGHT"
],
"type": "string",
"description": "In a split diff view, the side of the diff that the pull request's changes appear on. Can be `LEFT` or `RIGHT`. Use `LEFT` for deletions that appear in red. Use `RIGHT` for additions that appear in green or unchanged lines that appear in white and are shown for context. For a multi-line comment, side represents whether the last line of the comment range is a deletion or addition. For more information, see \"[Diff view options](https://docs.github.com/articles/about-comparing-branches-in-pull-requests#diff-view-options)\" in the GitHub Help documentation."
},
"position": {
"type": "integer",
"x-github": {
"deprecationDate": "2022-11-01"
},
"deprecated": true,
"description": "**This parameter is closing down. Use `line` instead**. The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. The position value equals the number of lines down from the first \"@@\" hunk header in the file you want to add a comment. The line just below the \"@@\" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file."
},
"commit_id": {
"type": "string",
"description": "The SHA of the commit needing a comment. Not using the latest commit SHA may render your comment outdated if a subsequent commit modifies the line you specify as the `position`."
},
"start_line": {
"type": "integer",
"description": "**Required when using multi-line comments unless using `in_reply_to`**. The `start_line` is the first line in the pull request diff that your multi-line comment applies to. To learn more about multi-line comments, see \"[Commenting on a pull request](https://docs.github.com/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)\" in the GitHub Help documentation."
},
"start_side": {
"enum": [
"LEFT",
"RIGHT",
"side"
],
"type": "string",
"description": "**Required when using multi-line comments unless using `in_reply_to`**. The `start_side` is the starting side of the diff that the comment applies to. Can be `LEFT` or `RIGHT`. To learn more about multi-line comments, see \"[Commenting on a pull request](https://docs.github.com/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)\" in the GitHub Help documentation. See `side` in this table for additional context."
},
"in_reply_to": {
"type": "integer",
"example": 2,
"description": "The ID of the review comment to reply to. To find the ID of a review comment with [\"List review comments on a pull request\"](#list-review-comments-on-a-pull-request). When specified, all parameters other than `body` in the request body are ignored."
},
"subject_type": {
"enum": [
"line",
"file"
],
"type": "string",
"description": "The level at which the comment is targeted."
}
}
},
"examples": {
"example-for-a-multi-line-comment": {
"value": {
"body": "Great stuff!",
"line": 2,
"path": "file1.txt",
"side": "RIGHT",
"commit_id": "6dcb09b5b57875f334f61aebed695e2e4193db5e",
"start_line": 1,
"start_side": "RIGHT"
},
"summary": "Example for a multi-line comment"
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/pulls/{pull_number}/comments
/repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies
Creates a reply to a review comment for a pull request. For the `comment_id`, provide the ID of the review comment you are replying to. This must be the ID of a _top-level review comment_, not a reply to that comment. Replies to replies are not supported. This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"body"
],
"properties": {
"body": {
"type": "string",
"description": "The text of the review comment."
}
}
},
"examples": {
"default": {
"value": {
"body": "Great stuff!"
}
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies
/repos/{owner}/{repo}/pulls/{pull_number}/commits
Lists a maximum of 250 commits for a pull request. To receive a complete commit list for pull requests with more than 250 commits, use the [List commits](https://docs.github.com/rest/commits/commits#list-commits) endpoint. This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/pulls/{pull_number}/commits
/repos/{owner}/{repo}/pulls/{pull_number}/files
Lists the files in a specified pull request. > [!NOTE] > Responses include a maximum of 3000 files. The paginated response returns 30 files per page by default. This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/pulls/{pull_number}/files
/repos/{owner}/{repo}/pulls/{pull_number}/merge
Checks if a pull request has been merged into the base branch. The HTTP status of the response indicates whether or not the pull request has been merged; the response body is empty.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/pulls/{pull_number}/merge
/repos/{owner}/{repo}/pulls/{pull_number}/merge
Merges a pull request into the base branch. This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"nullable": true,
"properties": {
"sha": {
"type": "string",
"description": "SHA that pull request head must match to allow merge."
},
"commit_title": {
"type": "string",
"description": "Title for the automatic commit message."
},
"merge_method": {
"enum": [
"merge",
"squash",
"rebase"
],
"type": "string",
"description": "The merge method to use."
},
"commit_message": {
"type": "string",
"description": "Extra detail to append to automatic commit message."
}
}
},
"examples": {
"response-if-merge-was-successful": {
"value": {
"commit_title": "Expand enum",
"commit_message": "Add a new value to the merge_method enum"
}
}
}
}
},
"required": false
}
PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge
/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers
Removes review requests from a pull request for a given set of users and/or teams.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"reviewers"
],
"properties": {
"reviewers": {
"type": "array",
"items": {
"type": "string"
},
"description": "An array of user `login`s that will be removed."
},
"team_reviewers": {
"type": "array",
"items": {
"type": "string"
},
"description": "An array of team `slug`s that will be removed."
}
}
},
"examples": {
"default": {
"value": {
"reviewers": [
"octocat",
"hubot",
"other_user"
],
"team_reviewers": [
"justice-league"
]
}
}
}
}
},
"required": true
}
DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers
/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers
Gets the users or teams whose review is requested for a pull request. Once a requested reviewer submits a review, they are no longer considered a requested reviewer. Their review will instead be returned by the [List reviews for a pull request](https://docs.github.com/rest/pulls/reviews#list-reviews-for-a-pull-request) operation.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers
/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers
Requests reviews for a pull request from a given set of users and/or teams. This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"anyOf": [
{
"required": [
"reviewers"
]
},
{
"required": [
"team_reviewers"
]
}
],
"properties": {
"reviewers": {
"type": "array",
"items": {
"type": "string"
},
"description": "An array of user `login`s that will be requested."
},
"team_reviewers": {
"type": "array",
"items": {
"type": "string"
},
"description": "An array of team `slug`s that will be requested."
}
}
},
"examples": {
"default": {
"value": {
"reviewers": [
"octocat",
"hubot",
"other_user"
],
"team_reviewers": [
"justice-league"
]
}
}
}
}
},
"required": false
}
POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers
/repos/{owner}/{repo}/pulls/{pull_number}/reviews
Lists all reviews for a specified pull request. The list of reviews returns in chronological order. This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews
/repos/{owner}/{repo}/pulls/{pull_number}/reviews
Creates a review on a specified pull request. This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." Pull request reviews created in the `PENDING` state are not submitted and therefore do not include the `submitted_at` property in the response. To create a pending review for a pull request, leave the `event` parameter blank. For more information about submitting a `PENDING` review, see "[Submit a review for a pull request](https://docs.github.com/rest/pulls/reviews#submit-a-review-for-a-pull-request)." > [!NOTE] > To comment on a specific line in a file, you need to first determine the position of that line in the diff. To see a pull request diff, add the `application/vnd.github.v3.diff` media type to the `Accept` header of a call to the [Get a pull request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) endpoint. The `position` value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"body": {
"type": "string",
"description": "**Required** when using `REQUEST_CHANGES` or `COMMENT` for the `event` parameter. The body text of the pull request review."
},
"event": {
"enum": [
"APPROVE",
"REQUEST_CHANGES",
"COMMENT"
],
"type": "string",
"description": "The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. By leaving this blank, you set the review action state to `PENDING`, which means you will need to [submit the pull request review](https://docs.github.com/rest/pulls/reviews#submit-a-review-for-a-pull-request) when you are ready."
},
"comments": {
"type": "array",
"items": {
"type": "object",
"required": [
"path",
"body"
],
"properties": {
"body": {
"type": "string",
"description": "Text of the review comment."
},
"line": {
"type": "integer",
"example": 28
},
"path": {
"type": "string",
"description": "The relative path to the file that necessitates a review comment."
},
"side": {
"type": "string",
"example": "RIGHT"
},
"position": {
"type": "integer",
"description": "The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. The `position` value equals the number of lines down from the first \"@@\" hunk header in the file you want to add a comment. The line just below the \"@@\" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file."
},
"start_line": {
"type": "integer",
"example": 26
},
"start_side": {
"type": "string",
"example": "LEFT"
}
}
},
"description": "Use the following table to specify the location, destination, and contents of the draft review comment."
},
"commit_id": {
"type": "string",
"description": "The SHA of the commit that needs a review. Not using the latest commit SHA may render your review comment outdated if a subsequent commit modifies the line you specify as the `position`. Defaults to the most recent commit in the pull request when you do not specify a value."
}
}
},
"examples": {
"default": {
"value": {
"body": "This is close to perfect! Please address the suggested inline change.",
"event": "REQUEST_CHANGES",
"comments": [
{
"body": "Please add more information here, and fix this typo.",
"path": "file.md",
"position": 6
}
],
"commit_id": "ecdd80bb57125d7ba9641ffaa4d7d2c19d3f3091"
}
}
}
}
},
"required": false
}
POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews
/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}
Deletes a pull request review that has not been submitted. Submitted reviews cannot be deleted. This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}
/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}
Retrieves a pull request review by its ID. This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}
/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}
Updates the contents of a specified review summary comment. This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"body"
],
"properties": {
"body": {
"type": "string",
"description": "The body text of the pull request review."
}
}
},
"examples": {
"default": {
"value": {
"body": "This is close to perfect! Please address the suggested inline change. And add more about this."
}
}
}
}
},
"required": true
}
PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}
/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments
Lists comments for a specific pull request review. This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments
/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals
Dismisses a specified review on a pull request. > [!NOTE] > To dismiss a pull request review on a [protected branch](https://docs.github.com/rest/branches/branch-protection), you must be a repository administrator or be included in the list of people or teams who can dismiss pull request reviews. This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"message"
],
"properties": {
"event": {
"enum": [
"DISMISS"
],
"type": "string",
"example": "\"DISMISS\""
},
"message": {
"type": "string",
"description": "The message for the pull request review dismissal"
}
}
},
"examples": {
"default": {
"value": {
"event": "DISMISS",
"message": "You are dismissed"
}
}
}
}
},
"required": true
}
PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals
/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events
Submits a pending review for a pull request. For more information about creating a pending review for a pull request, see "[Create a review for a pull request](https://docs.github.com/rest/pulls/reviews#create-a-review-for-a-pull-request)." This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"event"
],
"properties": {
"body": {
"type": "string",
"description": "The body text of the pull request review"
},
"event": {
"enum": [
"APPROVE",
"REQUEST_CHANGES",
"COMMENT"
],
"type": "string",
"description": "The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. When you leave this blank, the API returns _HTTP 422 (Unrecognizable entity)_ and sets the review action state to `PENDING`, which means you will need to re-submit the pull request review using a review action."
}
}
},
"examples": {
"default": {
"value": {
"body": "Here is the body for the review.",
"event": "REQUEST_CHANGES"
}
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events
/repos/{owner}/{repo}/pulls/{pull_number}/update-branch
Updates the pull request branch with the latest upstream changes by merging HEAD from the base branch into the pull request branch. Note: If making a request on behalf of a GitHub App you must also have permissions to write the contents of the head repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"nullable": true,
"properties": {
"expected_head_sha": {
"type": "string",
"description": "The expected SHA of the pull request's HEAD ref. This is the most recent commit on the pull request's branch. If the expected SHA does not match the pull request's HEAD, you will receive a `422 Unprocessable Entity` status. You can use the \"[List commits](https://docs.github.com/rest/commits/commits#list-commits)\" endpoint to find the most recent commit SHA. Default: SHA of the pull request's current HEAD ref."
}
}
},
"examples": {
"default": {
"value": {
"expected_head_sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e"
}
}
}
}
},
"required": false
}
PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch
/rate_limit
> [!NOTE] > Accessing this endpoint does not count against your REST API rate limit. Some categories of endpoints have custom rate limits that are separate from the rate limit governing the other REST API endpoints. For this reason, the API response categorizes your rate limit. Under `resources`, you'll see objects relating to different categories: * The `core` object provides your rate limit status for all non-search-related resources in the REST API. * The `search` object provides your rate limit status for the REST API for searching (excluding code searches). For more information, see "[Search](https://docs.github.com/rest/search/search)." * The `code_search` object provides your rate limit status for the REST API for searching code. For more information, see "[Search code](https://docs.github.com/rest/search/search#search-code)." * The `graphql` object provides your rate limit status for the GraphQL API. For more information, see "[Resource limitations](https://docs.github.com/graphql/overview/resource-limitations#rate-limit)." * The `integration_manifest` object provides your rate limit status for the `POST /app-manifests/{code}/conversions` operation. For more information, see "[Creating a GitHub App from a manifest](https://docs.github.com/apps/creating-github-apps/setting-up-a-github-app/creating-a-github-app-from-a-manifest#3-you-exchange-the-temporary-code-to-retrieve-the-app-configuration)." * The `dependency_snapshots` object provides your rate limit status for submitting snapshots to the dependency graph. For more information, see "[Dependency graph](https://docs.github.com/rest/dependency-graph)." * The `dependency_sbom` object provides your rate limit status for requesting SBOMs from the dependency graph. For more information, see "[Dependency graph](https://docs.github.com/rest/dependency-graph)." * The `code_scanning_upload` object provides your rate limit status for uploading SARIF results to code scanning. For more information, see "[Uploading a SARIF file to GitHub](https://docs.github.com/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github)." * The `actions_runner_registration` object provides your rate limit status for registering self-hosted runners in GitHub Actions. For more information, see "[Self-hosted runners](https://docs.github.com/rest/actions/self-hosted-runners)." * The `source_import` object is no longer in use for any API endpoints, and it will be removed in the next API version. For more information about API versions, see "[API Versions](https://docs.github.com/rest/about-the-rest-api/api-versions)." > [!NOTE] > The `rate` object is closing down. If you're writing new API client code or updating existing code, you should use the `core` object instead of the `rate` object. The `core` object contains the same information that is present in the `rate` object.
GET /rate_limit
/repos/{owner}/{repo}/comments/{comment_id}/reactions
List the reactions to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment).
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| content | query | optional | string | Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a commit comment. |
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/comments/{comment_id}/reactions
/repos/{owner}/{repo}/comments/{comment_id}/reactions
Create a reaction to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). A response with an HTTP `200` status means that you already added the reaction type to this commit comment.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"content"
],
"properties": {
"content": {
"enum": [
"+1",
"-1",
"laugh",
"confused",
"heart",
"hooray",
"rocket",
"eyes"
],
"type": "string",
"description": "The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the commit comment."
}
}
},
"examples": {
"default": {
"value": {
"content": "heart"
}
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/comments/{comment_id}/reactions
/repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}
> [!NOTE] > You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/comments/:comment_id/reactions/:reaction_id`. Delete a reaction to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment).
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}
/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions
List the reactions to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment).
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| content | query | optional | string | Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to an issue comment. |
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions
/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions
Create a reaction to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). A response with an HTTP `200` status means that you already added the reaction type to this issue comment.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"content"
],
"properties": {
"content": {
"enum": [
"+1",
"-1",
"laugh",
"confused",
"heart",
"hooray",
"rocket",
"eyes"
],
"type": "string",
"description": "The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the issue comment."
}
}
},
"examples": {
"default": {
"value": {
"content": "heart"
}
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions
/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}
> [!NOTE] > You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/issues/comments/:comment_id/reactions/:reaction_id`. Delete a reaction to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment).
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}
/repos/{owner}/{repo}/issues/{issue_number}/reactions
List the reactions to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue).
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| content | query | optional | string | Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to an issue. |
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/issues/{issue_number}/reactions
/repos/{owner}/{repo}/issues/{issue_number}/reactions
Create a reaction to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). A response with an HTTP `200` status means that you already added the reaction type to this issue.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"content"
],
"properties": {
"content": {
"enum": [
"+1",
"-1",
"laugh",
"confused",
"heart",
"hooray",
"rocket",
"eyes"
],
"type": "string",
"description": "The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the issue."
}
}
},
"examples": {
"default": {
"value": {
"content": "heart"
}
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/issues/{issue_number}/reactions
/repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}
> [!NOTE] > You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/issues/:issue_number/reactions/:reaction_id`. Delete a reaction to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue).
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}
/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions
List the reactions to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request).
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| content | query | optional | string | Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a pull request review comment. |
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions
/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions
Create a reaction to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request). A response with an HTTP `200` status means that you already added the reaction type to this pull request review comment.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"content"
],
"properties": {
"content": {
"enum": [
"+1",
"-1",
"laugh",
"confused",
"heart",
"hooray",
"rocket",
"eyes"
],
"type": "string",
"description": "The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the pull request review comment."
}
}
},
"examples": {
"default": {
"value": {
"content": "heart"
}
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions
/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}
> [!NOTE] > You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/pulls/comments/:comment_id/reactions/:reaction_id.` Delete a reaction to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request).
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}
/repos/{owner}/{repo}/releases/{release_id}/reactions
List the reactions to a [release](https://docs.github.com/rest/releases/releases#get-a-release).
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| content | query | optional | string | Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a release. |
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/releases/{release_id}/reactions
/repos/{owner}/{repo}/releases/{release_id}/reactions
Create a reaction to a [release](https://docs.github.com/rest/releases/releases#get-a-release). A response with a `Status: 200 OK` means that you already added the reaction type to this release.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"content"
],
"properties": {
"content": {
"enum": [
"+1",
"laugh",
"heart",
"hooray",
"rocket",
"eyes"
],
"type": "string",
"description": "The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the release."
}
}
},
"examples": {
"default": {
"value": {
"content": "heart"
}
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/releases/{release_id}/reactions
/repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}
> [!NOTE] > You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/releases/:release_id/reactions/:reaction_id`. Delete a reaction to a [release](https://docs.github.com/rest/releases/releases#get-a-release).
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}
/orgs/{org}/repos
Lists repositories for the specified organization. > [!NOTE] > In order to see the `security_and_analysis` block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| type | query | optional | string | Specifies the types of repositories you want returned. |
| sort | query | optional | string | The property to sort the results by. |
| direction | query | optional | string | The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`. |
| optional | ||||
| optional |
GET /orgs/{org}/repos
/orgs/{org}/repos
Creates a new repository in the specified organization. The authenticated user must be a member of the organization. OAuth app tokens and personal access tokens (classic) need the `public_repo` or `repo` scope to create a public repository, and `repo` scope to create a private repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "The name of the repository."
},
"private": {
"type": "boolean",
"default": false,
"description": "Whether the repository is private."
},
"team_id": {
"type": "integer",
"description": "The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Either `true` to enable the wiki for this repository or `false` to disable it."
},
"homepage": {
"type": "string",
"description": "A URL with more information about the repository."
},
"auto_init": {
"type": "boolean",
"default": false,
"description": "Pass `true` to create an initial commit with empty README."
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Either `true` to enable issues for this repository or `false` to disable them."
},
"visibility": {
"enum": [
"public",
"private"
],
"type": "string",
"description": "The visibility of the repository."
},
"description": {
"type": "string",
"description": "A short description of the repository."
},
"is_template": {
"type": "boolean",
"default": false,
"description": "Either `true` to make this repo available as a template repository or `false` to prevent it."
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error."
},
"has_downloads": {
"type": "boolean",
"default": true,
"example": true,
"description": "Whether downloads are enabled."
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Either `true` to allow auto-merge on pull requests, or `false` to disallow auto-merge."
},
"license_template": {
"type": "string",
"description": "Choose an [open source license template](https://choosealicense.com/) that best suits your needs, and then use the [license keyword](https://docs.github.com/articles/licensing-a-repository/#searching-github-by-license-type) as the `license_template` string. For example, \"mit\" or \"mpl-2.0\"."
},
"custom_properties": {
"type": "object",
"description": "The custom properties for the new repository. The keys are the custom property names, and the values are the corresponding custom property values.",
"additionalProperties": true
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging."
},
"gitignore_template": {
"type": "string",
"description": "Desired language or platform [.gitignore template](https://github.com/github/gitignore) to apply. Use the name of the template without the extension. For example, \"Haskell\"."
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"description": "Required when using `merge_commit_message`.\n\nThe default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. **The authenticated user must be an organization owner to set this property to `true`.**"
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"description": "Required when using `squash_merge_commit_message`.\n\nThe default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
},
"use_squash_pr_title_as_default": {
"type": "boolean",
"default": false,
"deprecated": true,
"description": "Either `true` to allow squash-merge commits to use pull request title, or `false` to use commit message. **This property is closing down. Please use `squash_merge_commit_title` instead."
}
}
},
"examples": {
"default": {
"value": {
"name": "Hello-World",
"private": false,
"has_wiki": true,
"homepage": "https://github.com",
"has_issues": true,
"description": "This is your first repository",
"has_projects": true
}
}
}
}
},
"required": true
}
POST /orgs/{org}/repos
/orgs/{org}/rulesets
Get all the repository rulesets for an organization.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/rulesets
/orgs/{org}/rulesets
Create a repository ruleset for an organization.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"name",
"enforcement"
],
"properties": {
"name": {
"type": "string",
"description": "The name of the ruleset."
},
"rules": {
"type": "array",
"items": {
"$ref": "#/components/schemas/org-rules"
},
"description": "An array of rules within the ruleset."
},
"target": {
"enum": [
"branch",
"tag",
"push",
"repository"
],
"type": "string",
"default": "branch",
"description": "The target of the ruleset"
},
"conditions": {
"$ref": "#/components/schemas/org-ruleset-conditions"
},
"enforcement": {
"$ref": "#/components/schemas/repository-rule-enforcement"
},
"bypass_actors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/repository-ruleset-bypass-actor"
},
"description": "The actors that can bypass the rules in this ruleset"
}
}
},
"examples": {
"default": {
"value": {
"name": "super cool ruleset",
"rules": [
{
"type": "commit_author_email_pattern",
"parameters": {
"pattern": "github",
"operator": "contains"
}
}
],
"target": "branch",
"conditions": {
"ref_name": {
"exclude": [
"refs/heads/dev*"
],
"include": [
"refs/heads/main",
"refs/heads/master"
]
},
"repository_name": {
"exclude": [
"unimportant_repository"
],
"include": [
"important_repository",
"another_important_repository"
],
"protected": true
}
},
"enforcement": "active",
"bypass_actors": [
{
"actor_id": 234,
"actor_type": "Team",
"bypass_mode": "always"
}
]
}
}
}
}
},
"required": true,
"description": "Request body"
}
POST /orgs/{org}/rulesets
/orgs/{org}/rulesets/rule-suites
Lists suites of rule evaluations at the organization level. For more information, see "[Managing rulesets for repositories in your organization](https://docs.github.com/organizations/managing-organization-settings/managing-rulesets-for-repositories-in-your-organization#viewing-insights-for-rulesets)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/rulesets/rule-suites
/orgs/{org}/rulesets/rule-suites/{rule_suite_id}
Gets information about a suite of rule evaluations from within an organization. For more information, see "[Managing rulesets for repositories in your organization](https://docs.github.com/organizations/managing-organization-settings/managing-rulesets-for-repositories-in-your-organization#viewing-insights-for-rulesets)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /orgs/{org}/rulesets/rule-suites/{rule_suite_id}
/orgs/{org}/rulesets/{ruleset_id}
Delete a ruleset for an organization.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| ruleset_id | path | required | integer | The ID of the ruleset. |
DELETE /orgs/{org}/rulesets/{ruleset_id}
/orgs/{org}/rulesets/{ruleset_id}
Get a repository ruleset for an organization. **Note:** To prevent leaking sensitive information, the `bypass_actors` property is only returned if the user making the API request has write access to the ruleset.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| ruleset_id | path | required | integer | The ID of the ruleset. |
GET /orgs/{org}/rulesets/{ruleset_id}
/orgs/{org}/rulesets/{ruleset_id}
Update a ruleset for an organization.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| ruleset_id | path | required | integer | The ID of the ruleset. |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the ruleset."
},
"rules": {
"type": "array",
"items": {
"$ref": "#/components/schemas/org-rules"
},
"description": "An array of rules within the ruleset."
},
"target": {
"enum": [
"branch",
"tag",
"push",
"repository"
],
"type": "string",
"description": "The target of the ruleset"
},
"conditions": {
"$ref": "#/components/schemas/org-ruleset-conditions"
},
"enforcement": {
"$ref": "#/components/schemas/repository-rule-enforcement"
},
"bypass_actors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/repository-ruleset-bypass-actor"
},
"description": "The actors that can bypass the rules in this ruleset"
}
}
},
"examples": {
"default": {
"value": {
"name": "super cool ruleset",
"rules": [
{
"type": "commit_author_email_pattern",
"parameters": {
"pattern": "github",
"operator": "contains"
}
}
],
"target": "branch",
"conditions": {
"ref_name": {
"exclude": [
"refs/heads/dev*"
],
"include": [
"refs/heads/main",
"refs/heads/master"
]
},
"repository_name": {
"exclude": [
"unimportant_repository"
],
"include": [
"important_repository",
"another_important_repository"
],
"protected": true
}
},
"enforcement": "active",
"bypass_actors": [
{
"actor_id": 234,
"actor_type": "Team",
"bypass_mode": "always"
}
]
}
}
}
}
},
"required": false,
"description": "Request body"
}
PUT /orgs/{org}/rulesets/{ruleset_id}
/repos/{owner}/{repo}
Deleting a repository requires admin access. If an organization owner has configured the organization to prevent members from deleting organization-owned repositories, you will get a `403 Forbidden` response. OAuth app tokens and personal access tokens (classic) need the `delete_repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}
/repos/{owner}/{repo}
The `parent` and `source` objects are present when the repository is a fork. `parent` is the repository this repository was forked from, `source` is the ultimate source for the network. > [!NOTE] > - In order to see the `security_and_analysis` block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." > - To view merge-related settings, you must have the `contents:read` and `contents:write` permissions.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /repos/{owner}/{repo}
/repos/{owner}/{repo}
**Note**: To edit a repository's topics, use the [Replace all repository topics](https://docs.github.com/rest/repos/repos#replace-all-repository-topics) endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the repository."
},
"private": {
"type": "boolean",
"default": false,
"description": "Either `true` to make the repository private or `false` to make it public. Default: `false`. \n**Note**: You will get a `422` error if the organization restricts [changing repository visibility](https://docs.github.com/articles/repository-permission-levels-for-an-organization#changing-the-visibility-of-repositories) to organization owners and a non-owner tries to change the value of private."
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether to archive this repository. `false` will unarchive a previously archived repository."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Either `true` to enable the wiki for this repository or `false` to disable it."
},
"homepage": {
"type": "string",
"description": "A URL with more information about the repository."
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Either `true` to enable issues for this repository or `false` to disable them."
},
"visibility": {
"enum": [
"public",
"private"
],
"type": "string",
"description": "The visibility of the repository."
},
"description": {
"type": "string",
"description": "A short description of the repository."
},
"is_template": {
"type": "boolean",
"default": false,
"description": "Either `true` to make this repo available as a template repository or `false` to prevent it."
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error."
},
"allow_forking": {
"type": "boolean",
"default": false,
"description": "Either `true` to allow private forks, or `false` to prevent private forks."
},
"default_branch": {
"type": "string",
"description": "Updates the default branch for this repository."
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Either `true` to allow auto-merge on pull requests, or `false` to disallow auto-merge."
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging."
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"description": "Required when using `merge_commit_message`.\n\nThe default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
},
"allow_update_branch": {
"type": "boolean",
"default": false,
"description": "Either `true` to always allow a pull request head branch that is behind its base branch to be updated even if it is not required to be up to date before merging, or false otherwise."
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
},
"security_and_analysis": {
"type": "object",
"nullable": true,
"properties": {
"code_security": {
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Can be `enabled` or `disabled`."
}
},
"description": "Use the `status` property to enable or disable GitHub Code Security for this repository."
},
"secret_scanning": {
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Can be `enabled` or `disabled`."
}
},
"description": "Use the `status` property to enable or disable secret scanning for this repository. For more information, see \"[About secret scanning](/code-security/secret-security/about-secret-scanning).\""
},
"advanced_security": {
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Can be `enabled` or `disabled`."
}
},
"description": "Use the `status` property to enable or disable GitHub Advanced Security for this repository.\nFor more information, see \"[About GitHub Advanced\nSecurity](/github/getting-started-with-github/learning-about-github/about-github-advanced-security).\"\n\nFor standalone Code Scanning or Secret Protection products, this parameter cannot be used."
},
"secret_scanning_ai_detection": {
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Can be `enabled` or `disabled`."
}
},
"description": "Use the `status` property to enable or disable secret scanning AI detection for this repository. For more information, see \"[Responsible detection of generic secrets with AI](https://docs.github.com/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/generic-secret-detection/responsible-ai-generic-secrets).\""
},
"secret_scanning_push_protection": {
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Can be `enabled` or `disabled`."
}
},
"description": "Use the `status` property to enable or disable secret scanning push protection for this repository. For more information, see \"[Protecting pushes with secret scanning](/code-security/secret-scanning/protecting-pushes-with-secret-scanning).\""
},
"secret_scanning_delegated_bypass": {
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Can be `enabled` or `disabled`."
}
},
"description": "Use the `status` property to enable or disable secret scanning delegated bypass for this repository."
},
"secret_scanning_non_provider_patterns": {
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Can be `enabled` or `disabled`."
}
},
"description": "Use the `status` property to enable or disable secret scanning non-provider patterns for this repository. For more information, see \"[Supported secret scanning patterns](/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets).\""
},
"secret_scanning_delegated_bypass_options": {
"type": "object",
"properties": {
"reviewers": {
"type": "array",
"items": {
"type": "object",
"required": [
"reviewer_id",
"reviewer_type"
],
"properties": {
"mode": {
"enum": [
"ALWAYS",
"EXEMPT"
],
"type": "string",
"default": "ALWAYS",
"description": "The bypass mode for the reviewer"
},
"reviewer_id": {
"type": "integer",
"description": "The ID of the team or role selected as a bypass reviewer"
},
"reviewer_type": {
"enum": [
"TEAM",
"ROLE"
],
"type": "string",
"description": "The type of the bypass reviewer"
}
}
},
"description": "The bypass reviewers for secret scanning delegated bypass.\nIf you omit this field, the existing set of reviewers is unchanged."
}
},
"description": "Feature options for secret scanning delegated bypass.\nThis object is only honored when `security_and_analysis.secret_scanning_delegated_bypass.status` is set to `enabled`.\nYou can send this object in the same request as `secret_scanning_delegated_bypass`, or update just the options in a separate request."
},
"secret_scanning_delegated_alert_dismissal": {
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Can be `enabled` or `disabled`."
}
},
"description": "Use the `status` property to enable or disable secret scanning delegated alert dismissal for this repository."
}
},
"description": "Specify which security and analysis features to enable or disable for the repository.\n\nTo use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).\"\n\nFor example, to enable GitHub Advanced Security, use this data in the body of the `PATCH` request:\n`{ \"security_and_analysis\": {\"advanced_security\": { \"status\": \"enabled\" } } }`.\n\nYou can check which security and analysis features are currently enabled by using a `GET /repos/{owner}/{repo}` request."
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion."
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"description": "Required when using `squash_merge_commit_message`.\n\nThe default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
},
"web_commit_signoff_required": {
"type": "boolean",
"default": false,
"description": "Either `true` to require contributors to sign off on web-based commits, or `false` to not require contributors to sign off on web-based commits."
},
"use_squash_pr_title_as_default": {
"type": "boolean",
"default": false,
"deprecated": true,
"description": "Either `true` to allow squash-merge commits to use pull request title, or `false` to use commit message. **This property is closing down. Please use `squash_merge_commit_title` instead."
}
}
},
"examples": {
"default": {
"value": {
"name": "Hello-World",
"private": true,
"has_wiki": true,
"homepage": "https://github.com",
"has_issues": true,
"description": "This is your first repository",
"has_projects": true
}
}
}
}
},
"required": false
}
PATCH /repos/{owner}/{repo}
/repos/{owner}/{repo}/activity
Lists a detailed history of changes to a repository, such as pushes, merges, force pushes, and branch changes, and associates these changes with commits and users. For more information about viewing repository activity, see "[Viewing activity and data for your repository](https://docs.github.com/repositories/viewing-activity-and-data-for-your-repository)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| ref | query | optional | string | The Git reference for the activities you want to list. The `ref` for a branch can be formatted either as `refs/heads/BRANCH_NAME` or `BRANCH_NAME`, where `BRANCH_NAME` is the name of your branch. |
| actor | query | optional | string | The GitHub username to use to filter by the actor who performed the activity. |
| time_period | query | optional | string | The time period to filter by. For example, `day` will filter for activity that occurred in the past 24 hours, and `week` will filter for activity that occurred in the past 7 days (168 hours). |
| activity_type | query | optional | string | The activity type to filter by. For example, you can choose to filter by "force_push", to see all force pushes to the repository. |
GET /repos/{owner}/{repo}/activity
/repos/{owner}/{repo}/attestations
Store an artifact attestation and associate it with a repository. The authenticated user must have write permission to the repository and, if using a fine-grained access token, the `attestations:write` permission is required. Artifact attestations are meant to be created using the [attest action](https://github.com/actions/attest). For more information, see our guide on [using artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds).
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"bundle"
],
"properties": {
"bundle": {
"type": "object",
"properties": {
"mediaType": {
"type": "string"
},
"dsseEnvelope": {
"type": "object",
"properties": {},
"additionalProperties": true
},
"verificationMaterial": {
"type": "object",
"properties": {},
"additionalProperties": true
}
},
"description": "The attestation's Sigstore Bundle.\nRefer to the [Sigstore Bundle Specification](https://github.com/sigstore/protobuf-specs/blob/main/protos/sigstore_bundle.proto) for more information."
}
}
},
"examples": {
"default": {
"$ref": "#/components/examples/attestation"
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/attestations
/repos/{owner}/{repo}/attestations/{subject_digest}
List a collection of artifact attestations with a given subject digest that are associated with a repository. The authenticated user making the request must have read access to the repository. In addition, when using a fine-grained access token the `attestations:read` permission is required. **Please note:** in order to offer meaningful security benefits, an attestation's signature and timestamps **must** be cryptographically verified, and the identity of the attestation signer **must** be validated. Attestations can be verified using the [GitHub CLI `attestation verify` command](https://cli.github.com/manual/gh_attestation_verify). For more information, see [our guide on how to use artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds).
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| subject_digest | path | required | string | The parameter should be set to the attestation's subject's SHA256 digest, in the form `sha256:HEX_DIGEST`. |
| predicate_type | query | optional | string | Optional filter for fetching attestations with a given predicate type. This option accepts `provenance`, `sbom`, `release`, or freeform text for custom predicate types. |
GET /repos/{owner}/{repo}/attestations/{subject_digest}
/repos/{owner}/{repo}/autolinks
Gets all autolinks that are configured for a repository. Information about autolinks are only available to repository administrators.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/autolinks
/repos/{owner}/{repo}/autolinks
Users with admin access to the repository can create an autolink.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"key_prefix",
"url_template"
],
"properties": {
"key_prefix": {
"type": "string",
"description": "This prefix appended by certain characters will generate a link any time it is found in an issue, pull request, or commit."
},
"url_template": {
"type": "string",
"description": "The URL must contain `<num>` for the reference number. `<num>` matches different characters depending on the value of `is_alphanumeric`."
},
"is_alphanumeric": {
"type": "boolean",
"default": true,
"description": "Whether this autolink reference matches alphanumeric characters. If true, the `<num>` parameter of the `url_template` matches alphanumeric characters `A-Z` (case insensitive), `0-9`, and `-`. If false, this autolink reference only matches numeric characters."
}
}
},
"examples": {
"default": {
"value": {
"key_prefix": "TICKET-",
"url_template": "https://example.com/TICKET?query=<num>",
"is_alphanumeric": true
}
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/autolinks
/repos/{owner}/{repo}/autolinks/{autolink_id}
This deletes a single autolink reference by ID that was configured for the given repository. Information about autolinks are only available to repository administrators.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}
/repos/{owner}/{repo}/autolinks/{autolink_id}
This returns a single autolink reference by ID that was configured for the given repository. Information about autolinks are only available to repository administrators.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/autolinks/{autolink_id}
/repos/{owner}/{repo}/automated-security-fixes
Disables Dependabot security updates for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring Dependabot security updates](https://docs.github.com/articles/configuring-automated-security-fixes)".
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}/automated-security-fixes
/repos/{owner}/{repo}/automated-security-fixes
Shows whether Dependabot security updates are enabled, disabled or paused for a repository. The authenticated user must have admin read access to the repository. For more information, see "[Configuring Dependabot security updates](https://docs.github.com/articles/configuring-automated-security-fixes)".
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/automated-security-fixes
/repos/{owner}/{repo}/automated-security-fixes
Enables Dependabot security updates for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring Dependabot security updates](https://docs.github.com/articles/configuring-automated-security-fixes)".
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
PUT /repos/{owner}/{repo}/automated-security-fixes
/repos/{owner}/{repo}/branches
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| protected | query | optional | boolean | Setting to `true` returns only branches protected by branch protections or rulesets. When set to `false`, only unprotected branches are returned. Omitting this parameter returns all branches. |
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/branches
/repos/{owner}/{repo}/branches/{branch}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/branches/{branch}
/repos/{owner}/{repo}/branches/{branch}/protection
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}/branches/{branch}/protection
/repos/{owner}/{repo}/branches/{branch}/protection
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/branches/{branch}/protection
/repos/{owner}/{repo}/branches/{branch}/protection
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. Protecting a branch requires admin or owner permissions to the repository. > [!NOTE] > Passing new arrays of `users` and `teams` replaces their previous values. > [!NOTE] > The list of users, apps, and teams in total is limited to 100 items.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"required_status_checks",
"enforce_admins",
"required_pull_request_reviews",
"restrictions"
],
"properties": {
"lock_branch": {
"type": "boolean",
"default": false,
"description": "Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. Default: `false`."
},
"restrictions": {
"type": "object",
"nullable": true,
"required": [
"users",
"teams"
],
"properties": {
"apps": {
"type": "array",
"items": {
"type": "string"
},
"description": "The list of app `slug`s with push access"
},
"teams": {
"type": "array",
"items": {
"type": "string"
},
"description": "The list of team `slug`s with push access"
},
"users": {
"type": "array",
"items": {
"type": "string"
},
"description": "The list of user `login`s with push access"
}
},
"description": "Restrict who can push to the protected branch. User, app, and team `restrictions` are only available for organization-owned repositories. Set to `null` to disable."
},
"enforce_admins": {
"type": "boolean",
"nullable": true,
"description": "Enforce all configured restrictions for administrators. Set to `true` to enforce required status checks for repository administrators. Set to `null` to disable."
},
"allow_deletions": {
"type": "boolean",
"description": "Allows deletion of the protected branch by anyone with write access to the repository. Set to `false` to prevent deletion of the protected branch. Default: `false`. For more information, see \"[Enabling force pushes to a protected branch](https://docs.github.com/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)\" in the GitHub Help documentation."
},
"block_creations": {
"type": "boolean",
"description": "If set to `true`, the `restrictions` branch protection settings which limits who can push will also block pushes which create new branches, unless the push is initiated by a user, team, or app which has the ability to push. Set to `true` to restrict new branch creation. Default: `false`."
},
"allow_force_pushes": {
"type": "boolean",
"nullable": true,
"description": "Permits force pushes to the protected branch by anyone with write access to the repository. Set to `true` to allow force pushes. Set to `false` or `null` to block force pushes. Default: `false`. For more information, see \"[Enabling force pushes to a protected branch](https://docs.github.com/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)\" in the GitHub Help documentation.\""
},
"allow_fork_syncing": {
"type": "boolean",
"default": false,
"description": "Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing. Default: `false`."
},
"required_status_checks": {
"type": "object",
"nullable": true,
"required": [
"strict",
"contexts"
],
"properties": {
"checks": {
"type": "array",
"items": {
"type": "object",
"required": [
"context"
],
"properties": {
"app_id": {
"type": "integer",
"description": "The ID of the GitHub App that must provide this check. Omit this field to automatically select the GitHub App that has recently provided this check, or any app if it was not set by a GitHub App. Pass -1 to explicitly allow any app to set the status."
},
"context": {
"type": "string",
"description": "The name of the required check"
}
}
},
"description": "The list of status checks to require in order to merge into this branch."
},
"strict": {
"type": "boolean",
"description": "Require branches to be up to date before merging."
},
"contexts": {
"type": "array",
"items": {
"type": "string"
},
"deprecated": true,
"description": "**Closing down notice**: The list of status checks to require in order to merge into this branch. If any of these checks have recently been set by a particular GitHub App, they will be required to come from that app in future for the branch to merge. Use `checks` instead of `contexts` for more fine-grained control."
}
},
"description": "Require status checks to pass before merging. Set to `null` to disable."
},
"required_linear_history": {
"type": "boolean",
"description": "Enforces a linear commit Git history, which prevents anyone from pushing merge commits to a branch. Set to `true` to enforce a linear commit history. Set to `false` to disable a linear commit Git history. Your repository must allow squash merging or rebase merging before you can enable a linear commit history. Default: `false`. For more information, see \"[Requiring a linear commit history](https://docs.github.com/github/administering-a-repository/requiring-a-linear-commit-history)\" in the GitHub Help documentation."
},
"required_pull_request_reviews": {
"type": "object",
"nullable": true,
"properties": {
"dismiss_stale_reviews": {
"type": "boolean",
"description": "Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit."
},
"dismissal_restrictions": {
"type": "object",
"properties": {
"apps": {
"type": "array",
"items": {
"type": "string"
},
"description": "The list of app `slug`s with dismissal access"
},
"teams": {
"type": "array",
"items": {
"type": "string"
},
"description": "The list of team `slug`s with dismissal access"
},
"users": {
"type": "array",
"items": {
"type": "string"
},
"description": "The list of user `login`s with dismissal access"
}
},
"description": "Specify which users, teams, and apps can dismiss pull request reviews. Pass an empty `dismissal_restrictions` object to disable. User and team `dismissal_restrictions` are only available for organization-owned repositories. Omit this parameter for personal repositories."
},
"require_code_owner_reviews": {
"type": "boolean",
"description": "Blocks merging pull requests until [code owners](https://docs.github.com/articles/about-code-owners/) review them."
},
"require_last_push_approval": {
"type": "boolean",
"default": false,
"description": "Whether the most recent push must be approved by someone other than the person who pushed it. Default: `false`."
},
"bypass_pull_request_allowances": {
"type": "object",
"properties": {
"apps": {
"type": "array",
"items": {
"type": "string"
},
"description": "The list of app `slug`s allowed to bypass pull request requirements."
},
"teams": {
"type": "array",
"items": {
"type": "string"
},
"description": "The list of team `slug`s allowed to bypass pull request requirements."
},
"users": {
"type": "array",
"items": {
"type": "string"
},
"description": "The list of user `login`s allowed to bypass pull request requirements."
}
},
"description": "Allow specific users, teams, or apps to bypass pull request requirements."
},
"required_approving_review_count": {
"type": "integer",
"description": "Specify the number of reviewers required to approve pull requests. Use a number between 1 and 6 or 0 to not require reviewers."
}
},
"description": "Require at least one approving review on a pull request, before merging. Set to `null` to disable."
},
"required_conversation_resolution": {
"type": "boolean",
"description": "Requires all conversations on code to be resolved before a pull request can be merged into a branch that matches this rule. Set to `false` to disable. Default: `false`."
}
}
},
"examples": {
"default": {
"value": {
"lock_branch": true,
"restrictions": {
"apps": [
"super-ci"
],
"teams": [
"justice-league"
],
"users": [
"octocat"
]
},
"enforce_admins": true,
"allow_deletions": true,
"block_creations": true,
"allow_force_pushes": true,
"allow_fork_syncing": true,
"required_status_checks": {
"strict": true,
"contexts": [
"continuous-integration/travis-ci"
]
},
"required_linear_history": true,
"required_pull_request_reviews": {
"dismiss_stale_reviews": true,
"dismissal_restrictions": {
"teams": [
"justice-league"
],
"users": [
"octocat"
]
},
"require_code_owner_reviews": true,
"require_last_push_approval": true,
"bypass_pull_request_allowances": {
"teams": [
"justice-league"
],
"users": [
"octocat"
]
},
"required_approving_review_count": 2
},
"required_conversation_resolution": true
}
}
}
}
},
"required": true
}
PUT /repos/{owner}/{repo}/branches/{branch}/protection
/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. Removing admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins
/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins
/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. Adding admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins
/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews
/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews
/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. Updating pull request review enforcement requires admin or owner permissions to the repository and branch protection to be enabled. > [!NOTE] > Passing new arrays of `users` and `teams` replaces their previous values.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"dismiss_stale_reviews": {
"type": "boolean",
"description": "Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit."
},
"dismissal_restrictions": {
"type": "object",
"properties": {
"apps": {
"type": "array",
"items": {
"type": "string"
},
"description": "The list of app `slug`s with dismissal access"
},
"teams": {
"type": "array",
"items": {
"type": "string"
},
"description": "The list of team `slug`s with dismissal access"
},
"users": {
"type": "array",
"items": {
"type": "string"
},
"description": "The list of user `login`s with dismissal access"
}
},
"description": "Specify which users, teams, and apps can dismiss pull request reviews. Pass an empty `dismissal_restrictions` object to disable. User and team `dismissal_restrictions` are only available for organization-owned repositories. Omit this parameter for personal repositories."
},
"require_code_owner_reviews": {
"type": "boolean",
"description": "Blocks merging pull requests until [code owners](https://docs.github.com/articles/about-code-owners/) have reviewed."
},
"require_last_push_approval": {
"type": "boolean",
"default": false,
"description": "Whether the most recent push must be approved by someone other than the person who pushed it. Default: `false`"
},
"bypass_pull_request_allowances": {
"type": "object",
"properties": {
"apps": {
"type": "array",
"items": {
"type": "string"
},
"description": "The list of app `slug`s allowed to bypass pull request requirements."
},
"teams": {
"type": "array",
"items": {
"type": "string"
},
"description": "The list of team `slug`s allowed to bypass pull request requirements."
},
"users": {
"type": "array",
"items": {
"type": "string"
},
"description": "The list of user `login`s allowed to bypass pull request requirements."
}
},
"description": "Allow specific users, teams, or apps to bypass pull request requirements."
},
"required_approving_review_count": {
"type": "integer",
"description": "Specifies the number of reviewers required to approve pull requests. Use a number between 1 and 6 or 0 to not require reviewers."
}
}
},
"examples": {
"default": {
"value": {
"dismiss_stale_reviews": true,
"dismissal_restrictions": {
"apps": [
"octoapp"
],
"teams": [
"justice-league"
],
"users": [
"octocat"
]
},
"require_code_owner_reviews": true,
"require_last_push_approval": true,
"bypass_pull_request_allowances": {
"apps": [
"octoapp"
],
"teams": [
"justice-league"
],
"users": [
"octocat"
]
},
"required_approving_review_count": 2
}
}
}
}
},
"required": false
}
PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews
/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. When authenticated with admin or owner permissions to the repository, you can use this endpoint to disable required signed commits on a branch. You must enable branch protection to require signed commits.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures
/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. When authenticated with admin or owner permissions to the repository, you can use this endpoint to check whether a branch requires signed commits. An enabled status of `true` indicates you must sign commits on this branch. For more information, see [Signing commits with GPG](https://docs.github.com/articles/signing-commits-with-gpg) in GitHub Help. > [!NOTE] > You must enable branch protection to require signed commits.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures
/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. When authenticated with admin or owner permissions to the repository, you can use this endpoint to require signed commits on a branch. You must enable branch protection to require signed commits.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures
/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks
/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks
/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. Updating required status checks requires admin or owner permissions to the repository and branch protection to be enabled.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"checks": {
"type": "array",
"items": {
"type": "object",
"required": [
"context"
],
"properties": {
"app_id": {
"type": "integer",
"description": "The ID of the GitHub App that must provide this check. Omit this field to automatically select the GitHub App that has recently provided this check, or any app if it was not set by a GitHub App. Pass -1 to explicitly allow any app to set the status."
},
"context": {
"type": "string",
"description": "The name of the required check"
}
}
},
"description": "The list of status checks to require in order to merge into this branch."
},
"strict": {
"type": "boolean",
"description": "Require branches to be up to date before merging."
},
"contexts": {
"type": "array",
"items": {
"type": "string"
},
"deprecated": true,
"description": "**Closing down notice**: The list of status checks to require in order to merge into this branch. If any of these checks have recently been set by a particular GitHub App, they will be required to come from that app in future for the branch to merge. Use `checks` instead of `contexts` for more fine-grained control."
}
}
},
"examples": {
"default": {
"value": {
"strict": true,
"contexts": [
"continuous-integration/travis-ci"
]
}
}
}
}
},
"required": false
}
PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks
/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"oneOf": [
{
"type": "object",
"example": {
"contexts": [
"contexts"
]
},
"required": [
"contexts"
],
"properties": {
"contexts": {
"type": "array",
"items": {
"type": "string"
},
"description": "The name of the status checks"
}
}
},
{
"type": "array",
"items": {
"type": "string"
},
"description": "The name of the status checks"
}
]
},
"examples": {
"default": {
"value": {
"contexts": [
"continuous-integration/jenkins"
]
},
"summary": "Example removing status checks from a branch protection rule"
}
}
}
}
}
DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts
/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts
/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"oneOf": [
{
"type": "object",
"example": {
"contexts": [
"contexts"
]
},
"required": [
"contexts"
],
"properties": {
"contexts": {
"type": "array",
"items": {
"type": "string"
},
"description": "The name of the status checks"
}
}
},
{
"type": "array",
"items": {
"type": "string"
},
"description": "The name of the status checks"
}
]
},
"examples": {
"default": {
"value": {
"contexts": [
"continuous-integration/travis-ci",
"continuous-integration/jenkins"
]
},
"summary": "Example adding status checks to a branch protection rule"
}
}
}
},
"required": false
}
POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts
/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"oneOf": [
{
"type": "object",
"example": {
"contexts": [
"contexts"
]
},
"required": [
"contexts"
],
"properties": {
"contexts": {
"type": "array",
"items": {
"type": "string"
},
"description": "The name of the status checks"
}
}
},
{
"type": "array",
"items": {
"type": "string"
},
"description": "The name of the status checks"
}
]
},
"examples": {
"default": {
"value": {
"contexts": [
"continuous-integration/travis-ci"
]
},
"summary": "Example updating status checks for a branch protection rule"
}
}
}
},
"required": false
}
PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts
/repos/{owner}/{repo}/branches/{branch}/protection/restrictions
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. Disables the ability to restrict who can push to this branch.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions
/repos/{owner}/{repo}/branches/{branch}/protection/restrictions
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. Lists who has access to this protected branch. > [!NOTE] > Users, apps, and teams `restrictions` are only available for organization-owned repositories.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions
/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. Removes the ability of an app to push to this branch. Only GitHub Apps that are installed on the repository and that have been granted write access to the repository contents can be added as authorized actors on a protected branch.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"example": {
"apps": [
"my-app"
]
},
"required": [
"apps"
],
"properties": {
"apps": {
"type": "array",
"items": {
"type": "string"
},
"description": "The GitHub Apps that have push access to this branch. Use the slugified version of the app name. **Note**: The list of users, apps, and teams in total is limited to 100 items."
}
}
},
"examples": {
"default": {
"value": {
"apps": [
"my-app"
]
}
}
}
}
},
"required": true
}
DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps
/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. Lists the GitHub Apps that have push access to this branch. Only GitHub Apps that are installed on the repository and that have been granted write access to the repository contents can be added as authorized actors on a protected branch.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps
/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. Grants the specified apps push access for this branch. Only GitHub Apps that are installed on the repository and that have been granted write access to the repository contents can be added as authorized actors on a protected branch.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"example": {
"apps": [
"my-app"
]
},
"required": [
"apps"
],
"properties": {
"apps": {
"type": "array",
"items": {
"type": "string"
},
"description": "The GitHub Apps that have push access to this branch. Use the slugified version of the app name. **Note**: The list of users, apps, and teams in total is limited to 100 items."
}
}
},
"examples": {
"default": {
"value": {
"apps": [
"octoapp"
]
}
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps
/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. Replaces the list of apps that have push access to this branch. This removes all apps that previously had push access and grants push access to the new list of apps. Only GitHub Apps that are installed on the repository and that have been granted write access to the repository contents can be added as authorized actors on a protected branch.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"example": {
"apps": [
"my-app"
]
},
"required": [
"apps"
],
"properties": {
"apps": {
"type": "array",
"items": {
"type": "string"
},
"description": "The GitHub Apps that have push access to this branch. Use the slugified version of the app name. **Note**: The list of users, apps, and teams in total is limited to 100 items."
}
}
},
"examples": {
"default": {
"value": {
"apps": [
"octoapp"
]
}
}
}
}
},
"required": true
}
PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps
/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. Removes the ability of a team to push to this branch. You can also remove push access for child teams.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"oneOf": [
{
"type": "object",
"example": {
"teams": [
"my-team"
]
},
"required": [
"teams"
],
"properties": {
"teams": {
"type": "array",
"items": {
"type": "string"
},
"description": "The slug values for teams"
}
}
},
{
"type": "array",
"items": {
"type": "string"
},
"description": "The slug values for teams"
}
]
},
"examples": {
"default": {
"value": {
"teams": [
"octocats"
]
},
"summary": "Example removing a team in a branch protection rule"
}
}
}
}
}
DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams
/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. Lists the teams who have push access to this branch. The list includes child teams.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams
/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. Grants the specified teams push access for this branch. You can also give push access to child teams.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"oneOf": [
{
"type": "object",
"example": {
"teams": [
"my-team"
]
},
"required": [
"teams"
],
"properties": {
"teams": {
"type": "array",
"items": {
"type": "string"
},
"description": "The slug values for teams"
}
}
},
{
"type": "array",
"items": {
"type": "string"
},
"description": "The slug values for teams"
}
]
},
"examples": {
"default": {
"value": {
"teams": [
"justice-league"
]
},
"summary": "Example adding a team in a branch protection rule"
}
}
}
},
"required": false
}
POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams
/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. Replaces the list of teams that have push access to this branch. This removes all teams that previously had push access and grants push access to the new list of teams. Team restrictions include child teams.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"oneOf": [
{
"type": "object",
"example": {
"teams": [
"justice-league"
]
},
"required": [
"teams"
],
"properties": {
"teams": {
"type": "array",
"items": {
"type": "string"
},
"description": "The slug values for teams"
}
}
},
{
"type": "array",
"items": {
"type": "string"
},
"description": "The slug values for teams"
}
]
},
"examples": {
"default": {
"value": {
"teams": [
"justice-league"
]
},
"summary": "Example replacing a team in a branch protection rule"
}
}
}
},
"required": false
}
PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams
/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. Removes the ability of a user to push to this branch. | Type | Description | | ------- | --------------------------------------------------------------------------------------------------------------------------------------------- | | `array` | Usernames of the people who should no longer have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. |
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"example": {
"users": [
"mona"
]
},
"required": [
"users"
],
"properties": {
"users": {
"type": "array",
"items": {
"type": "string"
},
"description": "The username for users"
}
}
},
"examples": {
"default": {
"value": {
"users": [
"octocat"
]
},
"summary": "Example removing a user in a branch protection rule"
}
}
}
},
"required": true
}
DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users
/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. Lists the people who have push access to this branch.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users
/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. Grants the specified people push access for this branch. | Type | Description | | ------- | ----------------------------------------------------------------------------------------------------------------------------- | | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. |
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"example": {
"users": [
"mona"
]
},
"required": [
"users"
],
"properties": {
"users": {
"type": "array",
"items": {
"type": "string"
},
"description": "The username for users"
}
}
},
"examples": {
"default": {
"value": {
"users": [
"octocat"
]
},
"summary": "Example adding a user in a branch protection rule"
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users
/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. Replaces the list of people that have push access to this branch. This removes all people that previously had push access and grants push access to the new list of people. | Type | Description | | ------- | ----------------------------------------------------------------------------------------------------------------------------- | | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. |
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"example": {
"users": [
"mona"
]
},
"required": [
"users"
],
"properties": {
"users": {
"type": "array",
"items": {
"type": "string"
},
"description": "The username for users"
}
}
},
"examples": {
"default": {
"value": {
"users": [
"octocat"
]
},
"summary": "Example replacing a user in a branch protection rule"
}
}
}
},
"required": true
}
PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users
/repos/{owner}/{repo}/branches/{branch}/rename
Renames a branch in a repository. > [!NOTE] > Although the API responds immediately, the branch rename process might take some extra time to complete in the background. You won't be able to push to the old branch name while the rename process is in progress. For more information, see "[Renaming a branch](https://docs.github.com/github/administering-a-repository/renaming-a-branch)". The authenticated user must have push access to the branch. If the branch is the default branch, the authenticated user must also have admin or owner permissions. In order to rename the default branch, fine-grained access tokens also need the `administration:write` repository permission.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"new_name"
],
"properties": {
"new_name": {
"type": "string",
"description": "The new name of the branch."
}
}
},
"examples": {
"default": {
"value": {
"new_name": "my_renamed_branch"
}
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/branches/{branch}/rename
/repos/{owner}/{repo}/codeowners/errors
List any syntax errors that are detected in the CODEOWNERS file. For more information about the correct CODEOWNERS syntax, see "[About code owners](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| ref | query | optional | string | A branch, tag or commit name used to determine which version of the CODEOWNERS file to use. Default: the repository's default branch (e.g. `main`) |
GET /repos/{owner}/{repo}/codeowners/errors
/repos/{owner}/{repo}/collaborators
For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. The `permissions` hash returned in the response contains the base role permissions of the collaborator. The `role_name` is the highest role assigned to the collaborator after considering all sources of grants, including: repo, teams, organization, and enterprise. There is presently not a way to differentiate between an organization level grant and a repository level grant from this endpoint response. Team members will include the members of child teams. The authenticated user must have write, maintain, or admin privileges on the repository to use this endpoint. For organization-owned repositories, the authenticated user needs to be a member of the organization. OAuth app tokens and personal access tokens (classic) need the `read:org` and `repo` scopes to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| affiliation | query | optional | string | Filter collaborators returned by their affiliation. `outside` means all outside collaborators of an organization-owned repository. `direct` means all collaborators with permissions to an organization-owned repository, regardless of organization membership status. `all` means all collaborators the authenticated user can see. |
| permission | query | optional | string | Filter collaborators by the permissions they have on the repository. If not specified, all collaborators will be returned. |
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/collaborators
/repos/{owner}/{repo}/collaborators/{username}
Removes a collaborator from a repository. To use this endpoint, the authenticated user must either be an administrator of the repository or target themselves for removal. This endpoint also: - Cancels any outstanding invitations sent by the collaborator - Unassigns the user from any issues - Removes access to organization projects if the user is not an organization member and is not a collaborator on any other organization repositories. - Unstars the repository - Updates access permissions to packages Removing a user as a collaborator has the following effects on forks: - If the user had access to a fork through their membership to this repository, the user will also be removed from the fork. - If the user had their own fork of the repository, the fork will be deleted. - If the user still has read access to the repository, open pull requests by this user from a fork will be denied. > [!NOTE] > A user can still have access to the repository through organization permissions like base repository permissions. Although the API responds immediately, the additional permission updates might take some extra time to complete in the background. For more information on fork permissions, see "[About permissions and visibility of forks](https://docs.github.com/pull-requests/collaborating-with-pull-requests/working-with-forks/about-permissions-and-visibility-of-forks)".
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}/collaborators/{username}
/repos/{owner}/{repo}/collaborators/{username}
For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. Team members will include the members of child teams. The authenticated user must have push access to the repository to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `read:org` and `repo` scopes to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/collaborators/{username}
/repos/{owner}/{repo}/collaborators/{username}
Add a user to a repository with a specified level of access. If the repository is owned by an organization, this API does not add the user to the organization - a user that has repository access without being an organization member is called an "outside collaborator" (if they are not an Enterprise Managed User) or a "repository collaborator" if they are an Enterprise Managed User. These users are exempt from some organization policies - see "[Adding outside collaborators to repositories](https://docs.github.com/organizations/managing-user-access-to-your-organizations-repositories/managing-outside-collaborators/adding-outside-collaborators-to-repositories-in-your-organization)" to learn more about these collaborator types. This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Adding an outside collaborator may be restricted by enterprise and organization administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)" and "[Setting permissions for adding outside collaborators](https://docs.github.com/organizations/managing-organization-settings/setting-permissions-for-adding-outside-collaborators)" for organization settings. For more information on permission levels, see "[Repository permission levels for an organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". There are restrictions on which permissions can be granted to organization members when an organization base role is in place. In this case, the role being given must be equal to or higher than the org base permission. Otherwise, the request will fail with: ``` Cannot assign {member} permission of {role name} ``` Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." The invitee will receive a notification that they have been invited to the repository, which they must accept or decline. They may do this via the notifications page, the email they receive, or by using the [API](https://docs.github.com/rest/collaborators/invitations). For Enterprise Managed Users, this endpoint does not send invitations - these users are automatically added to organizations and repositories. Enterprise Managed Users can only be added to organizations and repositories within their enterprise. **Updating an existing collaborator's permission level** The endpoint can also be used to change the permissions of an existing collaborator without first removing and re-adding the collaborator. To change the permissions, use the same endpoint and pass a different `permission` parameter. The response will be a `204`, with no other indication that the permission level changed. **Rate limits** You are limited to sending 50 invitations to a repository per 24 hour period. Note there is no limit if you are inviting organization members to an organization repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"permission": {
"type": "string",
"default": "push",
"description": "The permission to grant the collaborator. **Only valid on organization-owned repositories.** We accept the following permissions to be set: `pull`, `triage`, `push`, `maintain`, `admin` and you can also specify a custom repository role name, if the owning organization has defined any."
}
}
},
"examples": {
"new-invitation-is-created": {
"value": {
"permission": "triage"
},
"summary": "Add a collaborator with triage permissions"
}
}
}
},
"required": false
}
PUT /repos/{owner}/{repo}/collaborators/{username}
/repos/{owner}/{repo}/collaborators/{username}/permission
Checks the repository permission and role of a collaborator. The `permission` attribute provides the legacy base roles of `admin`, `write`, `read`, and `none`, where the `maintain` role is mapped to `write` and the `triage` role is mapped to `read`. The `role_name` attribute provides the name of the assigned role, including custom roles. The `permission` can also be used to determine which base level of access the collaborator has to the repository. The calculated permissions are the highest role assigned to the collaborator after considering all sources of grants, including: repo, teams, organization, and enterprise. There is presently not a way to differentiate between an organization level grant and a repository level grant from this endpoint response.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/collaborators/{username}/permission
/repos/{owner}/{repo}/comments
Lists the commit comments for a specified repository. Comments are ordered by ascending ID. This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/comments
/repos/{owner}/{repo}/comments/{comment_id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}/comments/{comment_id}
/repos/{owner}/{repo}/comments/{comment_id}
Gets a specified commit comment. This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/comments/{comment_id}
/repos/{owner}/{repo}/comments/{comment_id}
Updates the contents of a specified commit comment. This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"body"
],
"properties": {
"body": {
"type": "string",
"description": "The contents of the comment"
}
}
},
"examples": {
"default": {
"value": {
"body": "Nice change"
}
}
}
}
},
"required": true
}
PATCH /repos/{owner}/{repo}/comments/{comment_id}
/repos/{owner}/{repo}/commits
**Signature verification object** The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: | Name | Type | Description | | ---- | ---- | ----------- | | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | | `signature` | `string` | The signature that was extracted from the commit. | | `payload` | `string` | The value that was signed. | | `verified_at` | `string` | The date the signature was verified by GitHub. | These are the possible values for `reason` in the `verification` object: | Value | Description | | ----- | ----------- | | `expired_key` | The key that made the signature is expired. | | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | | `gpgverify_error` | There was an error communicating with the signature verification service. | | `gpgverify_unavailable` | The signature verification service is currently unavailable. | | `unsigned` | The object does not include a signature. | | `unknown_signature_type` | A non-PGP signature was found in the commit. | | `no_user` | No user was associated with the `committer` email address in the commit. | | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | | `unknown_key` | The key that made the signature has not been registered with any user's account. | | `malformed_signature` | There was an error parsing the signature. | | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | | `valid` | None of the above errors applied, so the signature is considered to be verified. |
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| sha | query | optional | string | SHA or branch to start listing commits from. Default: the repository’s default branch (usually `main`). |
| path | query | optional | string | Only commits containing this file path will be returned. |
| author | query | optional | string | GitHub username or email address to use to filter by commit author. |
| committer | query | optional | string | GitHub username or email address to use to filter by commit committer. |
| since | query | optional | string | Only show results that were last updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Due to limitations of Git, timestamps must be between 1970-01-01 and 2099-12-31 (inclusive) or unexpected results may be returned. |
| until | query | optional | string | Only commits before this date will be returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Due to limitations of Git, timestamps must be between 1970-01-01 and 2099-12-31 (inclusive) or unexpected results may be returned. |
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/commits
/repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head
Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. Returns all branches where the given commit SHA is the HEAD, or latest commit for the branch.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head
/repos/{owner}/{repo}/commits/{commit_sha}/comments
Lists the comments for a specified commit. This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/commits/{commit_sha}/comments
/repos/{owner}/{repo}/commits/{commit_sha}/comments
Create a comment for a commit using its `:commit_sha`. This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"body"
],
"properties": {
"body": {
"type": "string",
"description": "The contents of the comment."
},
"line": {
"type": "integer",
"description": "**Closing down notice**. Use **position** parameter instead. Line number in the file to comment on."
},
"path": {
"type": "string",
"description": "Relative path of the file to comment on."
},
"position": {
"type": "integer",
"description": "Line index in the diff to comment on."
}
}
},
"examples": {
"default": {
"value": {
"body": "Great stuff",
"line": 1,
"path": "file1.txt",
"position": 4
}
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/commits/{commit_sha}/comments
/repos/{owner}/{repo}/commits/{commit_sha}/pulls
Lists the merged pull request that introduced the commit to the repository. If the commit is not present in the default branch, it will return merged and open pull requests associated with the commit. To list the open or merged pull requests associated with a branch, you can set the `commit_sha` parameter to the branch name.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls
/repos/{owner}/{repo}/commits/{ref}
Returns the contents of a single commit reference. You must have `read` access for the repository to use this endpoint. > [!NOTE] > If there are more than 300 files in the commit diff and the default JSON media type is requested, the response will include pagination link headers for the remaining files, up to a limit of 3000 files. Each page contains the static commit information, and the only changes are to the file listing. This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." Pagination query parameters are not supported for these media types. - **`application/vnd.github.diff`**: Returns the diff of the commit. Larger diffs may time out and return a 5xx status code. - **`application/vnd.github.patch`**: Returns the patch of the commit. Diffs with binary data will have no `patch` property. Larger diffs may time out and return a 5xx status code. - **`application/vnd.github.sha`**: Returns the commit's SHA-1 hash. You can use this endpoint to check if a remote reference's SHA-1 hash is the same as your local reference's SHA-1 hash by providing the local SHA-1 reference as the ETag. **Signature verification object** The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: | Name | Type | Description | | ---- | ---- | ----------- | | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | | `signature` | `string` | The signature that was extracted from the commit. | | `payload` | `string` | The value that was signed. | | `verified_at` | `string` | The date the signature was verified by GitHub. | These are the possible values for `reason` in the `verification` object: | Value | Description | | ----- | ----------- | | `expired_key` | The key that made the signature is expired. | | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | | `gpgverify_error` | There was an error communicating with the signature verification service. | | `gpgverify_unavailable` | The signature verification service is currently unavailable. | | `unsigned` | The object does not include a signature. | | `unknown_signature_type` | A non-PGP signature was found in the commit. | | `no_user` | No user was associated with the `committer` email address in the commit. | | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | | `unknown_key` | The key that made the signature has not been registered with any user's account. | | `malformed_signature` | There was an error parsing the signature. | | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | | `valid` | None of the above errors applied, so the signature is considered to be verified. |
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/commits/{ref}
/repos/{owner}/{repo}/commits/{ref}/status
Users with pull access in a repository can access a combined view of commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. Additionally, a combined `state` is returned. The `state` is one of: * **failure** if any of the contexts report as `error` or `failure` * **pending** if there are no statuses or a context is `pending` * **success** if the latest status for all contexts is `success`
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/commits/{ref}/status
/repos/{owner}/{repo}/commits/{ref}/statuses
Users with pull access in a repository can view commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. Statuses are returned in reverse chronological order. The first status in the list will be the latest one. This resource is also available via a legacy route: `GET /repos/:owner/:repo/statuses/:ref`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/commits/{ref}/statuses
/repos/{owner}/{repo}/community/profile
Returns all community profile metrics for a repository. The repository cannot be a fork. The returned metrics include an overall health score, the repository description, the presence of documentation, the detected code of conduct, the detected license, and the presence of ISSUE\_TEMPLATE, PULL\_REQUEST\_TEMPLATE, README, and CONTRIBUTING files. The `health_percentage` score is defined as a percentage of how many of the recommended community health files are present. For more information, see "[About community profiles for public repositories](https://docs.github.com/communities/setting-up-your-project-for-healthy-contributions/about-community-profiles-for-public-repositories)." `content_reports_enabled` is only returned for organization-owned repositories.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/community/profile
/repos/{owner}/{repo}/compare/{basehead}
Compares two commits against one another. You can compare refs (branches or tags) and commit SHAs in the same repository, or you can compare refs and commit SHAs that exist in different repositories within the same repository network, including fork branches. For more information about how to view a repository's network, see "[Understanding connections between repositories](https://docs.github.com/repositories/viewing-activity-and-data-for-your-repository/understanding-connections-between-repositories)." This endpoint is equivalent to running the `git log BASE..HEAD` command, but it returns commits in a different order. The `git log BASE..HEAD` command returns commits in reverse chronological order, whereas the API returns commits in chronological order. This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github.diff`**: Returns the diff of the commit. - **`application/vnd.github.patch`**: Returns the patch of the commit. Diffs with binary data will have no `patch` property. The API response includes details about the files that were changed between the two commits. This includes the status of the change (if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file. When calling this endpoint without any paging parameter (`per_page` or `page`), the returned list is limited to 250 commits, and the last commit in the list is the most recent of the entire comparison. **Working with large comparisons** To process a response with a large number of commits, use a query parameter (`per_page` or `page`) to paginate the results. When using pagination: - The list of changed files is only shown on the first page of results, and it includes up to 300 changed files for the entire comparison. - The results are returned in chronological order, but the last commit in the returned list may not be the most recent one in the entire set if there are more pages of results. For more information on working with pagination, see "[Using pagination in the REST API](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api)." **Signature verification object** The response will include a `verification` object that describes the result of verifying the commit's signature. The `verification` object includes the following fields: | Name | Type | Description | | ---- | ---- | ----------- | | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | | `signature` | `string` | The signature that was extracted from the commit. | | `payload` | `string` | The value that was signed. | | `verified_at` | `string` | The date the signature was verified by GitHub. | These are the possible values for `reason` in the `verification` object: | Value | Description | | ----- | ----------- | | `expired_key` | The key that made the signature is expired. | | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | | `gpgverify_error` | There was an error communicating with the signature verification service. | | `gpgverify_unavailable` | The signature verification service is currently unavailable. | | `unsigned` | The object does not include a signature. | | `unknown_signature_type` | A non-PGP signature was found in the commit. | | `no_user` | No user was associated with the `committer` email address in the commit. | | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | | `unknown_key` | The key that made the signature has not been registered with any user's account. | | `malformed_signature` | There was an error parsing the signature. | | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | | `valid` | None of the above errors applied, so the signature is considered to be verified. |
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| basehead | path | required | string | The base branch and head branch to compare. This parameter expects the format `BASE...HEAD`. Both must be branch names in `repo`. To compare with a branch that exists in a different repository in the same network as `repo`, the `basehead` parameter expects the format `USERNAME:BASE...USERNAME:HEAD`. |
GET /repos/{owner}/{repo}/compare/{basehead}
/repos/{owner}/{repo}/contents/{path}
Deletes a file in a repository. You can provide an additional `committer` parameter, which is an object containing information about the committer. Or, you can provide an `author` parameter, which is an object containing information about the author. The `author` section is optional and is filled in with the `committer` information if omitted. If the `committer` information is omitted, the authenticated user's information is used. You must provide values for both `name` and `email`, whether you choose to use `author` or `committer`. Otherwise, you'll receive a `422` status code. > [!NOTE] > If you use this endpoint and the "[Create or update file contents](https://docs.github.com/rest/repos/contents/#create-or-update-file-contents)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| path | path | required | string | path parameter |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"message",
"sha"
],
"properties": {
"sha": {
"type": "string",
"description": "The blob SHA of the file being deleted."
},
"author": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the author (or committer) of the commit"
},
"email": {
"type": "string",
"description": "The email of the author (or committer) of the commit"
}
},
"description": "object containing information about the author."
},
"branch": {
"type": "string",
"description": "The branch name. Default: the repository’s default branch"
},
"message": {
"type": "string",
"description": "The commit message."
},
"committer": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the author (or committer) of the commit"
},
"email": {
"type": "string",
"description": "The email of the author (or committer) of the commit"
}
},
"description": "object containing information about the committer."
}
}
},
"examples": {
"default": {
"value": {
"sha": "329688480d39049927147c162b9d2deaf885005f",
"message": "my commit message",
"committer": {
"name": "Monalisa Octocat",
"email": "octocat@github.com"
}
}
}
}
}
},
"required": true
}
DELETE /repos/{owner}/{repo}/contents/{path}
/repos/{owner}/{repo}/contents/{path}
Gets the contents of a file or directory in a repository. Specify the file path or directory with the `path` parameter. If you omit the `path` parameter, you will receive the contents of the repository's root directory. This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github.raw+json`**: Returns the raw file contents for files and symlinks. - **`application/vnd.github.html+json`**: Returns the file contents in HTML. Markup languages are rendered to HTML using GitHub's open-source [Markup library](https://github.com/github/markup). - **`application/vnd.github.object+json`**: Returns the contents in a consistent object format regardless of the content type. For example, instead of an array of objects for a directory, the response will be an object with an `entries` attribute containing the array of objects. If the content is a directory, the response will be an array of objects, one object for each item in the directory. When listing the contents of a directory, submodules have their "type" specified as "file". Logically, the value _should_ be "submodule". This behavior exists [for backwards compatibility purposes](https://git.io/v1YCW). In the next major version of the API, the type will be returned as "submodule". If the content is a symlink and the symlink's target is a normal file in the repository, then the API responds with the content of the file. Otherwise, the API responds with an object describing the symlink itself. If the content is a submodule, the `submodule_git_url` field identifies the location of the submodule repository, and the `sha` identifies a specific commit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out the submodule at that specific commit. If the submodule repository is not hosted on github.com, the Git URLs (`git_url` and `_links["git"]`) and the github.com URLs (`html_url` and `_links["html"]`) will have null values. **Notes**: - To get a repository's contents recursively, you can [recursively get the tree](https://docs.github.com/rest/git/trees#get-a-tree). - This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the [Git Trees API](https://docs.github.com/rest/git/trees#get-a-tree). - Download URLs expire and are meant to be used just once. To ensure the download URL does not expire, please use the contents API to obtain a fresh download URL for each download. - If the requested file's size is: - 1 MB or smaller: All features of this endpoint are supported. - Between 1-100 MB: Only the `raw` or `object` custom media types are supported. Both will work as normal, except that when using the `object` media type, the `content` field will be an empty string and the `encoding` field will be `"none"`. To get the contents of these larger files, use the `raw` media type. - Greater than 100 MB: This endpoint is not supported.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| path | path | required | string | path parameter |
| ref | query | optional | string | The name of the commit/branch/tag. Default: the repository’s default branch. |
{
"content": {
"application/json": {
"examples": {
"response-if-content-is-a-file": {
"summary": "Content is a file"
},
"response-if-content-is-a-symlink": {
"summary": "Content is a symlink"
},
"response-if-content-is-a-directory": {
"summary": "Content is a directory"
},
"response-if-content-is-a-submodule": {
"summary": "Content is a submodule"
},
"response-if-content-is-a-file-github-object": {
"summary": "Content is a file using the object media type"
},
"response-if-content-is-a-directory-github-object": {
"summary": "Content is a directory using the object media type"
}
}
}
},
"required": false
}
GET /repos/{owner}/{repo}/contents/{path}
/repos/{owner}/{repo}/contents/{path}
Creates a new file or replaces an existing file in a repository. > [!NOTE] > If you use this endpoint and the "[Delete a file](https://docs.github.com/rest/repos/contents/#delete-a-file)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. The `workflow` scope is also required in order to modify files in the `.github/workflows` directory.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| path | path | required | string | path parameter |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"message",
"content"
],
"properties": {
"sha": {
"type": "string",
"description": "**Required if you are updating a file**. The blob SHA of the file being replaced."
},
"author": {
"type": "object",
"required": [
"name",
"email"
],
"properties": {
"date": {
"type": "string",
"example": "\"2013-01-15T17:13:22+05:00\""
},
"name": {
"type": "string",
"description": "The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted."
},
"email": {
"type": "string",
"description": "The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted."
}
},
"description": "The author of the file. Default: The `committer` or the authenticated user if you omit `committer`."
},
"branch": {
"type": "string",
"description": "The branch name. Default: the repository’s default branch."
},
"content": {
"type": "string",
"description": "The new file content, using Base64 encoding."
},
"message": {
"type": "string",
"description": "The commit message."
},
"committer": {
"type": "object",
"required": [
"name",
"email"
],
"properties": {
"date": {
"type": "string",
"example": "\"2013-01-05T13:13:22+05:00\""
},
"name": {
"type": "string",
"description": "The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted."
},
"email": {
"type": "string",
"description": "The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted."
}
},
"description": "The person that committed the file. Default: the authenticated user."
}
}
},
"examples": {
"example-for-creating-a-file": {
"value": {
"content": "bXkgbmV3IGZpbGUgY29udGVudHM=",
"message": "my commit message",
"committer": {
"name": "Monalisa Octocat",
"email": "octocat@github.com"
}
},
"summary": "Example for creating a file"
},
"example-for-updating-a-file": {
"value": {
"sha": "95b966ae1c166bd92f8ae7d1c313e738c731dfc3",
"content": "bXkgdXBkYXRlZCBmaWxlIGNvbnRlbnRz",
"message": "a new commit message",
"committer": {
"name": "Monalisa Octocat",
"email": "octocat@github.com"
}
},
"summary": "Example for updating a file"
}
}
}
},
"required": true
}
PUT /repos/{owner}/{repo}/contents/{path}
/repos/{owner}/{repo}/contributors
Lists contributors to the specified repository and sorts them by the number of commits per contributor in descending order. This endpoint may return information that is a few hours old because the GitHub REST API caches contributor data to improve performance. GitHub identifies contributors by author email address. This endpoint groups contribution counts by GitHub user, which includes all associated email addresses. To improve performance, only the first 500 author email addresses in the repository link to GitHub users. The rest will appear as anonymous contributors without associated GitHub user information.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| anon | query | optional | string | Set to `1` or `true` to include anonymous contributors in results. |
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/contributors
/repos/{owner}/{repo}/deployments
Simple filtering of deployments is available via query parameters:
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| sha | query | optional | string | The SHA recorded at creation time. |
| ref | query | optional | string | The name of the ref. This can be a branch, tag, or SHA. |
| task | query | optional | string | The name of the task for the deployment (e.g., `deploy` or `deploy:migrations`). |
| environment | query | optional | string | The name of the environment that was deployed to (e.g., `staging` or `production`). |
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/deployments
/repos/{owner}/{repo}/deployments
Deployments offer a few configurable parameters with certain defaults. The `ref` parameter can be any named branch, tag, or SHA. At GitHub we often deploy branches and verify them before we merge a pull request. The `environment` parameter allows deployments to be issued to different runtime environments. Teams often have multiple environments for verifying their applications, such as `production`, `staging`, and `qa`. This parameter makes it easier to track which environments have requested deployments. The default environment is `production`. The `auto_merge` parameter is used to ensure that the requested ref is not behind the repository's default branch. If the ref _is_ behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds, the API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will return a failure response. By default, [commit statuses](https://docs.github.com/rest/commits/statuses) for every submitted context must be in a `success` state. The `required_contexts` parameter allows you to specify a subset of contexts that must be `success`, or to specify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do not require any contexts or create any commit statuses, the deployment will always succeed. The `payload` parameter is available for any extra information that a deployment system might need. It is a JSON text field that will be passed on when a deployment event is dispatched. The `task` parameter is used by the deployment system to allow different execution paths. In the web world this might be `deploy:migrations` to run schema changes on the system. In the compiled world this could be a flag to compile an application with debugging enabled. Merged branch response: You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating a deployment. This auto-merge happens when: * Auto-merge option is enabled in the repository * Topic branch does not include the latest changes on the base branch, which is `master` in the response example * There are no merge conflicts If there are no new commits in the base branch, a new request to create a deployment should give a successful response. Merge conflict response: This error happens when the `auto_merge` option is enabled and when the default branch (in this case `master`), can't be merged into the branch that's being deployed (in this case `topic-branch`), due to merge conflicts. Failed commit status checks: This error happens when the `required_contexts` parameter indicates that one or more contexts need to have a `success` status for the commit to be deployed, but one or more of the required contexts do not have a state of `success`. OAuth app tokens and personal access tokens (classic) need the `repo` or `repo_deployment` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ref"
],
"properties": {
"ref": {
"type": "string",
"description": "The ref to deploy. This can be a branch, tag, or SHA."
},
"task": {
"type": "string",
"default": "deploy",
"description": "Specifies a task to execute (e.g., `deploy` or `deploy:migrations`)."
},
"payload": {
"oneOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "string",
"default": "",
"description": "JSON payload with extra information about the deployment."
}
]
},
"auto_merge": {
"type": "boolean",
"default": true,
"description": "Attempts to automatically merge the default branch into the requested ref, if it's behind the default branch."
},
"description": {
"type": "string",
"default": "",
"nullable": true,
"description": "Short description of the deployment."
},
"environment": {
"type": "string",
"default": "production",
"description": "Name for the target deployment environment (e.g., `production`, `staging`, `qa`)."
},
"required_contexts": {
"type": "array",
"items": {
"type": "string"
},
"description": "The [status](https://docs.github.com/rest/commits/statuses) contexts to verify against commit status checks. If you omit this parameter, GitHub verifies all unique contexts before creating a deployment. To bypass checking entirely, pass an empty array. Defaults to all unique contexts."
},
"transient_environment": {
"type": "boolean",
"default": false,
"description": "Specifies if the given environment is specific to the deployment and will no longer exist at some point in the future. Default: `false`"
},
"production_environment": {
"type": "boolean",
"description": "Specifies if the given environment is one that end-users directly interact with. Default: `true` when `environment` is `production` and `false` otherwise."
}
}
},
"examples": {
"simple-example": {
"value": {
"ref": "topic-branch",
"payload": "{ \"deploy\": \"migrate\" }",
"description": "Deploy request from hubot"
},
"summary": "Simple example"
},
"advanced-example": {
"value": {
"ref": "topic-branch",
"payload": "{ \"deploy\": \"migrate\" }",
"auto_merge": false,
"description": "Deploy request from hubot",
"required_contexts": [
"ci/janky",
"security/brakeman"
]
},
"summary": "Advanced example"
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/deployments
/repos/{owner}/{repo}/deployments/{deployment_id}
If the repository only has one deployment, you can delete the deployment regardless of its status. If the repository has more than one deployment, you can only delete inactive deployments. This ensures that repositories with multiple deployments will always have an active deployment. To set a deployment as inactive, you must: * Create a new deployment that is active so that the system has a record of the current state, then delete the previously active deployment. * Mark the active deployment as inactive by adding any non-successful deployment status. For more information, see "[Create a deployment](https://docs.github.com/rest/deployments/deployments/#create-a-deployment)" and "[Create a deployment status](https://docs.github.com/rest/deployments/statuses#create-a-deployment-status)." OAuth app tokens and personal access tokens (classic) need the `repo` or `repo_deployment` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}/deployments/{deployment_id}
/repos/{owner}/{repo}/deployments/{deployment_id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/deployments/{deployment_id}
/repos/{owner}/{repo}/deployments/{deployment_id}/statuses
Users with pull access can view deployment statuses for a deployment:
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses
/repos/{owner}/{repo}/deployments/{deployment_id}/statuses
Users with `push` access can create deployment statuses for a given deployment. OAuth app tokens and personal access tokens (classic) need the `repo_deployment` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"state"
],
"properties": {
"state": {
"enum": [
"error",
"failure",
"inactive",
"in_progress",
"queued",
"pending",
"success"
],
"type": "string",
"description": "The state of the status. When you set a transient deployment to `inactive`, the deployment will be shown as `destroyed` in GitHub."
},
"log_url": {
"type": "string",
"default": "",
"description": "The full URL of the deployment's output. This parameter replaces `target_url`. We will continue to accept `target_url` to support legacy uses, but we recommend replacing `target_url` with `log_url`. Setting `log_url` will automatically set `target_url` to the same value. Default: `\"\"`"
},
"target_url": {
"type": "string",
"default": "",
"description": "The target URL to associate with this status. This URL should contain output to keep the user updated while the task is running or serve as historical information for what happened in the deployment.\n\n> [!NOTE]\n> It's recommended to use the `log_url` parameter, which replaces `target_url`."
},
"description": {
"type": "string",
"default": "",
"description": "A short description of the status. The maximum description length is 140 characters."
},
"environment": {
"type": "string",
"description": "Name for the target deployment environment, which can be changed when setting a deploy status. For example, `production`, `staging`, or `qa`. If not defined, the environment of the previous status on the deployment will be used, if it exists. Otherwise, the environment of the deployment will be used."
},
"auto_inactive": {
"type": "boolean",
"description": "Adds a new `inactive` status to all prior non-transient, non-production environment deployments with the same repository and `environment` name as the created status's deployment. An `inactive` status is only added to deployments that had a `success` state. Default: `true`"
},
"environment_url": {
"type": "string",
"default": "",
"description": "Sets the URL for accessing your environment. Default: `\"\"`"
}
}
},
"examples": {
"default": {
"value": {
"state": "success",
"log_url": "https://example.com/deployment/42/output",
"description": "Deployment finished successfully.",
"environment": "production"
}
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses
/repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}
Users with pull access can view a deployment status for a deployment:
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| status_id | path | required | integer |
GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}
/repos/{owner}/{repo}/dispatches
You can use this endpoint to trigger a webhook event called `repository_dispatch` when you want activity that happens outside of GitHub to trigger a GitHub Actions workflow or GitHub App webhook. You must configure your GitHub Actions workflow or GitHub App to run when the `repository_dispatch` event occurs. For an example `repository_dispatch` webhook payload, see "[RepositoryDispatchEvent](https://docs.github.com/webhooks/event-payloads/#repository_dispatch)." The `client_payload` parameter is available for any extra information that your workflow might need. This parameter is a JSON payload that will be passed on when the webhook event is dispatched. For example, the `client_payload` can include a message that a user would like to send using a GitHub Actions workflow. Or the `client_payload` can be used as a test to debug your workflow. This input example shows how you can use the `client_payload` as a test to debug your workflow. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"event_type"
],
"properties": {
"event_type": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "A custom webhook event name. Must be 100 characters or fewer."
},
"client_payload": {
"type": "object",
"description": "JSON payload with extra information about the webhook event that your action or workflow may use. The maximum number of top-level properties is 10. The total size of the JSON payload must be less than 64KB.",
"maxProperties": 10,
"additionalProperties": true
}
}
},
"examples": {
"default": {
"value": {
"event_type": "on-demand-test",
"client_payload": {
"unit": false,
"integration": true
}
}
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/dispatches
/repos/{owner}/{repo}/environments
Lists the environments for a repository. Anyone with read access to the repository can use this endpoint. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/environments
/repos/{owner}/{repo}/environments/{environment_name}
OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}/environments/{environment_name}
/repos/{owner}/{repo}/environments/{environment_name}
> [!NOTE] > To get information about name patterns that branches must match in order to deploy to this environment, see "[Get a deployment branch policy](/rest/deployments/branch-policies#get-a-deployment-branch-policy)." Anyone with read access to the repository can use this endpoint. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/environments/{environment_name}
/repos/{owner}/{repo}/environments/{environment_name}
Create or update an environment with protection rules, such as required reviewers. For more information about environment protection rules, see "[Environments](/actions/reference/environments#environment-protection-rules)." > [!NOTE] > To create or update name patterns that branches must match in order to deploy to this environment, see "[Deployment branch policies](/rest/deployments/branch-policies)." > [!NOTE] > To create or update secrets for an environment, see "[GitHub Actions secrets](/rest/actions/secrets)." OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"nullable": true,
"properties": {
"reviewers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"example": 4532992,
"description": "The id of the user or team who can review the deployment"
},
"type": {
"$ref": "#/components/schemas/deployment-reviewer-type"
}
}
},
"nullable": true,
"description": "The people or teams that may review jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed."
},
"wait_timer": {
"$ref": "#/components/schemas/wait-timer"
},
"prevent_self_review": {
"$ref": "#/components/schemas/prevent-self-review"
},
"deployment_branch_policy": {
"$ref": "#/components/schemas/deployment-branch-policy-settings"
}
},
"additionalProperties": false
},
"examples": {
"default": {
"value": {
"reviewers": [
{
"id": 1,
"type": "User"
},
{
"id": 1,
"type": "Team"
}
],
"wait_timer": 30,
"prevent_self_review": false,
"deployment_branch_policy": {
"protected_branches": false,
"custom_branch_policies": true
}
}
}
}
}
},
"required": false
}
PUT /repos/{owner}/{repo}/environments/{environment_name}
/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies
Lists the deployment branch policies for an environment. Anyone with read access to the repository can use this endpoint. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies
/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies
Creates a deployment branch or tag policy for an environment. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/deployment-branch-policy-name-pattern-with-type"
},
"examples": {
"example-wildcard": {
"value": {
"name": "release/*"
},
"summary": "Example of a wildcard name pattern"
},
"example-single-tag": {
"value": {
"name": "v1",
"type": "tag"
},
"summary": "Example of a single tag name pattern"
},
"example-single-branch": {
"value": {
"name": "main",
"type": "branch"
},
"summary": "Example of a single branch name pattern"
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies
/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}
Deletes a deployment branch or tag policy for an environment. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}
/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}
Gets a deployment branch or tag policy for an environment. Anyone with read access to the repository can use this endpoint. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}
/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}
Updates a deployment branch or tag policy for an environment. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/deployment-branch-policy-name-pattern"
},
"examples": {
"default": {
"value": {
"name": "release/*"
}
}
}
}
},
"required": true
}
PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}
/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules
Gets all custom deployment protection rules that are enabled for an environment. Anyone with read access to the repository can use this endpoint. For more information about environments, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment)." For more information about the app that is providing this custom deployment rule, see the [documentation for the `GET /apps/{app_slug}` endpoint](https://docs.github.com/rest/apps/apps#get-an-app). OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules
/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules
Enable a custom deployment protection rule for an environment. The authenticated user must have admin or owner permissions to the repository to use this endpoint. For more information about the app that is providing this custom deployment rule, see the [documentation for the `GET /apps/{app_slug}` endpoint](https://docs.github.com/rest/apps/apps#get-an-app), as well as the [guide to creating custom deployment protection rules](https://docs.github.com/actions/managing-workflow-runs-and-deployments/managing-deployments/creating-custom-deployment-protection-rules). OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"integration_id": {
"type": "integer",
"description": "The ID of the custom app that will be enabled on the environment."
}
}
},
"examples": {
"default": {
"value": {
"integration_id": 5
}
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules
/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps
Gets all custom deployment protection rule integrations that are available for an environment. The authenticated user must have admin or owner permissions to the repository to use this endpoint. For more information about environments, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment)." For more information about the app that is providing this custom deployment rule, see "[GET an app](https://docs.github.com/rest/apps/apps#get-an-app)". OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps
/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}
Disables a custom deployment protection rule for an environment. The authenticated user must have admin or owner permissions to the repository to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}
/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}
Gets an enabled custom deployment protection rule for an environment. Anyone with read access to the repository can use this endpoint. For more information about environments, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment)." For more information about the app that is providing this custom deployment rule, see [`GET /apps/{app_slug}`](https://docs.github.com/rest/apps/apps#get-an-app). OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}
/repos/{owner}/{repo}/forks
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| sort | query | optional | string | The sort order. `stargazers` will sort by star count. |
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/forks
/repos/{owner}/{repo}/forks
Create a fork for the authenticated user. > [!NOTE] > Forking a Repository happens asynchronously. You may have to wait a short period of time before you can access the git objects. If this takes longer than 5 minutes, be sure to contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). > [!NOTE] > Although this endpoint works with GitHub Apps, the GitHub App must be installed on the destination account with access to all repositories and on the source account with access to the source repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"nullable": true,
"properties": {
"name": {
"type": "string",
"description": "When forking from an existing repository, a new name for the fork."
},
"organization": {
"type": "string",
"description": "Optional parameter to specify the organization name if forking into an organization."
},
"default_branch_only": {
"type": "boolean",
"description": "When forking from an existing repository, fork with only the default branch."
}
}
},
"examples": {
"default": {
"value": {
"name": "Hello-World",
"organization": "octocat",
"default_branch_only": true
}
}
}
}
},
"required": false
}
POST /repos/{owner}/{repo}/forks
/repos/{owner}/{repo}/hooks
Lists webhooks for a repository. `last response` may return null if there have not been any deliveries within 30 days.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/hooks
/repos/{owner}/{repo}/hooks
Repositories can have multiple webhooks installed. Each webhook should have a unique `config`. Multiple webhooks can share the same `config` as long as those webhooks do not have any `events` that overlap.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"nullable": true,
"properties": {
"name": {
"type": "string",
"description": "Use `web` to create a webhook. Default: `web`. This parameter only accepts the value `web`."
},
"active": {
"type": "boolean",
"default": true,
"description": "Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications."
},
"config": {
"type": "object",
"properties": {
"url": {
"$ref": "#/components/schemas/webhook-config-url"
},
"secret": {
"$ref": "#/components/schemas/webhook-config-secret"
},
"content_type": {
"$ref": "#/components/schemas/webhook-config-content-type"
},
"insecure_ssl": {
"$ref": "#/components/schemas/webhook-config-insecure-ssl"
}
},
"description": "Key/value pairs to provide settings for this webhook."
},
"events": {
"type": "array",
"items": {
"type": "string"
},
"default": [
"push"
],
"description": "Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for."
}
},
"additionalProperties": false
},
"examples": {
"default": {
"value": {
"name": "web",
"active": true,
"config": {
"url": "https://example.com/webhook",
"content_type": "json",
"insecure_ssl": "0"
},
"events": [
"push",
"pull_request"
]
}
}
}
}
},
"required": false
}
POST /repos/{owner}/{repo}/hooks
/repos/{owner}/{repo}/hooks/{hook_id}
Delete a webhook for an organization. The authenticated user must be a repository owner, or have admin access in the repository, to delete the webhook.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}/hooks/{hook_id}
/repos/{owner}/{repo}/hooks/{hook_id}
Returns a webhook configured in a repository. To get only the webhook `config` properties, see "[Get a webhook configuration for a repository](/rest/webhooks/repo-config#get-a-webhook-configuration-for-a-repository)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/hooks/{hook_id}
/repos/{owner}/{repo}/hooks/{hook_id}
Updates a webhook configured in a repository. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for a repository](/rest/webhooks/repo-config#update-a-webhook-configuration-for-a-repository)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"active": {
"type": "boolean",
"default": true,
"description": "Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications."
},
"config": {
"$ref": "#/components/schemas/webhook-config"
},
"events": {
"type": "array",
"items": {
"type": "string"
},
"default": [
"push"
],
"description": "Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. This replaces the entire array of events."
},
"add_events": {
"type": "array",
"items": {
"type": "string"
},
"description": "Determines a list of events to be added to the list of events that the Hook triggers for."
},
"remove_events": {
"type": "array",
"items": {
"type": "string"
},
"description": "Determines a list of events to be removed from the list of events that the Hook triggers for."
}
}
},
"examples": {
"default": {
"value": {
"active": true,
"add_events": [
"pull_request"
]
}
}
}
}
},
"required": true
}
PATCH /repos/{owner}/{repo}/hooks/{hook_id}
/repos/{owner}/{repo}/hooks/{hook_id}/config
Returns the webhook configuration for a repository. To get more information about the webhook, including the `active` state and `events`, use "[Get a repository webhook](/rest/webhooks/repos#get-a-repository-webhook)." OAuth app tokens and personal access tokens (classic) need the `read:repo_hook` or `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/hooks/{hook_id}/config
/repos/{owner}/{repo}/hooks/{hook_id}/config
Updates the webhook configuration for a repository. To update more information about the webhook, including the `active` state and `events`, use "[Update a repository webhook](/rest/webhooks/repos#update-a-repository-webhook)." OAuth app tokens and personal access tokens (classic) need the `write:repo_hook` or `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"url": {
"$ref": "#/components/schemas/webhook-config-url"
},
"secret": {
"$ref": "#/components/schemas/webhook-config-secret"
},
"content_type": {
"$ref": "#/components/schemas/webhook-config-content-type"
},
"insecure_ssl": {
"$ref": "#/components/schemas/webhook-config-insecure-ssl"
}
},
"additionalProperties": false
},
"examples": {
"default": {
"value": {
"url": "https://example.com/webhook",
"content_type": "json"
},
"summary": "Example of updating content type and URL"
}
}
}
},
"required": false
}
PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config
/repos/{owner}/{repo}/hooks/{hook_id}/deliveries
Returns a list of webhook deliveries for a webhook configured in a repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries
/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}
Returns a delivery for a webhook configured in a repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}
/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts
Redeliver a webhook delivery for a webhook configured in a repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts
/repos/{owner}/{repo}/hooks/{hook_id}/pings
This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
POST /repos/{owner}/{repo}/hooks/{hook_id}/pings
/repos/{owner}/{repo}/hooks/{hook_id}/tests
This will trigger the hook with the latest push to the current repository if the hook is subscribed to `push` events. If the hook is not subscribed to `push` events, the server will respond with 204 but no test POST will be generated. > [!NOTE] > Previously `/repos/:owner/:repo/hooks/:hook_id/test`
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
POST /repos/{owner}/{repo}/hooks/{hook_id}/tests
/repos/{owner}/{repo}/immutable-releases
Disables immutable releases for a repository. The authenticated user must have admin access to the repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}/immutable-releases
/repos/{owner}/{repo}/immutable-releases
Shows whether immutable releases are enabled or disabled. Also identifies whether immutability is being enforced by the repository owner. The authenticated user must have admin read access to the repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/immutable-releases
/repos/{owner}/{repo}/immutable-releases
Enables immutable releases for a repository. The authenticated user must have admin access to the repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
PUT /repos/{owner}/{repo}/immutable-releases
/repos/{owner}/{repo}/invitations
When authenticating as a user with admin rights to a repository, this endpoint will list all currently open repository invitations.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/invitations
/repos/{owner}/{repo}/invitations/{invitation_id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}/invitations/{invitation_id}
/repos/{owner}/{repo}/invitations/{invitation_id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"permissions": {
"enum": [
"read",
"write",
"maintain",
"triage",
"admin"
],
"type": "string",
"description": "The permissions that the associated user will have on the repository. Valid values are `read`, `write`, `maintain`, `triage`, and `admin`."
}
}
},
"examples": {
"default": {
"value": {
"permissions": "write"
},
"summary": "Example request body"
}
}
}
},
"required": false
}
PATCH /repos/{owner}/{repo}/invitations/{invitation_id}
/repos/{owner}/{repo}/keys
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/keys
/repos/{owner}/{repo}/keys
You can create a read-only deploy key.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"key"
],
"properties": {
"key": {
"type": "string",
"description": "The contents of the key."
},
"title": {
"type": "string",
"description": "A name for the key."
},
"read_only": {
"type": "boolean",
"description": "If `true`, the key will only be able to read repository contents. Otherwise, the key will be able to read and write. \n \nDeploy keys with write access can perform the same actions as an organization member with admin access, or a collaborator on a personal repository. For more information, see \"[Repository permission levels for an organization](https://docs.github.com/articles/repository-permission-levels-for-an-organization/)\" and \"[Permission levels for a user account repository](https://docs.github.com/articles/permission-levels-for-a-user-account-repository/).\""
}
}
},
"examples": {
"default": {
"value": {
"key": "ssh-rsa AAA...",
"title": "octocat@octomac",
"read_only": true
}
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/keys
/repos/{owner}/{repo}/keys/{key_id}
Deploy keys are immutable. If you need to update a key, remove the key and create a new one instead.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}/keys/{key_id}
/repos/{owner}/{repo}/keys/{key_id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/keys/{key_id}
/repos/{owner}/{repo}/languages
Lists languages for the specified repository. The value shown for each language is the number of bytes of code written in that language.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/languages
/repos/{owner}/{repo}/merge-upstream
Sync a branch of a forked repository to keep it up-to-date with the upstream repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"branch"
],
"properties": {
"branch": {
"type": "string",
"description": "The name of the branch which should be updated to match upstream."
}
}
},
"examples": {
"default": {
"value": {
"branch": "main"
}
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/merge-upstream
/repos/{owner}/{repo}/merges
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"base",
"head"
],
"properties": {
"base": {
"type": "string",
"description": "The name of the base branch that the head will be merged into."
},
"head": {
"type": "string",
"description": "The head to merge. This can be a branch name or a commit SHA1."
},
"commit_message": {
"type": "string",
"description": "Commit message to use for the merge commit. If omitted, a default message will be used."
}
}
},
"examples": {
"default": {
"value": {
"base": "master",
"head": "cool_feature",
"commit_message": "Shipped cool_feature!"
}
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/merges
/repos/{owner}/{repo}/pages
Deletes a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages). The authenticated user must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}/pages
/repos/{owner}/{repo}/pages
Gets information about a GitHub Pages site. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/pages
/repos/{owner}/{repo}/pages
Configures a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages)." The authenticated user must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"anyOf": [
{
"required": [
"source"
]
},
{
"required": [
"build_type"
]
}
],
"nullable": true,
"properties": {
"source": {
"type": "object",
"required": [
"branch"
],
"properties": {
"path": {
"enum": [
"/",
"/docs"
],
"type": "string",
"default": "/",
"description": "The repository directory that includes the source files for the Pages site. Allowed paths are `/` or `/docs`. Default: `/`"
},
"branch": {
"type": "string",
"description": "The repository branch used to publish your site's source files."
}
},
"description": "The source branch and directory used to publish your Pages site."
},
"build_type": {
"enum": [
"legacy",
"workflow"
],
"type": "string",
"description": "The process in which the Page will be built. Possible values are `\"legacy\"` and `\"workflow\"`."
}
},
"description": "The source branch and directory used to publish your Pages site."
},
"examples": {
"default": {
"value": {
"source": {
"path": "/docs",
"branch": "main"
}
}
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/pages
/repos/{owner}/{repo}/pages
Updates information for a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages). The authenticated user must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"anyOf": [
{
"required": [
"build_type"
]
},
{
"required": [
"source"
]
},
{
"required": [
"cname"
]
},
{
"required": [
"public"
]
},
{
"required": [
"https_enforced"
]
}
],
"properties": {
"cname": {
"type": "string",
"nullable": true,
"description": "Specify a custom domain for the repository. Sending a `null` value will remove the custom domain. For more about custom domains, see \"[Using a custom domain with GitHub Pages](https://docs.github.com/pages/configuring-a-custom-domain-for-your-github-pages-site).\""
},
"source": {
"anyOf": [
{
"enum": [
"gh-pages",
"master",
"master /docs"
],
"type": "string",
"description": "Update the source for the repository. Must include the branch name, and may optionally specify the subdirectory `/docs`. Possible values are `\"gh-pages\"`, `\"master\"`, and `\"master /docs\"`."
},
{
"type": "object",
"required": [
"branch",
"path"
],
"properties": {
"path": {
"enum": [
"/",
"/docs"
],
"type": "string",
"description": "The repository directory that includes the source files for the Pages site. Allowed paths are `/` or `/docs`."
},
"branch": {
"type": "string",
"description": "The repository branch used to publish your site's source files."
}
},
"description": "Update the source for the repository. Must include the branch name and path."
}
]
},
"build_type": {
"enum": [
"legacy",
"workflow"
],
"type": "string",
"description": "The process by which the GitHub Pages site will be built. `workflow` means that the site is built by a custom GitHub Actions workflow. `legacy` means that the site is built by GitHub when changes are pushed to a specific branch."
},
"https_enforced": {
"type": "boolean",
"description": "Specify whether HTTPS should be enforced for the repository."
}
}
},
"examples": {
"default": {
"value": {
"cname": "octocatblog.com",
"source": {
"path": "/",
"branch": "main"
}
}
}
}
}
},
"required": true
}
PUT /repos/{owner}/{repo}/pages
/repos/{owner}/{repo}/pages/builds
Lists builts of a GitHub Pages site. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/pages/builds
/repos/{owner}/{repo}/pages/builds
You can request that your site be built from the latest revision on the default branch. This has the same effect as pushing a commit to your default branch, but does not require an additional commit. Manually triggering page builds can be helpful when diagnosing build warnings and failures. Build requests are limited to one concurrent build per repository and one concurrent build per requester. If you request a build while another is still in progress, the second request will be queued until the first completes.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
POST /repos/{owner}/{repo}/pages/builds
/repos/{owner}/{repo}/pages/builds/latest
Gets information about the single most recent build of a GitHub Pages site. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/pages/builds/latest
/repos/{owner}/{repo}/pages/builds/{build_id}
Gets information about a GitHub Pages build. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| build_id | path | required | integer |
GET /repos/{owner}/{repo}/pages/builds/{build_id}
/repos/{owner}/{repo}/pages/deployments
Create a GitHub Pages deployment for a repository. The authenticated user must have write permission to the repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"pages_build_version",
"oidc_token"
],
"properties": {
"oidc_token": {
"type": "string",
"description": "The OIDC token issued by GitHub Actions certifying the origin of the deployment."
},
"artifact_id": {
"type": "number",
"description": "The ID of an artifact that contains the .zip or .tar of static assets to deploy. The artifact belongs to the repository. Either `artifact_id` or `artifact_url` are required."
},
"environment": {
"type": "string",
"default": "github-pages",
"description": "The target environment for this GitHub Pages deployment."
},
"artifact_url": {
"type": "string",
"description": "The URL of an artifact that contains the .zip or .tar of static assets to deploy. The artifact belongs to the repository. Either `artifact_id` or `artifact_url` are required."
},
"pages_build_version": {
"type": "string",
"default": "GITHUB_SHA",
"description": "A unique string that represents the version of the build for this deployment."
}
},
"description": "The object used to create GitHub Pages deployment"
},
"examples": {
"default": {
"value": {
"oidc_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IlV2R1h4SUhlY0JFc1JCdEttemUxUEhfUERiVSIsImtpZCI6IjUyRjE5N0M0ODFERTcwMTEyQzQ0MUI0QTlCMzdCNTNDN0ZDRjBEQjUifQ.eyJqdGkiOiJhMWIwNGNjNy0zNzZiLTQ1N2QtOTMzNS05NTY5YmVjZDExYTIiLCJzdWIiOiJyZXBvOnBhcGVyLXNwYS9taW55aTplbnZpcm9ubWVudDpQcm9kdWN0aW9uIiwiYXVkIjoiaHR0cHM6Ly9naXRodWIuY29tL3BhcGVyLXNwYSIsInJlZiI6InJlZnMvaGVhZHMvbWFpbiIsInNoYSI6ImEyODU1MWJmODdiZDk3NTFiMzdiMmM0YjM3M2MxZjU3NjFmYWM2MjYiLCJyZXBvc2l0b3J5IjoicGFwZXItc3BhL21pbnlpIiwicmVwb3NpdG9yeV9vd25lciI6InBhcGVyLXNwYSIsInJ1bl9pZCI6IjE1NDY0NTkzNjQiLCJydW5fbnVtYmVyIjoiMzQiLCJydW5fYXR0ZW1wdCI6IjYiLCJhY3RvciI6IllpTXlzdHkiLCJ3b3JrZmxvdyI6IkNJIiwiaGVhZF9yZWYiOiIiLCJiYXNlX3JlZiI6IiIsImV2ZW50X25hbWUiOiJwdXNoIiwicmVmX3R5cGUiOiJicmFuY2giLCJlbnZpcm9ubWVudCI6IlByb2R1Y3Rpb24iLCJqb2Jfd29ya2Zsb3dfcmVmIjoicGFwZXItc3BhL21pbnlpLy5naXRodWIvd29ya2Zsb3dzL2JsYW5rLnltbEByZWZzL2hlYWRzL21haW4iLCJpc3MiOiJodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tIiwibmJmIjoxNjM5MDAwODU2LCJleHAiOjE2MzkwMDE3NTYsImlhdCI6MTYzOTAwMTQ1Nn0.VP8WictbQECKozE2SgvKb2FqJ9hisWsoMkYRTqfBrQfZTCXi5IcFEdgDMB2X7a99C2DeUuTvHh9RMKXLL2a0zg3-Sd7YrO7a2ll2kNlnvyIypcN6AeIc7BxHsTTnZN9Ud_xmEsTrSRGOEKmzCFkULQ6N4zlVD0sidypmXlMemmWEcv_ZHqhioEI_VMp5vwXQurketWH7qX4oDgG4okyYtPrv5RQHbfQcVo9izaPJ_jnsDd0CBA0QOx9InjPidtIkMYQLyUgJy33HLJy86EFNUnAf8UhBQuQi5mAsEpEzBBuKpG3PDiPtYCHOk64JZkZGd5mR888a5sbHRiaF8hm8YA",
"environment": "github-pages",
"artifact_url": "https://downloadcontent/",
"pages_build_version": "4fd754f7e594640989b406850d0bc8f06a121251"
}
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/pages/deployments
/repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}
Gets the current status of a GitHub Pages deployment. The authenticated user must have read permission for the GitHub Pages site.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}
/repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel
Cancels a GitHub Pages deployment. The authenticated user must have write permissions for the GitHub Pages site.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
POST /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel
/repos/{owner}/{repo}/pages/health
Gets a health check of the DNS settings for the `CNAME` record configured for a repository's GitHub Pages. The first request to this endpoint returns a `202 Accepted` status and starts an asynchronous background task to get the results for the domain. After the background task completes, subsequent requests to this endpoint return a `200 OK` status with the health check results in the response. The authenticated user must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/pages/health
/repos/{owner}/{repo}/private-vulnerability-reporting
Disables private vulnerability reporting for a repository. The authenticated user must have admin access to the repository. For more information, see "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)".
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}/private-vulnerability-reporting
/repos/{owner}/{repo}/private-vulnerability-reporting
Returns a boolean indicating whether or not private vulnerability reporting is enabled for the repository. For more information, see "[Evaluating the security settings of a repository](https://docs.github.com/code-security/security-advisories/working-with-repository-security-advisories/evaluating-the-security-settings-of-a-repository)".
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/private-vulnerability-reporting
/repos/{owner}/{repo}/private-vulnerability-reporting
Enables private vulnerability reporting for a repository. The authenticated user must have admin access to the repository. For more information, see "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
PUT /repos/{owner}/{repo}/private-vulnerability-reporting
/repos/{owner}/{repo}/properties/values
Gets all custom property values that are set for a repository. Users with read access to the repository can use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/properties/values
/repos/{owner}/{repo}/properties/values
Create new or update existing custom property values for a repository. Using a value of `null` for a custom property will remove or 'unset' the property value from the repository. Repository admins and other users with the repository-level "edit custom property values" fine-grained permission can use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"properties"
],
"properties": {
"properties": {
"type": "array",
"items": {
"$ref": "#/components/schemas/custom-property-value"
},
"description": "A list of custom property names and associated values to apply to the repositories."
}
}
},
"examples": {
"default": {
"$ref": "#/components/examples/create-or-update-custom-properties-values"
}
}
}
},
"required": true
}
PATCH /repos/{owner}/{repo}/properties/values
/repos/{owner}/{repo}/readme
Gets the preferred README for a repository. This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github.raw+json`**: Returns the raw file contents. This is the default if you do not specify a media type. - **`application/vnd.github.html+json`**: Returns the README in HTML. Markup languages are rendered to HTML using GitHub's open-source [Markup library](https://github.com/github/markup).
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| ref | query | optional | string | The name of the commit/branch/tag. Default: the repository’s default branch. |
GET /repos/{owner}/{repo}/readme
/repos/{owner}/{repo}/readme/{dir}
Gets the README from a repository directory. This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." - **`application/vnd.github.raw+json`**: Returns the raw file contents. This is the default if you do not specify a media type. - **`application/vnd.github.html+json`**: Returns the README in HTML. Markup languages are rendered to HTML using GitHub's open-source [Markup library](https://github.com/github/markup).
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| dir | path | required | string | The alternate path to look for a README file |
| ref | query | optional | string | The name of the commit/branch/tag. Default: the repository’s default branch. |
GET /repos/{owner}/{repo}/readme/{dir}
/repos/{owner}/{repo}/releases
This returns a list of releases, which does not include regular Git tags that have not been associated with a release. To get a list of Git tags, use the [Repository Tags API](https://docs.github.com/rest/repos/repos#list-repository-tags). Information about published releases are available to everyone. Only users with push access will receive listings for draft releases.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/releases
/repos/{owner}/{repo}/releases
Users with push access to the repository can create a release. This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"tag_name"
],
"properties": {
"body": {
"type": "string",
"description": "Text describing the contents of the tag."
},
"name": {
"type": "string",
"description": "The name of the release."
},
"draft": {
"type": "boolean",
"default": false,
"description": "`true` to create a draft (unpublished) release, `false` to create a published one."
},
"tag_name": {
"type": "string",
"description": "The name of the tag."
},
"prerelease": {
"type": "boolean",
"default": false,
"description": "`true` to identify the release as a prerelease. `false` to identify the release as a full release."
},
"make_latest": {
"enum": [
"true",
"false",
"legacy"
],
"type": "string",
"default": "true",
"description": "Specifies whether this release should be set as the latest release for the repository. Drafts and prereleases cannot be set as latest. Defaults to `true` for newly published releases. `legacy` specifies that the latest release should be determined based on the release creation date and higher semantic version."
},
"target_commitish": {
"type": "string",
"description": "Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch."
},
"generate_release_notes": {
"type": "boolean",
"default": false,
"description": "Whether to automatically generate the name and body for this release. If `name` is specified, the specified name will be used; otherwise, a name will be automatically generated. If `body` is specified, the body will be pre-pended to the automatically generated notes."
},
"discussion_category_name": {
"type": "string",
"description": "If specified, a discussion of the specified category is created and linked to the release. The value must be a category that already exists in the repository. For more information, see \"[Managing categories for discussions in your repository](https://docs.github.com/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository).\""
}
}
},
"examples": {
"default": {
"value": {
"body": "Description of the release",
"name": "v1.0.0",
"draft": false,
"tag_name": "v1.0.0",
"prerelease": false,
"target_commitish": "master",
"generate_release_notes": false
}
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/releases
/repos/{owner}/{repo}/releases/assets/{asset_id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}
/repos/{owner}/{repo}/releases/assets/{asset_id}
To download the asset's binary content: - If within a browser, fetch the location specified in the `browser_download_url` key provided in the response. - Alternatively, set the `Accept` header of the request to [`application/octet-stream`](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types). The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a `200` or `302` response.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/releases/assets/{asset_id}
/repos/{owner}/{repo}/releases/assets/{asset_id}
Users with push access to the repository can edit a release asset.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The file name of the asset."
},
"label": {
"type": "string",
"description": "An alternate short description of the asset. Used in place of the filename."
},
"state": {
"type": "string",
"example": "\"uploaded\""
}
}
},
"examples": {
"default": {
"value": {
"name": "foo-1.0.0-osx.zip",
"label": "Mac binary"
}
}
}
}
},
"required": false
}
PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}
/repos/{owner}/{repo}/releases/generate-notes
Generate a name and body describing a [release](https://docs.github.com/rest/releases/releases#get-a-release). The body content will be markdown formatted and contain information like the changes since last release and users who contributed. The generated release notes are not saved anywhere. They are intended to be generated and used when creating a new release.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"tag_name"
],
"properties": {
"tag_name": {
"type": "string",
"description": "The tag name for the release. This can be an existing tag or a new one."
},
"target_commitish": {
"type": "string",
"description": "Specifies the commitish value that will be the target for the release's tag. Required if the supplied tag_name does not reference an existing tag. Ignored if the tag_name already exists."
},
"previous_tag_name": {
"type": "string",
"description": "The name of the previous tag to use as the starting point for the release notes. Use to manually specify the range for the set of changes considered as part this release."
},
"configuration_file_path": {
"type": "string",
"description": "Specifies a path to a file in the repository containing configuration settings used for generating the release notes. If unspecified, the configuration file located in the repository at '.github/release.yml' or '.github/release.yaml' will be used. If that is not present, the default configuration will be used."
}
}
},
"examples": {
"default": {
"value": {
"tag_name": "v1.0.0",
"target_commitish": "main",
"previous_tag_name": "v0.9.2",
"configuration_file_path": ".github/custom_release_config.yml"
}
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/releases/generate-notes
/repos/{owner}/{repo}/releases/latest
View the latest published full release for the repository. The latest release is the most recent non-prerelease, non-draft release, sorted by the `created_at` attribute. The `created_at` attribute is the date of the commit used for the release, and not the date when the release was drafted or published.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/releases/latest
/repos/{owner}/{repo}/releases/tags/{tag}
Get a published release with the specified tag.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| tag | path | required | string | tag parameter |
GET /repos/{owner}/{repo}/releases/tags/{tag}
/repos/{owner}/{repo}/releases/{release_id}
Users with push access to the repository can delete a release.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}/releases/{release_id}
/repos/{owner}/{repo}/releases/{release_id}
Gets a public release with the specified release ID. > [!NOTE] > This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a hypermedia resource. For more information, see "[Getting started with the REST API](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#hypermedia)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/releases/{release_id}
/repos/{owner}/{repo}/releases/{release_id}
Users with push access to the repository can edit a release.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"body": {
"type": "string",
"description": "Text describing the contents of the tag."
},
"name": {
"type": "string",
"description": "The name of the release."
},
"draft": {
"type": "boolean",
"description": "`true` makes the release a draft, and `false` publishes the release."
},
"tag_name": {
"type": "string",
"description": "The name of the tag."
},
"prerelease": {
"type": "boolean",
"description": "`true` to identify the release as a prerelease, `false` to identify the release as a full release."
},
"make_latest": {
"enum": [
"true",
"false",
"legacy"
],
"type": "string",
"default": "true",
"description": "Specifies whether this release should be set as the latest release for the repository. Drafts and prereleases cannot be set as latest. Defaults to `true` for newly published releases. `legacy` specifies that the latest release should be determined based on the release creation date and higher semantic version."
},
"target_commitish": {
"type": "string",
"description": "Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch."
},
"discussion_category_name": {
"type": "string",
"description": "If specified, a discussion of the specified category is created and linked to the release. The value must be a category that already exists in the repository. If there is already a discussion linked to the release, this parameter is ignored. For more information, see \"[Managing categories for discussions in your repository](https://docs.github.com/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository).\""
}
}
},
"examples": {
"default": {
"value": {
"body": "Description of the release",
"name": "v1.0.0",
"draft": false,
"tag_name": "v1.0.0",
"prerelease": false,
"target_commitish": "master"
}
}
}
}
},
"required": false
}
PATCH /repos/{owner}/{repo}/releases/{release_id}
/repos/{owner}/{repo}/releases/{release_id}/assets
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/releases/{release_id}/assets
/repos/{owner}/{repo}/releases/{release_id}/assets
This endpoint makes use of a [Hypermedia relation](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#hypermedia) to determine which URL to access. The endpoint you call to upload release assets is specific to your release. Use the `upload_url` returned in the response of the [Create a release endpoint](https://docs.github.com/rest/releases/releases#create-a-release) to upload a release asset. You need to use an HTTP client which supports [SNI](http://en.wikipedia.org/wiki/Server_Name_Indication) to make calls to this endpoint. Most libraries will set the required `Content-Length` header automatically. Use the required `Content-Type` header to provide the media type of the asset. For a list of media types, see [Media Types](https://www.iana.org/assignments/media-types/media-types.xhtml). For example: `application/zip` GitHub expects the asset data in its raw binary form, rather than JSON. You will send the raw binary content of the asset as the request body. Everything else about the endpoint is the same as the rest of the API. For example, you'll still need to pass your authentication to be able to upload an asset. When an upstream failure occurs, you will receive a `502 Bad Gateway` status. This may leave an empty asset with a state of `starter`. It can be safely deleted. **Notes:** * GitHub renames asset filenames that have special characters, non-alphanumeric characters, and leading or trailing periods. The "[List release assets](https://docs.github.com/rest/releases/assets#list-release-assets)" endpoint lists the renamed filenames. For more information and help, contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). * To find the `release_id` query the [`GET /repos/{owner}/{repo}/releases/latest` endpoint](https://docs.github.com/rest/releases/releases#get-the-latest-release). * If you upload an asset with the same filename as another uploaded asset, you'll receive an error and must delete the old file before you can re-upload the new asset.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| name | query | required | string | |
| label | query | optional | string |
{
"content": {
"application/octet-stream": {
"schema": {
"type": "string",
"format": "binary",
"description": "The raw file data"
},
"examples": {
"default": {
"value": "@example.zip"
}
}
}
},
"required": false
}
POST /repos/{owner}/{repo}/releases/{release_id}/assets
/repos/{owner}/{repo}/rules/branches/{branch}
Returns all active rules that apply to the specified branch. The branch does not need to exist; rules that would apply to a branch with that name will be returned. All active rules that apply will be returned, regardless of the level at which they are configured (e.g. repository or organization). Rules in rulesets with "evaluate" or "disabled" enforcement statuses are not returned.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/rules/branches/{branch}
/repos/{owner}/{repo}/rulesets
Get all the rulesets for a repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| includes_parents | query | optional | boolean | Include rulesets configured at higher levels that apply to this repository |
| optional |
GET /repos/{owner}/{repo}/rulesets
/repos/{owner}/{repo}/rulesets
Create a ruleset for a repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"name",
"enforcement"
],
"properties": {
"name": {
"type": "string",
"description": "The name of the ruleset."
},
"rules": {
"type": "array",
"items": {
"$ref": "#/components/schemas/repository-rule"
},
"description": "An array of rules within the ruleset."
},
"target": {
"enum": [
"branch",
"tag",
"push"
],
"type": "string",
"default": "branch",
"description": "The target of the ruleset"
},
"conditions": {
"$ref": "#/components/schemas/repository-ruleset-conditions"
},
"enforcement": {
"$ref": "#/components/schemas/repository-rule-enforcement"
},
"bypass_actors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/repository-ruleset-bypass-actor"
},
"description": "The actors that can bypass the rules in this ruleset"
}
}
},
"examples": {
"default": {
"value": {
"name": "super cool ruleset",
"rules": [
{
"type": "commit_author_email_pattern",
"parameters": {
"pattern": "github",
"operator": "contains"
}
}
],
"target": "branch",
"conditions": {
"ref_name": {
"exclude": [
"refs/heads/dev*"
],
"include": [
"refs/heads/main",
"refs/heads/master"
]
}
},
"enforcement": "active",
"bypass_actors": [
{
"actor_id": 234,
"actor_type": "Team",
"bypass_mode": "always"
}
]
}
}
}
}
},
"required": true,
"description": "Request body"
}
POST /repos/{owner}/{repo}/rulesets
/repos/{owner}/{repo}/rulesets/rule-suites
Lists suites of rule evaluations at the repository level. For more information, see "[Managing rulesets for a repository](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/managing-rulesets-for-a-repository#viewing-insights-for-rulesets)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/rulesets/rule-suites
/repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}
Gets information about a suite of rule evaluations from within a repository. For more information, see "[Managing rulesets for a repository](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/managing-rulesets-for-a-repository#viewing-insights-for-rulesets)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}
/repos/{owner}/{repo}/rulesets/{ruleset_id}
Delete a ruleset for a repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| ruleset_id | path | required | integer | The ID of the ruleset. |
DELETE /repos/{owner}/{repo}/rulesets/{ruleset_id}
/repos/{owner}/{repo}/rulesets/{ruleset_id}
Get a ruleset for a repository. **Note:** To prevent leaking sensitive information, the `bypass_actors` property is only returned if the user making the API request has write access to the ruleset.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| ruleset_id | path | required | integer | The ID of the ruleset. |
| includes_parents | query | optional | boolean | Include rulesets configured at higher levels that apply to this repository |
GET /repos/{owner}/{repo}/rulesets/{ruleset_id}
/repos/{owner}/{repo}/rulesets/{ruleset_id}
Update a ruleset for a repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| ruleset_id | path | required | integer | The ID of the ruleset. |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the ruleset."
},
"rules": {
"type": "array",
"items": {
"$ref": "#/components/schemas/repository-rule"
},
"description": "An array of rules within the ruleset."
},
"target": {
"enum": [
"branch",
"tag",
"push"
],
"type": "string",
"description": "The target of the ruleset"
},
"conditions": {
"$ref": "#/components/schemas/repository-ruleset-conditions"
},
"enforcement": {
"$ref": "#/components/schemas/repository-rule-enforcement"
},
"bypass_actors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/repository-ruleset-bypass-actor"
},
"description": "The actors that can bypass the rules in this ruleset"
}
}
},
"examples": {
"default": {
"value": {
"name": "super cool ruleset",
"rules": [
{
"type": "commit_author_email_pattern",
"parameters": {
"pattern": "github",
"operator": "contains"
}
}
],
"target": "branch",
"conditions": {
"ref_name": {
"exclude": [
"refs/heads/dev*"
],
"include": [
"refs/heads/main",
"refs/heads/master"
]
}
},
"enforcement": "active",
"bypass_actors": [
{
"actor_id": 234,
"actor_type": "Team",
"bypass_mode": "always"
}
]
}
}
}
}
},
"required": false,
"description": "Request body"
}
PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}
/repos/{owner}/{repo}/rulesets/{ruleset_id}/history
Get the history of a repository ruleset.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| ruleset_id | path | required | integer | The ID of the ruleset. |
GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history
/repos/{owner}/{repo}/rulesets/{ruleset_id}/history/{version_id}
Get a version of a repository ruleset.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| ruleset_id | path | required | integer | The ID of the ruleset. |
| version_id | path | required | integer | The ID of the version |
GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history/{version_id}
/repos/{owner}/{repo}/stats/code_frequency
Returns a weekly aggregate of the number of additions and deletions pushed to a repository. > [!NOTE] > This endpoint can only be used for repositories with fewer than 10,000 commits. If the repository contains 10,000 or more commits, a 422 status code will be returned.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/stats/code_frequency
/repos/{owner}/{repo}/stats/commit_activity
Returns the last year of commit activity grouped by week. The `days` array is a group of commits per day, starting on `Sunday`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/stats/commit_activity
/repos/{owner}/{repo}/stats/contributors
Returns the `total` number of commits authored by the contributor. In addition, the response includes a Weekly Hash (`weeks` array) with the following information: * `w` - Start of the week, given as a [Unix timestamp](https://en.wikipedia.org/wiki/Unix_time). * `a` - Number of additions * `d` - Number of deletions * `c` - Number of commits > [!NOTE] > This endpoint will return `0` values for all addition and deletion counts in repositories with 10,000 or more commits.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/stats/contributors
/repos/{owner}/{repo}/stats/participation
Returns the total commit counts for the `owner` and total commit counts in `all`. `all` is everyone combined, including the `owner` in the last 52 weeks. If you'd like to get the commit counts for non-owners, you can subtract `owner` from `all`. The array order is oldest week (index 0) to most recent week. The most recent week is seven days ago at UTC midnight to today at UTC midnight.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/stats/participation
/repos/{owner}/{repo}/stats/punch_card
Each array contains the day number, hour number, and number of commits: * `0-6`: Sunday - Saturday * `0-23`: Hour of day * Number of commits For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/stats/punch_card
/repos/{owner}/{repo}/statuses/{sha}
Users with push access in a repository can create commit statuses for a given SHA. Note: there is a limit of 1000 statuses per `sha` and `context` within a repository. Attempts to create more than 1000 statuses will result in a validation error.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| sha | path | required | string |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"state"
],
"properties": {
"state": {
"enum": [
"error",
"failure",
"pending",
"success"
],
"type": "string",
"description": "The state of the status."
},
"context": {
"type": "string",
"default": "default",
"description": "A string label to differentiate this status from the status of other systems. This field is case-insensitive."
},
"target_url": {
"type": "string",
"nullable": true,
"description": "The target URL to associate with this status. This URL will be linked from the GitHub UI to allow users to easily see the source of the status. \nFor example, if your continuous integration system is posting build status, you would want to provide the deep link for the build output for this specific SHA: \n`http://ci.example.com/user/repo/build/sha`"
},
"description": {
"type": "string",
"nullable": true,
"description": "A short description of the status."
}
}
},
"examples": {
"default": {
"value": {
"state": "success",
"context": "continuous-integration/jenkins",
"target_url": "https://example.com/build/status",
"description": "The build succeeded!"
}
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/statuses/{sha}
/repos/{owner}/{repo}/tags
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/tags
/repos/{owner}/{repo}/tarball/{ref}
Gets a redirect URL to download a tar archive for a repository. If you omit `:ref`, the repository’s default branch (usually `main`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use the `Location` header to make a second `GET` request. > [!NOTE] > For private repositories, these links are temporary and expire after five minutes.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| ref | path | required | string |
GET /repos/{owner}/{repo}/tarball/{ref}
/repos/{owner}/{repo}/teams
Lists the teams that have access to the specified repository and that are also visible to the authenticated user. For a public repository, a team is listed only if that team added the public repository explicitly. OAuth app tokens and personal access tokens (classic) need the `public_repo` or `repo` scope to use this endpoint with a public repository, and `repo` scope to use this endpoint with a private repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/teams
/repos/{owner}/{repo}/topics
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/topics
/repos/{owner}/{repo}/topics
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"names"
],
"properties": {
"names": {
"type": "array",
"items": {
"type": "string"
},
"description": "An array of topics to add to the repository. Pass one or more topics to _replace_ the set of existing topics. Send an empty array (`[]`) to clear all topics from the repository. **Note:** Topic `names` will be saved as lowercase."
}
}
},
"examples": {
"default": {
"value": {
"names": [
"octocat",
"atom",
"electron",
"api"
]
}
}
}
}
},
"required": true
}
PUT /repos/{owner}/{repo}/topics
/repos/{owner}/{repo}/traffic/clones
Get the total number of clones and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/traffic/clones
/repos/{owner}/{repo}/traffic/popular/paths
Get the top 10 popular contents over the last 14 days.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/traffic/popular/paths
/repos/{owner}/{repo}/traffic/popular/referrers
Get the top 10 referrers over the last 14 days.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/traffic/popular/referrers
/repos/{owner}/{repo}/traffic/views
Get the total number of views and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/traffic/views
/repos/{owner}/{repo}/transfer
A transfer request will need to be accepted by the new owner when transferring a personal repository to another user. The response will contain the original `owner`, and the transfer will continue asynchronously. For more details on the requirements to transfer personal and organization-owned repositories, see [about repository transfers](https://docs.github.com/articles/about-repository-transfers/).
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"new_owner"
],
"properties": {
"new_name": {
"type": "string",
"description": "The new name to be given to the repository."
},
"team_ids": {
"type": "array",
"items": {
"type": "integer"
},
"description": "ID of the team or teams to add to the repository. Teams can only be added to organization-owned repositories."
},
"new_owner": {
"type": "string",
"description": "The username or organization name the repository will be transferred to."
}
}
},
"examples": {
"default": {
"value": {
"new_name": "octorepo",
"team_ids": [
12,
345
],
"new_owner": "github"
}
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/transfer
/repos/{owner}/{repo}/vulnerability-alerts
Disables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)".
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
DELETE /repos/{owner}/{repo}/vulnerability-alerts
/repos/{owner}/{repo}/vulnerability-alerts
Shows whether dependency alerts are enabled or disabled for a repository. The authenticated user must have admin read access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)".
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/vulnerability-alerts
/repos/{owner}/{repo}/vulnerability-alerts
Enables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)".
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
PUT /repos/{owner}/{repo}/vulnerability-alerts
/repos/{owner}/{repo}/zipball/{ref}
Gets a redirect URL to download a zip archive for a repository. If you omit `:ref`, the repository’s default branch (usually `main`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use the `Location` header to make a second `GET` request. > [!NOTE] > For private repositories, these links are temporary and expire after five minutes. If the repository is empty, you will receive a 404 when you follow the redirect.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| ref | path | required | string |
GET /repos/{owner}/{repo}/zipball/{ref}
/repos/{template_owner}/{template_repo}/generate
Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. If the repository is not public, the authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/rest/repos/repos#get-a-repository) endpoint and check that the `is_template` key is `true`. OAuth app tokens and personal access tokens (classic) need the `public_repo` or `repo` scope to create a public repository, and `repo` scope to create a private repository.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| template_owner | path | required | string | The account owner of the template repository. The name is not case sensitive. |
| template_repo | path | required | string | The name of the template repository without the `.git` extension. The name is not case sensitive. |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "The name of the new repository."
},
"owner": {
"type": "string",
"description": "The organization or person who will own the new repository. To create a new repository in an organization, the authenticated user must be a member of the specified organization."
},
"private": {
"type": "boolean",
"default": false,
"description": "Either `true` to create a new private repository or `false` to create a new public one."
},
"description": {
"type": "string",
"description": "A short description of the new repository."
},
"include_all_branches": {
"type": "boolean",
"default": false,
"description": "Set to `true` to include the directory structure and files from all branches in the template repository, and not just the default branch. Default: `false`."
}
}
},
"examples": {
"default": {
"value": {
"name": "Hello-World",
"owner": "octocat",
"private": false,
"description": "This is your first repository",
"include_all_branches": false
}
}
}
}
},
"required": true
}
POST /repos/{template_owner}/{template_repo}/generate
/repositories
Lists all public repositories in the order that they were created. Note: - For GitHub Enterprise Server, this endpoint will only list repositories available to all users on the enterprise. - Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of repositories.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /repositories
/user/repos
Lists repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| visibility | query | optional | string | Limit results to repositories with the specified visibility. |
| affiliation | query | optional | string | Comma-separated list of values. Can include: * `owner`: Repositories that are owned by the authenticated user. * `collaborator`: Repositories that the user has been added to as a collaborator. * `organization_member`: Repositories that the user has access to through being a member of an organization. This includes every repository on every team that the user is on. |
| type | query | optional | string | Limit results to repositories of the specified type. Will cause a `422` error if used in the same request as **visibility** or **affiliation**. |
| sort | query | optional | string | The property to sort the results by. |
| direction | query | optional | string | The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`. |
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /user/repos
/user/repos
Creates a new repository for the authenticated user. OAuth app tokens and personal access tokens (classic) need the `public_repo` or `repo` scope to create a public repository, and `repo` scope to create a private repository.
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"example": "Team Environment",
"description": "The name of the repository."
},
"private": {
"type": "boolean",
"default": false,
"description": "Whether the repository is private."
},
"team_id": {
"type": "integer",
"description": "The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization."
},
"has_wiki": {
"type": "boolean",
"default": true,
"example": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"description": "A URL with more information about the repository."
},
"auto_init": {
"type": "boolean",
"default": false,
"description": "Whether the repository is initialized with a minimal README."
},
"has_issues": {
"type": "boolean",
"default": true,
"example": true,
"description": "Whether issues are enabled."
},
"description": {
"type": "string",
"description": "A short description of the repository."
},
"is_template": {
"type": "boolean",
"default": false,
"example": true,
"description": "Whether this repository acts as a template that can be used to generate new repositories."
},
"has_projects": {
"type": "boolean",
"default": true,
"example": true,
"description": "Whether projects are enabled."
},
"has_downloads": {
"type": "boolean",
"default": true,
"example": true,
"description": "Whether downloads are enabled."
},
"has_discussions": {
"type": "boolean",
"default": false,
"example": true,
"description": "Whether discussions are enabled."
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"example": false,
"description": "Whether to allow Auto-merge to be used on pull requests."
},
"license_template": {
"type": "string",
"example": "mit",
"description": "The license keyword of the open source license for this repository."
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"example": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"example": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"example": true,
"description": "Whether to allow squash merges for pull requests."
},
"gitignore_template": {
"type": "string",
"example": "Haskell",
"description": "The desired language or platform to apply to the .gitignore."
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"description": "Required when using `merge_commit_message`.\n\nThe default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"example": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"description": "Required when using `squash_merge_commit_message`.\n\nThe default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
}
}
},
"examples": {
"default": {
"value": {
"name": "Hello-World",
"private": false,
"homepage": "https://github.com",
"description": "This is your first repo!",
"is_template": true
}
}
}
}
},
"required": true
}
POST /user/repos
/user/repository_invitations
When authenticating as a user, this endpoint will list all currently open repository invitations for that user.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /user/repository_invitations
/user/repository_invitations/{invitation_id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
DELETE /user/repository_invitations/{invitation_id}
/user/repository_invitations/{invitation_id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
PATCH /user/repository_invitations/{invitation_id}
/users/{username}/repos
Lists public repositories for the specified user.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| type | query | optional | string | Limit results to repositories of the specified type. |
| sort | query | optional | string | The property to sort the results by. |
| direction | query | optional | string | The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`. |
| optional | ||||
| optional |
GET /users/{username}/repos
/search/code
Searches for query terms inside of a file. This method returns up to 100 results [per page](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api). When searching for code, you can get text match metadata for the file **content** and file **path** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). For example, if you want to find the definition of the `addClass` function inside [jQuery](https://github.com/jquery/jquery) repository, your query would look something like this: `q=addClass+in:file+language:js+repo:jquery/jquery` This query searches for the keyword `addClass` within a file's contents. The query limits the search to files where the language is JavaScript in the `jquery/jquery` repository. Considerations for code search: Due to the complexity of searching code, there are a few restrictions on how searches are performed: * Only the _default branch_ is considered. In most cases, this will be the `master` branch. * Only files smaller than 384 KB are searchable. * You must always include at least one search term when searching source code. For example, searching for [`language:go`](https://github.com/search?utf8=%E2%9C%93&q=language%3Ago&type=Code) is not valid, while [`amazing language:go`](https://github.com/search?utf8=%E2%9C%93&q=amazing+language%3Ago&type=Code) is. > [!NOTE] > `repository.description`, `repository.owner.type`, and `repository.owner.node_id` are closing down on this endpoint and will return `null` in a future API version. Use the [Get a repository](https://docs.github.com/rest/repos/repos#get-a-repository) endpoint (`GET /repos/{owner}/{repo}`) to retrieve full repository metadata. This endpoint requires you to authenticate and limits you to 10 requests per minute.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| q | query | required | string | The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). See "[Searching code](https://docs.github.com/search-github/searching-on-github/searching-code)" for a detailed list of qualifiers. |
| sort | query | optional | string | **This field is closing down.** Sorts the results of your query. Can only be `indexed`, which indicates how recently a file has been indexed by the GitHub search infrastructure. Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) |
| order | query | optional | string | **This field is closing down.** Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. |
| optional | ||||
| optional |
GET /search/code
/search/commits
Find commits via various criteria on the default branch (usually `main`). This method returns up to 100 results [per page](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api). When searching for commits, you can get text match metadata for the **message** field when you provide the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). For example, if you want to find commits related to CSS in the [octocat/Spoon-Knife](https://github.com/octocat/Spoon-Knife) repository. Your query would look something like this: `q=repo:octocat/Spoon-Knife+css`
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| q | query | required | string | The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). See "[Searching commits](https://docs.github.com/search-github/searching-on-github/searching-commits)" for a detailed list of qualifiers. |
| sort | query | optional | string | Sorts the results of your query by `author-date` or `committer-date`. Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) |
| optional | ||||
| optional | ||||
| optional |
GET /search/commits
/search/issues
Find issues by state and keyword. This method returns up to 100 results [per page](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api). When searching for issues, you can get text match metadata for the issue **title**, issue **body**, and issue **comment body** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). For example, if you want to find the oldest unresolved Python bugs on Windows. Your query might look something like this. `q=windows+label:bug+language:python+state:open&sort=created&order=asc` This query searches for the keyword `windows`, within any open issue that is labeled as `bug`. The search runs across repositories whose primary language is Python. The results are sorted by creation date in ascending order, which means the oldest issues appear first in the search results. > [!NOTE] > For requests made by GitHub Apps with a user access token, you can't retrieve a combination of issues and pull requests in a single query. Requests that don't include the `is:issue` or `is:pull-request` qualifier will receive an HTTP `422 Unprocessable Entity` response. To get results for both issues and pull requests, you must send separate queries for issues and pull requests. For more information about the `is` qualifier, see "[Searching only issues or pull requests](https://docs.github.com/github/searching-for-information-on-github/searching-issues-and-pull-requests#search-only-issues-or-pull-requests)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| q | query | required | string | The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). See "[Searching issues and pull requests](https://docs.github.com/search-github/searching-on-github/searching-issues-and-pull-requests)" for a detailed list of qualifiers. |
| sort | query | optional | string | Sorts the results of your query by the number of `comments`, `reactions`, `reactions-+1`, `reactions--1`, `reactions-smile`, `reactions-thinking_face`, `reactions-heart`, `reactions-tada`, or `interactions`. You can also sort results by how recently the items were `created` or `updated`, Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) |
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /search/issues
/search/labels
Find labels in a repository with names or descriptions that match search keywords. Returns up to 100 results [per page](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api). When searching for labels, you can get text match metadata for the label **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). For example, if you want to find labels in the `linguist` repository that match `bug`, `defect`, or `enhancement`. Your query might look like this: `q=bug+defect+enhancement&repository_id=64778136` The labels that best match the query appear first in the search results.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| repository_id | query | required | integer | The id of the repository. |
| q | query | required | string | The search keywords. This endpoint does not accept qualifiers in the query. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). |
| sort | query | optional | string | Sorts the results of your query by when the label was `created` or `updated`. Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) |
| optional | ||||
| optional | ||||
| optional |
GET /search/labels
/search/repositories
Find repositories via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api). When searching for repositories, you can get text match metadata for the **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). For example, if you want to search for popular Tetris repositories written in assembly code, your query might look like this: `q=tetris+language:assembly&sort=stars&order=desc` This query searches for repositories with the word `tetris` in the name, the description, or the README. The results are limited to repositories where the primary language is assembly. The results are sorted by stars in descending order, so that the most popular repositories appear first in the search results.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| q | query | required | string | The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). See "[Searching for repositories](https://docs.github.com/articles/searching-for-repositories/)" for a detailed list of qualifiers. |
| sort | query | optional | string | Sorts the results of your query by number of `stars`, `forks`, or `help-wanted-issues` or how recently the items were `updated`. Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) |
| optional | ||||
| optional | ||||
| optional |
GET /search/repositories
/search/topics
Find topics via various criteria. Results are sorted by best match. This method returns up to 100 results [per page](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api). See "[Searching topics](https://docs.github.com/articles/searching-topics/)" for a detailed list of qualifiers. When searching for topics, you can get text match metadata for the topic's **short\_description**, **description**, **name**, or **display\_name** field when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). For example, if you want to search for topics related to Ruby that are featured on https://github.com/topics. Your query might look like this: `q=ruby+is:featured` This query searches for topics with the keyword `ruby` and limits the results to find only topics that are featured. The topics that are the best match for the query appear first in the search results.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| q | query | required | string | The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). |
| optional | ||||
| optional |
GET /search/topics
/search/users
Find users via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api). When searching for users, you can get text match metadata for the issue **login**, public **email**, and **name** fields when you pass the `text-match` media type. For more details about highlighting search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). For example, if you're looking for a list of popular users, you might try this query: `q=tom+repos:%3E42+followers:%3E1000` This query searches for users with the name `tom`. The results are restricted to users with more than 42 repositories and over 1,000 followers. This endpoint does not accept authentication and will only include publicly visible users. As an alternative, you can use the GraphQL API. The GraphQL API requires authentication and will return private users, including Enterprise Managed Users (EMUs), that you are authorized to view. For more information, see "[GraphQL Queries](https://docs.github.com/graphql/reference/queries#search)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| q | query | required | string | The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). See "[Searching users](https://docs.github.com/search-github/searching-on-github/searching-users)" for a detailed list of qualifiers. |
| sort | query | optional | string | Sorts the results of your query by number of `followers` or `repositories`, or when the person `joined` GitHub. Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) |
| optional | ||||
| optional | ||||
| optional |
GET /search/users
/orgs/{org}/secret-scanning/alerts
Lists secret scanning alerts for eligible repositories in an organization, from newest to oldest. The authenticated user must be an administrator or security manager for the organization to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/secret-scanning/alerts
/orgs/{org}/secret-scanning/pattern-configurations
Lists the secret scanning pattern configurations for an organization. Personal access tokens (classic) need the `read:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /orgs/{org}/secret-scanning/pattern-configurations
/orgs/{org}/secret-scanning/pattern-configurations
Updates the secret scanning pattern configurations for an organization. Personal access tokens (classic) need the `write:org` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"pattern_config_version": {
"$ref": "#/components/schemas/secret-scanning-row-version"
},
"custom_pattern_settings": {
"type": "array",
"items": {
"type": "object",
"properties": {
"token_type": {
"type": "string",
"description": "The ID of the pattern to configure."
},
"custom_pattern_version": {
"$ref": "#/components/schemas/secret-scanning-row-version"
},
"push_protection_setting": {
"enum": [
"disabled",
"enabled"
],
"type": "string",
"description": "Push protection setting to set for the pattern."
}
}
},
"description": "Pattern settings for custom patterns."
},
"provider_pattern_settings": {
"type": "array",
"items": {
"type": "object",
"properties": {
"token_type": {
"type": "string",
"description": "The ID of the pattern to configure."
},
"push_protection_setting": {
"enum": [
"not-set",
"disabled",
"enabled"
],
"type": "string",
"description": "Push protection setting to set for the pattern."
}
}
},
"description": "Pattern settings for provider patterns."
}
}
},
"examples": {
"default": {
"value": {
"pattern_config_version": "0ujsswThIGTUYm2K8FjOOfXtY1K",
"custom_pattern_settings": [
{
"token_type": "cp_2",
"custom_pattern_version": "0ujsswThIGTUYm2K8FjOOfXtY1K",
"push_protection_setting": "enabled"
}
],
"provider_pattern_settings": [
{
"token_type": "GITHUB_PERSONAL_ACCESS_TOKEN",
"push_protection_setting": "enabled"
}
]
}
}
}
}
},
"required": true
}
PATCH /orgs/{org}/secret-scanning/pattern-configurations
/repos/{owner}/{repo}/secret-scanning/alerts
Lists secret scanning alerts for an eligible repository, from newest to oldest. The authenticated user must be an administrator for the repository or for the organization that owns the repository to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/secret-scanning/alerts
/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}
Gets a single secret scanning alert detected in an eligible repository. The authenticated user must be an administrator for the repository or for the organization that owns the repository to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}
/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}
Updates the status of a secret scanning alert in an eligible repository. You can also use this endpoint to assign or unassign an alert to a user who has write access to the repository. The authenticated user must be an administrator for the repository or for the organization that owns the repository to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"anyOf": [
{
"required": [
"state"
]
},
{
"required": [
"assignee"
]
},
{
"required": [
"validity"
]
}
],
"properties": {
"state": {
"$ref": "#/components/schemas/secret-scanning-alert-state"
},
"assignee": {
"$ref": "#/components/schemas/secret-scanning-alert-assignee"
},
"resolution": {
"$ref": "#/components/schemas/secret-scanning-alert-resolution"
},
"resolution_comment": {
"$ref": "#/components/schemas/secret-scanning-alert-resolution-comment"
}
}
},
"examples": {
"assign": {
"value": {
"assignee": "octocat"
},
"summary": "Assign alert to a user"
},
"default": {
"value": {
"state": "resolved",
"resolution": "false_positive"
}
},
"unassign": {
"value": {
"assignee": null
},
"summary": "Unassign alert"
}
}
}
},
"required": true
}
PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}
/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations
Lists all locations for a given secret scanning alert for an eligible repository. The authenticated user must be an administrator for the repository or for the organization that owns the repository to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations
/repos/{owner}/{repo}/secret-scanning/push-protection-bypasses
Creates a bypass for a previously push protected secret. The authenticated user must be the original author of the committed secret. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"reason",
"placeholder_id"
],
"properties": {
"reason": {
"$ref": "#/components/schemas/secret-scanning-push-protection-bypass-reason"
},
"placeholder_id": {
"$ref": "#/components/schemas/secret-scanning-push-protection-bypass-placeholder-id"
}
}
},
"examples": {
"default": {
"value": {
"reason": "will_fix_later",
"placeholder_id": "2k4dM4tseyC5lPIsjl5emX9sPNk"
}
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/secret-scanning/push-protection-bypasses
/repos/{owner}/{repo}/secret-scanning/scan-history
Lists the latest default incremental and backfill scans by type for a repository. > [!NOTE] > This endpoint requires [GitHub Advanced Security](https://docs.github.com/get-started/learning-about-github/about-github-advanced-security). OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/secret-scanning/scan-history
/advisories
Lists all global security advisories that match the specified parameters. If no other parameters are defined, the request will return only GitHub-reviewed advisories that are not malware. By default, all responses will exclude advisories for malware, because malware are not standard vulnerabilities. To list advisories for malware, you must include the `type` parameter in your request, with the value `malware`. For more information about the different types of security advisories, see "[About the GitHub Advisory database](https://docs.github.com/code-security/security-advisories/global-security-advisories/about-the-github-advisory-database#about-types-of-security-advisories)."
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| ghsa_id | query | optional | string | If specified, only advisories with this GHSA (GitHub Security Advisory) identifier will be returned. |
| type | query | optional | string | If specified, only advisories of this type will be returned. By default, a request with no other parameters defined will only return reviewed advisories that are not malware. |
| cve_id | query | optional | string | If specified, only advisories with this CVE (Common Vulnerabilities and Exposures) identifier will be returned. |
| ecosystem | query | optional | If specified, only advisories for these ecosystems will be returned. | |
| severity | query | optional | string | If specified, only advisories with these severities will be returned. |
| cwes | query | optional | If specified, only advisories with these Common Weakness Enumerations (CWEs) will be returned. Example: `cwes=79,284,22` or `cwes[]=79&cwes[]=284&cwes[]=22` | |
| is_withdrawn | query | optional | boolean | Whether to only return advisories that have been withdrawn. |
| affects | query | optional | If specified, only return advisories that affect any of `package` or `package@version`. A maximum of 1000 packages can be specified. If the query parameter causes the URL to exceed the maximum URL length supported by your client, you must specify fewer packages. Example: `affects=package1,package2@1.0.0,package3@2.0.0` or `affects[]=package1&affects[]=package2@1.0.0` | |
| published | query | optional | string | If specified, only return advisories that were published on a date or date range. For more information on the syntax of the date range, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." |
| updated | query | optional | string | If specified, only return advisories that were updated on a date or date range. For more information on the syntax of the date range, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." |
| modified | query | optional | string | If specified, only show advisories that were updated or published on a date or date range. For more information on the syntax of the date range, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." |
| epss_percentage | query | optional | string | If specified, only return advisories that have an EPSS percentage score that matches the provided value. The EPSS percentage represents the likelihood of a CVE being exploited. |
| epss_percentile | query | optional | string | If specified, only return advisories that have an EPSS percentile score that matches the provided value. The EPSS percentile represents the relative rank of the CVE's likelihood of being exploited compared to other CVEs. |
| optional | ||||
| optional | ||||
| optional | ||||
| per_page | query | optional | integer | The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." |
| sort | query | optional | string | The property to sort the results by. |
GET /advisories
/advisories/{ghsa_id}
Gets a global security advisory using its GitHub Security Advisory (GHSA) identifier.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /advisories/{ghsa_id}
/orgs/{org}/security-advisories
Lists repository security advisories for an organization. The authenticated user must be an owner or security manager for the organization to use this endpoint. OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:write` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| sort | query | optional | string | The property to sort the results by. |
| optional | ||||
| optional | ||||
| per_page | query | optional | integer | The number of advisories to return per page. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." |
| state | query | optional | string | Filter by the state of the repository advisories. Only advisories of this state will be returned. |
GET /orgs/{org}/security-advisories
/repos/{owner}/{repo}/security-advisories
Lists security advisories in a repository. The authenticated user can access unpublished security advisories from a repository if they are a security manager or administrator of that repository, or if they are a collaborator on any security advisory. OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:read` scope to to get a published security advisory in a private repository, or any unpublished security advisory that the authenticated user has access to.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| sort | query | optional | string | The property to sort the results by. |
| optional | ||||
| optional | ||||
| per_page | query | optional | integer | The number of advisories to return per page. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." |
| state | query | optional | string | Filter by state of the repository advisories. Only advisories of this state will be returned. |
GET /repos/{owner}/{repo}/security-advisories
/repos/{owner}/{repo}/security-advisories
Creates a new repository security advisory. In order to create a draft repository security advisory, the authenticated user must be a security manager or administrator of that repository. OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:write` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/repository-advisory-create"
},
"examples": {
"default": {
"value": {
"cve_id": null,
"credits": [
{
"type": "reporter",
"login": "monalisa"
},
{
"type": "analyst",
"login": "octocat"
}
],
"cwe_ids": [
"CWE-1101",
"CWE-20"
],
"summary": "A new important advisory",
"severity": "high",
"description": "A more in-depth description of what the problem is.",
"vulnerabilities": [
{
"package": {
"name": "a-package",
"ecosystem": "npm"
},
"patched_versions": "1.0.0",
"vulnerable_functions": [
"important_function"
],
"vulnerable_version_range": "< 1.0.0"
}
]
}
},
"minimal": {
"value": {
"summary": "A new important advisory",
"description": "A more in-depth description of what the problem is.",
"vulnerabilities": [
{
"package": {
"ecosystem": "npm"
}
}
]
}
},
"withVectorString": {
"value": {
"cve_id": null,
"credits": [
{
"type": "reporter",
"login": "monalisa"
},
{
"type": "analyst",
"login": "octocat"
}
],
"cwe_ids": [
"CWE-1101",
"CWE-20"
],
"summary": "A new important advisory",
"description": "A more in-depth description of what the problem is.",
"vulnerabilities": [
{
"package": {
"name": "a-package",
"ecosystem": "npm"
},
"patched_versions": "1.0.0",
"vulnerable_functions": [
"important_function"
],
"vulnerable_version_range": "< 1.0.0"
}
],
"cvss_vector_string": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L"
}
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/security-advisories
/repos/{owner}/{repo}/security-advisories/reports
Report a security vulnerability to the maintainers of the repository. See "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)" for more information about private vulnerability reporting.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/private-vulnerability-report-create"
},
"examples": {
"default": {
"value": {
"cwe_ids": [
"CWE-123"
],
"summary": "A newly discovered vulnerability",
"severity": "high",
"description": "A more in-depth description of what the problem is.",
"vulnerabilities": [
{
"package": {
"name": "a-package",
"ecosystem": "npm"
},
"patched_versions": "1.0.0",
"vulnerable_functions": [
"important_function"
],
"vulnerable_version_range": "< 1.0.0"
}
]
}
}
}
}
},
"required": true
}
POST /repos/{owner}/{repo}/security-advisories/reports
/repos/{owner}/{repo}/security-advisories/{ghsa_id}
Get a repository security advisory using its GitHub Security Advisory (GHSA) identifier. Anyone can access any published security advisory on a public repository. The authenticated user can access an unpublished security advisory from a repository if they are a security manager or administrator of that repository, or if they are a collaborator on the security advisory. OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:read` scope to to get a published security advisory in a private repository, or any unpublished security advisory that the authenticated user has access to.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}
/repos/{owner}/{repo}/security-advisories/{ghsa_id}
Update a repository security advisory using its GitHub Security Advisory (GHSA) identifier. In order to update any security advisory, the authenticated user must be a security manager or administrator of that repository, or a collaborator on the repository security advisory. OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:write` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/repository-advisory-update"
},
"examples": {
"default": {
"value": {
"state": "published",
"severity": "critical"
},
"summary": "Updating the severity and state."
},
"add_credit": {
"value": {
"credits": [
{
"type": "remediation_developer",
"login": "monauser"
}
]
},
"summary": "To add a credit to an advisory, send the whole array of values."
},
"update_vvrs": {
"value": [
{
"package": {
"name": "a-package",
"ecosystem": "pip"
},
"patched_versions": "1.0.1",
"vulnerable_functions": [
"function1"
],
"vulnerable_version_range": ">= 1.0.0, < 1.0.1"
},
{
"package": {
"name": "another-package",
"ecosystem": "pip"
},
"patched_versions": "1.0.2",
"vulnerable_functions": [
"function2"
],
"vulnerable_version_range": ">= 1.0.0, < 1.0.2"
}
],
"summary": "To add vulnerable versions, include existing versions in the array."
},
"invalid_state_transition": {
"value": {
"state": "draft"
},
"summary": "Example of an invalid state transition, from `published` to `draft`."
},
"update_severity_with_cvss_set": {
"value": {
"severity": "low"
},
"summary": "Severity cannot be updated when the CVSS is already set."
}
}
}
},
"required": true
}
PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}
/repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve
If you want a CVE identification number for the security vulnerability in your project, and don't already have one, you can request a CVE identification number from GitHub. For more information see "[Requesting a CVE identification number](https://docs.github.com/code-security/security-advisories/repository-security-advisories/publishing-a-repository-security-advisory#requesting-a-cve-identification-number-optional)." You may request a CVE for public repositories, but cannot do so for private repositories. In order to request a CVE for a repository security advisory, the authenticated user must be a security manager or administrator of that repository. OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:write` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve
/repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks
Create a temporary private fork to collaborate on fixing a security vulnerability in your repository. > [!NOTE] > Forking a repository happens asynchronously. You may have to wait up to 5 minutes before you can access the fork.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks
/orgs/{org}/teams
Lists all teams in an organization that are visible to the authenticated user.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/teams
/orgs/{org}/teams
To create a team, the authenticated user must be a member or owner of `{org}`. By default, organization members can create teams. Organization owners can limit team creation to organization owners. For more information, see "[Setting team creation permissions](https://docs.github.com/articles/setting-team-creation-permissions-in-your-organization)." When you create a new team, you automatically become a team maintainer without explicitly adding yourself to the optional array of `maintainers`. For more information, see "[About teams](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/about-teams)".
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "The name of the team."
},
"privacy": {
"enum": [
"secret",
"closed"
],
"type": "string",
"description": "The level of privacy this team should have. The options are: \n**For a non-nested team:** \n * `secret` - only visible to organization owners and members of this team. \n * `closed` - visible to all members of this organization. \nDefault: `secret` \n**For a parent or child team:** \n * `closed` - visible to all members of this organization. \nDefault for child team: `closed`"
},
"permission": {
"enum": [
"pull",
"push"
],
"type": "string",
"default": "pull",
"description": "**Closing down notice**. The permission that new repositories will be added to the team with when none is specified."
},
"repo_names": {
"type": "array",
"items": {
"type": "string"
},
"description": "The full name (e.g., \"organization-name/repository-name\") of repositories to add the team to."
},
"description": {
"type": "string",
"description": "The description of the team."
},
"maintainers": {
"type": "array",
"items": {
"type": "string"
},
"description": "List GitHub usernames for organization members who will become team maintainers."
},
"parent_team_id": {
"type": "integer",
"description": "The ID of a team to set as the parent team."
},
"notification_setting": {
"enum": [
"notifications_enabled",
"notifications_disabled"
],
"type": "string",
"description": "The notification setting the team has chosen. The options are: \n * `notifications_enabled` - team members receive notifications when the team is @mentioned. \n * `notifications_disabled` - no one receives notifications. \nDefault: `notifications_enabled`"
}
}
},
"examples": {
"default": {
"value": {
"name": "Justice League",
"privacy": "closed",
"permission": "push",
"description": "A great team",
"notification_setting": "notifications_enabled"
}
}
}
}
},
"required": true
}
POST /orgs/{org}/teams
/orgs/{org}/teams/{team_slug}
To delete a team, the authenticated user must be an organization owner or team maintainer. If you are an organization owner, deleting a parent team will delete all of its child teams as well. > [!NOTE] > You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
DELETE /orgs/{org}/teams/{team_slug}
/orgs/{org}/teams/{team_slug}
Gets a team using the team's `slug`. To create the `slug`, GitHub replaces special characters in the `name` string, changes all words to lowercase, and replaces spaces with a `-` separator. For example, `"My TEam Näme"` would become `my-team-name`. > [!NOTE] > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /orgs/{org}/teams/{team_slug}
/orgs/{org}/teams/{team_slug}
To edit a team, the authenticated user must either be an organization owner or a team maintainer. > [!NOTE] > You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the team."
},
"privacy": {
"enum": [
"secret",
"closed"
],
"type": "string",
"description": "The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. When a team is nested, the `privacy` for parent teams cannot be `secret`. The options are: \n**For a non-nested team:** \n * `secret` - only visible to organization owners and members of this team. \n * `closed` - visible to all members of this organization. \n**For a parent or child team:** \n * `closed` - visible to all members of this organization."
},
"permission": {
"enum": [
"pull",
"push",
"admin"
],
"type": "string",
"default": "pull",
"description": "**Closing down notice**. The permission that new repositories will be added to the team with when none is specified."
},
"description": {
"type": "string",
"description": "The description of the team."
},
"parent_team_id": {
"type": "integer",
"nullable": true,
"description": "The ID of a team to set as the parent team."
},
"notification_setting": {
"enum": [
"notifications_enabled",
"notifications_disabled"
],
"type": "string",
"description": "The notification setting the team has chosen. Editing teams without specifying this parameter leaves `notification_setting` intact. The options are: \n * `notifications_enabled` - team members receive notifications when the team is @mentioned. \n * `notifications_disabled` - no one receives notifications."
}
}
},
"examples": {
"default": {
"value": {
"name": "new team name",
"privacy": "closed",
"description": "new team description",
"notification_setting": "notifications_enabled"
}
}
}
}
},
"required": false
}
PATCH /orgs/{org}/teams/{team_slug}
/orgs/{org}/teams/{team_slug}/invitations
The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. > [!NOTE] > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/invitations`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/teams/{team_slug}/invitations
/orgs/{org}/teams/{team_slug}/members
Team members will include the members of child teams. To list members in a team, the team must be visible to the authenticated user.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| role | query | optional | string | Filters members returned by their role in the team. |
| optional | ||||
| optional |
GET /orgs/{org}/teams/{team_slug}/members
/orgs/{org}/teams/{team_slug}/memberships/{username}
To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. > [!NOTE] > When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." > [!NOTE] > You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/memberships/{username}`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}
/orgs/{org}/teams/{team_slug}/memberships/{username}
Team members will include the members of child teams. To get a user's membership with a team, the team must be visible to the authenticated user. > [!NOTE] > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/memberships/{username}`. > [!NOTE] > The response contains the `state` of the membership and the member's `role`. The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/teams/teams#create-a-team).
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/teams/{team_slug}/memberships/{username}
/orgs/{org}/teams/{team_slug}/memberships/{username}
Adds an organization member to a team. An authenticated organization owner or team maintainer can add organization members to a team. Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. > [!NOTE] > When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." An organization owner can add someone who is not part of the team's organization to a team. When an organization owner adds someone to a team who is not an organization member, this endpoint will send an invitation to the person via email. This newly-created membership will be in the "pending" state until the person accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. > [!NOTE] > You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/memberships/{username}`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"role": {
"enum": [
"member",
"maintainer"
],
"type": "string",
"default": "member",
"description": "The role that this user should have in the team."
}
}
},
"examples": {
"default": {
"value": {
"role": "maintainer"
},
"summary": "Add or update team membership for an organization member"
}
}
}
},
"required": false
}
PUT /orgs/{org}/teams/{team_slug}/memberships/{username}
/orgs/{org}/teams/{team_slug}/repos
Lists a team's repositories visible to the authenticated user. > [!NOTE] > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/teams/{team_slug}/repos
/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}
If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. This does not delete the repository, it just removes it from the team. > [!NOTE] > You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}
/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}
Checks whether a team has `admin`, `push`, `maintain`, `triage`, or `pull` permission for a repository. Repositories inherited through a parent team will also be checked. You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types/) via the `application/vnd.github.v3.repository+json` accept header. If a team doesn't have permission for the repository, you will receive a `404 Not Found` response status. If the repository is private, you must have at least `read` permission for that repository, and your token must have the `repo` or `admin:org` scope. Otherwise, you will receive a `404 Not Found` response status. > [!NOTE] > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}
/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}
To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." > [!NOTE] > You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. For more information about the permission levels, see "[Repository permission levels for an organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)".
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"permission": {
"type": "string",
"description": "The permission to grant the team on this repository. We accept the following permissions to be set: `pull`, `triage`, `push`, `maintain`, `admin` and you can also specify a custom repository role name, if the owning organization has defined any. If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository."
}
}
},
"examples": {
"default": {
"value": {
"permission": "push"
},
"summary": "Adding a team to an organization repository with the write role"
}
}
}
},
"required": false
}
PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}
/orgs/{org}/teams/{team_slug}/teams
Lists the child teams of the team specified by `{team_slug}`. > [!NOTE] > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/teams`.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
GET /orgs/{org}/teams/{team_slug}/teams
/user/teams
List all of the teams across all of the organizations to which the authenticated user belongs. OAuth app tokens and personal access tokens (classic) need the `user`, `repo`, or `read:org` scope to use this endpoint. When using a fine-grained personal access token, the resource owner of the token must be a single organization, and the response will only include the teams from that organization.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /user/teams
/user
OAuth app tokens and personal access tokens (classic) need the `user` scope in order for the response to include private profile information.
GET /user
/user
**Note:** If your email is set to private and you send an `email` parameter as part of this request to update your profile, your privacy settings are still enforced: the email address will not be displayed on your public profile or via the API.
{
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"bio": {
"type": "string",
"description": "The new short biography of the user."
},
"blog": {
"type": "string",
"example": "blog.example.com",
"description": "The new blog URL of the user."
},
"name": {
"type": "string",
"example": "Omar Jahandar",
"description": "The new name of the user."
},
"email": {
"type": "string",
"example": "omar@example.com",
"description": "The publicly visible email address of the user."
},
"company": {
"type": "string",
"example": "Acme corporation",
"description": "The new company of the user."
},
"hireable": {
"type": "boolean",
"description": "The new hiring availability of the user."
},
"location": {
"type": "string",
"example": "Berlin, Germany",
"description": "The new location of the user."
},
"twitter_username": {
"type": "string",
"example": "therealomarj",
"nullable": true,
"description": "The new Twitter username of the user."
}
}
},
"examples": {
"default": {
"value": {
"blog": "https://github.com/blog",
"name": "monalisa octocat"
},
"summary": "Example of updating blog and name"
}
}
}
},
"required": false
}
PATCH /user
/user/blocks
List the users you've blocked on your personal account.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /user/blocks
/user/blocks/{username}
Unblocks the given user and returns a 204.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
DELETE /user/blocks/{username}
/user/blocks/{username}
Returns a 204 if the given user is blocked by the authenticated user. Returns a 404 if the given user is not blocked by the authenticated user, or if the given user account has been identified as spam by GitHub.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /user/blocks/{username}
/user/blocks/{username}
Blocks the given user and returns a 204. If the authenticated user cannot block the given user a 422 is returned.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
PUT /user/blocks/{username}
/user/email/visibility
Sets the visibility for your primary email addresses.
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"visibility"
],
"properties": {
"visibility": {
"enum": [
"public",
"private"
],
"type": "string",
"description": "Denotes whether an email is publicly visible."
}
}
},
"examples": {
"default": {
"value": {
"visibility": "private"
},
"summary": "Example setting the primary email address to private"
}
}
}
},
"required": true
}
PATCH /user/email/visibility
/user/emails
OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint.
{
"content": {
"application/json": {
"schema": {
"oneOf": [
{
"type": "object",
"example": {
"emails": [
"octocat@github.com",
"mona@github.com"
]
},
"required": [
"emails"
],
"properties": {
"emails": {
"type": "array",
"items": {
"type": "string",
"example": "username@example.com"
},
"minItems": 1,
"description": "Email addresses associated with the GitHub user account."
}
},
"description": "Deletes one or more email addresses from your GitHub account. Must contain at least one email address. **Note:** Alternatively, you can pass a single email address or an `array` of emails addresses directly, but we recommend that you pass an object using the `emails` key."
},
{
"type": "array",
"items": {
"type": "string",
"example": "username@example.com"
},
"minItems": 1
},
{
"type": "string"
}
]
},
"examples": {
"default": {
"value": {
"emails": [
"octocat@github.com",
"mona@github.com"
]
},
"summary": "Example deleting multiple email accounts"
}
}
}
}
}
DELETE /user/emails
/user/emails
Lists all of your email addresses, and specifies which one is visible to the public. OAuth app tokens and personal access tokens (classic) need the `user:email` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /user/emails
/user/emails
OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint.
{
"content": {
"application/json": {
"schema": {
"oneOf": [
{
"type": "object",
"example": {
"emails": [
"octocat@github.com",
"mona@github.com"
]
},
"required": [
"emails"
],
"properties": {
"emails": {
"type": "array",
"items": {
"type": "string",
"example": "username@example.com"
},
"example": [],
"minItems": 1,
"description": "Adds one or more email addresses to your GitHub account. Must contain at least one email address. **Note:** Alternatively, you can pass a single email address or an `array` of emails addresses directly, but we recommend that you pass an object using the `emails` key."
}
}
},
{
"type": "array",
"items": {
"type": "string",
"example": "username@example.com"
},
"minItems": 1
},
{
"type": "string"
}
]
},
"examples": {
"default": {
"value": {
"emails": [
"octocat@github.com",
"mona@github.com",
"octocat@octocat.org"
]
},
"summary": "Example adding multiple email addresses"
}
}
}
},
"required": false
}
POST /user/emails
/user/followers
Lists the people following the authenticated user.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /user/followers
/user/following
Lists the people who the authenticated user follows.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /user/following
/user/following/{username}
OAuth app tokens and personal access tokens (classic) need the `user:follow` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
DELETE /user/following/{username}
/user/following/{username}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /user/following/{username}
/user/following/{username}
Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." OAuth app tokens and personal access tokens (classic) need the `user:follow` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
PUT /user/following/{username}
/user/gpg_keys
Lists the current user's GPG keys. OAuth app tokens and personal access tokens (classic) need the `read:gpg_key` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /user/gpg_keys
/user/gpg_keys
Adds a GPG key to the authenticated user's GitHub account. OAuth app tokens and personal access tokens (classic) need the `write:gpg_key` scope to use this endpoint.
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"armored_public_key"
],
"properties": {
"name": {
"type": "string",
"description": "A descriptive name for the new key."
},
"armored_public_key": {
"type": "string",
"description": "A GPG key in ASCII-armored format."
}
}
},
"examples": {
"default": {
"value": {
"name": "Octocat's GPG Key",
"armored_public_key": "-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: GnuPG v1\n\nmQINBFnZ2ZIBEADQ2Z7Z7\n-----END PGP PUBLIC KEY BLOCK-----"
}
}
}
}
},
"required": true
}
POST /user/gpg_keys
/user/gpg_keys/{gpg_key_id}
Removes a GPG key from the authenticated user's GitHub account. OAuth app tokens and personal access tokens (classic) need the `admin:gpg_key` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
DELETE /user/gpg_keys/{gpg_key_id}
/user/gpg_keys/{gpg_key_id}
View extended details for a single GPG key. OAuth app tokens and personal access tokens (classic) need the `read:gpg_key` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /user/gpg_keys/{gpg_key_id}
/user/keys
Lists the public SSH keys for the authenticated user's GitHub account. OAuth app tokens and personal access tokens (classic) need the `read:public_key` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /user/keys
/user/keys
Adds a public SSH key to the authenticated user's GitHub account. OAuth app tokens and personal access tokens (classic) need the `write:public_key` scope to use this endpoint.
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"key"
],
"properties": {
"key": {
"type": "string",
"pattern": "^ssh-(rsa|dss|ed25519) |^ecdsa-sha2-nistp(256|384|521) ",
"description": "The public SSH key to add to your GitHub account."
},
"title": {
"type": "string",
"example": "Personal MacBook Air",
"description": "A descriptive name for the new key."
}
}
},
"examples": {
"default": {
"value": {
"key": "2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234",
"title": "ssh-rsa AAAAB3NzaC1yc2EAAA"
}
}
}
}
},
"required": true
}
POST /user/keys
/user/keys/{key_id}
Removes a public SSH key from the authenticated user's GitHub account. OAuth app tokens and personal access tokens (classic) need the `admin:public_key` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
DELETE /user/keys/{key_id}
/user/keys/{key_id}
View extended details for a single public SSH key. OAuth app tokens and personal access tokens (classic) need the `read:public_key` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /user/keys/{key_id}
/user/public_emails
Lists your publicly visible email address, which you can set with the [Set primary email visibility for the authenticated user](https://docs.github.com/rest/users/emails#set-primary-email-visibility-for-the-authenticated-user) endpoint. OAuth app tokens and personal access tokens (classic) need the `user:email` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /user/public_emails
/user/social_accounts
Deletes one or more social accounts from the authenticated user's profile. OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint.
{
"content": {
"application/json": {
"schema": {
"type": "object",
"example": {
"account_urls": [
"https://www.linkedin.com/company/github/",
"https://twitter.com/github"
]
},
"required": [
"account_urls"
],
"properties": {
"account_urls": {
"type": "array",
"items": {
"type": "string",
"example": "https://twitter.com/github"
},
"example": [],
"description": "Full URLs for the social media profiles to delete."
}
}
},
"examples": {
"default": {
"value": {
"account_urls": [
"https://facebook.com/GitHub",
"https://www.youtube.com/@GitHub"
]
},
"summary": "Deleting multiple social accounts"
}
}
}
},
"required": true
}
DELETE /user/social_accounts
/user/social_accounts
Lists all of your social accounts.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /user/social_accounts
/user/social_accounts
Add one or more social accounts to the authenticated user's profile. OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint.
{
"content": {
"application/json": {
"schema": {
"type": "object",
"example": {
"account_urls": [
"https://www.linkedin.com/company/github/",
"https://twitter.com/github"
]
},
"required": [
"account_urls"
],
"properties": {
"account_urls": {
"type": "array",
"items": {
"type": "string",
"example": "https://twitter.com/github"
},
"example": [],
"description": "Full URLs for the social media profiles to add."
}
}
},
"examples": {
"default": {
"value": {
"account_urls": [
"https://facebook.com/GitHub",
"https://www.youtube.com/@GitHub"
]
},
"summary": "Adding multiple social accounts"
}
}
}
},
"required": true
}
POST /user/social_accounts
/user/ssh_signing_keys
Lists the SSH signing keys for the authenticated user's GitHub account. OAuth app tokens and personal access tokens (classic) need the `read:ssh_signing_key` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /user/ssh_signing_keys
/user/ssh_signing_keys
Creates an SSH signing key for the authenticated user's GitHub account. OAuth app tokens and personal access tokens (classic) need the `write:ssh_signing_key` scope to use this endpoint.
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"key"
],
"properties": {
"key": {
"type": "string",
"pattern": "^ssh-(rsa|dss|ed25519) |^ecdsa-sha2-nistp(256|384|521) |^(sk-ssh-ed25519|sk-ecdsa-sha2-nistp256)@openssh.com ",
"description": "The public SSH key to add to your GitHub account. For more information, see \"[Checking for existing SSH keys](https://docs.github.com/authentication/connecting-to-github-with-ssh/checking-for-existing-ssh-keys).\""
},
"title": {
"type": "string",
"example": "Personal MacBook Air",
"description": "A descriptive name for the new key."
}
}
},
"examples": {
"default": {
"value": {
"key": "2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234",
"title": "ssh-rsa AAAAB3NzaC1yc2EAAA"
}
}
}
}
},
"required": true
}
POST /user/ssh_signing_keys
/user/ssh_signing_keys/{ssh_signing_key_id}
Deletes an SSH signing key from the authenticated user's GitHub account. OAuth app tokens and personal access tokens (classic) need the `admin:ssh_signing_key` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
DELETE /user/ssh_signing_keys/{ssh_signing_key_id}
/user/ssh_signing_keys/{ssh_signing_key_id}
Gets extended details for an SSH signing key. OAuth app tokens and personal access tokens (classic) need the `read:ssh_signing_key` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /user/ssh_signing_keys/{ssh_signing_key_id}
/user/{account_id}
Provides publicly available information about someone with a GitHub account. This method takes their durable user `ID` instead of their `login`, which can change over time. If you are requesting information about an [Enterprise Managed User](https://docs.github.com/enterprise-cloud@latest/admin/managing-iam/understanding-iam-for-enterprises/about-enterprise-managed-users), or a GitHub App bot that is installed in an organization that uses Enterprise Managed Users, your requests must be authenticated as a user or GitHub App that has access to the organization to view that account's information. If you are not authorized, the request will return a `404 Not Found` status. The `email` key in the following response is the publicly visible email address from your GitHub [profile page](https://github.com/settings/profile). When setting up your profile, you can select a primary email address to be public which provides an email entry for this endpoint. If you do not set a public email address for `email`, then it will have a value of `null`. You only see publicly visible email addresses when authenticated with GitHub. For more information, see [Authentication](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#authentication). The Emails API enables you to list all of your email addresses, and toggle a primary email to be visible publicly. For more information, see [Emails API](https://docs.github.com/rest/users/emails).
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /user/{account_id}
/users
Lists all users, in the order that they signed up on GitHub. This list includes personal user accounts and organization accounts. Note: Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of users.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
GET /users
/users/{username}
Provides publicly available information about someone with a GitHub account. If you are requesting information about an [Enterprise Managed User](https://docs.github.com/enterprise-cloud@latest/admin/managing-iam/understanding-iam-for-enterprises/about-enterprise-managed-users), or a GitHub App bot that is installed in an organization that uses Enterprise Managed Users, your requests must be authenticated as a user or GitHub App that has access to the organization to view that account's information. If you are not authorized, the request will return a `404 Not Found` status. The `email` key in the following response is the publicly visible email address from your GitHub [profile page](https://github.com/settings/profile). When setting up your profile, you can select a primary email address to be public which provides an email entry for this endpoint. If you do not set a public email address for `email`, then it will have a value of `null`. You only see publicly visible email addresses when authenticated with GitHub. For more information, see [Authentication](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#authentication). The Emails API enables you to list all of your email addresses, and toggle a primary email to be visible publicly. For more information, see [Emails API](https://docs.github.com/rest/users/emails).
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
GET /users/{username}
/users/{username}/attestations/bulk-list
List a collection of artifact attestations associated with any entry in a list of subject digests owned by a user. The collection of attestations returned by this endpoint is filtered according to the authenticated user's permissions; if the authenticated user cannot read a repository, the attestations associated with that repository will not be included in the response. In addition, when using a fine-grained access token the `attestations:read` permission is required. **Please note:** in order to offer meaningful security benefits, an attestation's signature and timestamps **must** be cryptographically verified, and the identity of the attestation signer **must** be validated. Attestations can be verified using the [GitHub CLI `attestation verify` command](https://cli.github.com/manual/gh_attestation_verify). For more information, see [our guide on how to use artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds).
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"subject_digests"
],
"properties": {
"predicate_type": {
"type": "string",
"description": "Optional filter for fetching attestations with a given predicate type.\nThis option accepts `provenance`, `sbom`, `release`, or freeform text\nfor custom predicate types."
},
"subject_digests": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 1024,
"minItems": 1,
"description": "List of subject digests to fetch attestations for."
}
}
},
"examples": {
"default": {
"$ref": "#/components/examples/bulk-subject-digest-body"
},
"withPredicateType": {
"$ref": "#/components/examples/bulk-subject-digest-body-with-predicate-type"
}
}
}
},
"required": true
}
POST /users/{username}/attestations/bulk-list
/users/{username}/attestations/delete-request
Delete artifact attestations in bulk by either subject digests or unique ID.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"content": {
"application/json": {
"schema": {
"type": "object",
"oneOf": [
{
"required": [
"subject_digests"
],
"properties": {
"subject_digests": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 1024,
"minItems": 1,
"description": "List of subject digests associated with the artifact attestations to delete."
}
}
},
{
"required": [
"attestation_ids"
],
"properties": {
"attestation_ids": {
"type": "array",
"items": {
"type": "integer"
},
"maxItems": 1024,
"minItems": 1,
"description": "List of unique IDs associated with the artifact attestations to delete."
}
}
}
],
"description": "The request body must include either `subject_digests` or `attestation_ids`, but not both."
},
"examples": {
"by-attestation-ids": {
"value": {
"attestation_ids": [
111,
222
]
},
"summary": "Delete by attestation IDs"
},
"by-subject-digests": {
"value": {
"subject_digests": [
"sha256:abc123",
"sha512:def456"
]
},
"summary": "Delete by subject digests"
}
}
}
},
"required": true
}
POST /users/{username}/attestations/delete-request
/users/{username}/attestations/digest/{subject_digest}
Delete an artifact attestation by subject digest.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| subject_digest | path | required | string | Subject Digest |
DELETE /users/{username}/attestations/digest/{subject_digest}
/users/{username}/attestations/{attestation_id}
Delete an artifact attestation by unique ID that is associated with a repository owned by a user.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| attestation_id | path | required | integer | Attestation ID |
DELETE /users/{username}/attestations/{attestation_id}
/users/{username}/attestations/{subject_digest}
List a collection of artifact attestations with a given subject digest that are associated with repositories owned by a user. The collection of attestations returned by this endpoint is filtered according to the authenticated user's permissions; if the authenticated user cannot read a repository, the attestations associated with that repository will not be included in the response. In addition, when using a fine-grained access token the `attestations:read` permission is required. **Please note:** in order to offer meaningful security benefits, an attestation's signature and timestamps **must** be cryptographically verified, and the identity of the attestation signer **must** be validated. Attestations can be verified using the [GitHub CLI `attestation verify` command](https://cli.github.com/manual/gh_attestation_verify). For more information, see [our guide on how to use artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds).
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional | ||||
| optional | ||||
| subject_digest | path | required | string | Subject Digest |
| predicate_type | query | optional | string | Optional filter for fetching attestations with a given predicate type. This option accepts `provenance`, `sbom`, `release`, or freeform text for custom predicate types. |
GET /users/{username}/attestations/{subject_digest}
/users/{username}/followers
Lists the people following the specified user.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /users/{username}/followers
/users/{username}/following
Lists the people who the specified user follows.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /users/{username}/following
/users/{username}/following/{target_user}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| target_user | path | required | string |
GET /users/{username}/following/{target_user}
/users/{username}/gpg_keys
Lists the GPG keys for a user. This information is accessible by anyone.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /users/{username}/gpg_keys
/users/{username}/hovercard
Provides hovercard information. You can find out more about someone in relation to their pull requests, issues, repositories, and organizations. The `subject_type` and `subject_id` parameters provide context for the person's hovercard, which returns more information than without the parameters. For example, if you wanted to find out more about `octocat` who owns the `Spoon-Knife` repository, you would use a `subject_type` value of `repository` and a `subject_id` value of `1300192` (the ID of the `Spoon-Knife` repository). OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| subject_type | query | optional | string | Identifies which additional information you'd like to receive about the person's hovercard. Can be `organization`, `repository`, `issue`, `pull_request`. **Required** when using `subject_id`. |
| subject_id | query | optional | string | Uses the ID for the `subject_type` you specified. **Required** when using `subject_type`. |
GET /users/{username}/hovercard
/users/{username}/keys
Lists the _verified_ public SSH keys for a user. This is accessible by anyone.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /users/{username}/keys
/users/{username}/social_accounts
Lists social media accounts for a user. This endpoint is accessible by anyone.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /users/{username}/social_accounts
/users/{username}/ssh_signing_keys
Lists the SSH signing keys for a user. This operation is accessible by anyone.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional | ||||
| optional |
GET /users/{username}/ssh_signing_keys
actions-artifact-and-log-retention
{
"type": "object",
"required": [
"days"
],
"properties": {
"days": {
"type": "integer",
"description": "The number of days to retain artifacts and logs"
}
}
}
actions-artifact-and-log-retention-response
{
"type": "object",
"required": [
"days",
"maximum_allowed_days"
],
"properties": {
"days": {
"type": "integer",
"description": "The number of days artifacts and logs are retained"
},
"maximum_allowed_days": {
"type": "integer",
"description": "The maximum number of days that can be configured"
}
}
}
actions-cache-list
{
"type": "object",
"title": "Repository actions caches",
"required": [
"total_count",
"actions_caches"
],
"properties": {
"total_count": {
"type": "integer",
"example": 2,
"description": "Total number of caches"
},
"actions_caches": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"example": 2
},
"key": {
"type": "string",
"example": "Linux-node-958aff96db2d75d67787d1e634ae70b659de937b"
},
"ref": {
"type": "string",
"example": "refs/heads/main"
},
"version": {
"type": "string",
"example": "73885106f58cc52a7df9ec4d4a5622a5614813162cb516c759a30af6bf56e6f0"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2019-01-24T22:45:36.000Z"
},
"size_in_bytes": {
"type": "integer",
"example": 1024
},
"last_accessed_at": {
"type": "string",
"format": "date-time",
"example": "2019-01-24T22:45:36.000Z"
}
}
},
"description": "Array of caches"
}
},
"description": "Repository actions caches"
}
actions-cache-retention-limit-for-enterprise
{
"type": "object",
"title": "Actions cache retention limit for an enterprise",
"properties": {
"max_cache_retention_days": {
"type": "integer",
"example": 14,
"description": "For repositories & organizations in an enterprise, the maximum duration, in days, for which caches in a repository may be retained."
}
},
"description": "GitHub Actions cache retention policy for an enterprise."
}
actions-cache-retention-limit-for-organization
{
"type": "object",
"title": "Actions cache retention limit for an organization",
"properties": {
"max_cache_retention_days": {
"type": "integer",
"example": 14,
"description": "For repositories in this organization, the maximum duration, in days, for which caches in a repository may be retained."
}
},
"description": "GitHub Actions cache retention policy for an organization."
}
actions-cache-retention-limit-for-repository
{
"type": "object",
"title": "Actions cache retention limit for a repository",
"properties": {
"max_cache_retention_days": {
"type": "integer",
"example": 14,
"description": "The maximum number of days to keep caches in this repository."
}
},
"description": "GitHub Actions cache retention policy for a repository."
}
actions-cache-storage-limit-for-enterprise
{
"type": "object",
"title": "Actions cache storage limit for an enterprise",
"properties": {
"max_cache_size_gb": {
"type": "integer",
"example": 10,
"description": "For repositories & organizations in an enterprise, the maximum size limit for the sum of all caches in a repository, in gigabytes."
}
},
"description": "GitHub Actions cache storage policy for an enterprise."
}
actions-cache-storage-limit-for-organization
{
"type": "object",
"title": "Actions cache storage limit for an organization",
"properties": {
"max_cache_size_gb": {
"type": "integer",
"example": 10,
"description": "For repositories in the organization, the maximum size limit for the sum of all caches in a repository, in gigabytes."
}
},
"description": "GitHub Actions cache storage policy for an organization."
}
actions-cache-storage-limit-for-repository
{
"type": "object",
"title": "Actions cache storage limit for a repository",
"properties": {
"max_cache_size_gb": {
"type": "integer",
"example": 10,
"description": "The maximum total cache size for this repository, in gigabytes."
}
},
"description": "GitHub Actions cache storage policy for a repository."
}
actions-cache-usage-by-repository
{
"type": "object",
"title": "Actions Cache Usage by repository",
"required": [
"full_name",
"active_caches_size_in_bytes",
"active_caches_count"
],
"properties": {
"full_name": {
"type": "string",
"example": "octo-org/Hello-World",
"description": "The repository owner and name for the cache usage being shown."
},
"active_caches_count": {
"type": "integer",
"example": 3,
"description": "The number of active caches in the repository."
},
"active_caches_size_in_bytes": {
"type": "integer",
"example": 2322142,
"description": "The sum of the size in bytes of all the active cache items in the repository."
}
},
"description": "GitHub Actions Cache Usage by repository."
}
actions-cache-usage-org-enterprise
{
"type": "object",
"required": [
"total_active_caches_count",
"total_active_caches_size_in_bytes"
],
"properties": {
"total_active_caches_count": {
"type": "integer",
"description": "The count of active caches across all repositories of an enterprise or an organization."
},
"total_active_caches_size_in_bytes": {
"type": "integer",
"description": "The total size in bytes of all active cache items across all repositories of an enterprise or an organization."
}
}
}
actions-can-approve-pull-request-reviews
{
"type": "boolean",
"description": "Whether GitHub Actions can approve pull requests. Enabling this can be a security risk."
}
actions-default-workflow-permissions
{
"enum": [
"read",
"write"
],
"type": "string",
"description": "The default workflow permissions granted to the GITHUB_TOKEN when running workflows."
}
actions-enabled
{
"type": "boolean",
"description": "Whether GitHub Actions is enabled on the repository."
}
actions-fork-pr-contributor-approval
{
"type": "object",
"required": [
"approval_policy"
],
"properties": {
"approval_policy": {
"enum": [
"first_time_contributors_new_to_github",
"first_time_contributors",
"all_external_contributors"
],
"type": "string",
"description": "The policy that controls when fork PR workflows require approval from a maintainer."
}
}
}
actions-fork-pr-workflows-private-repos
{
"type": "object",
"required": [
"run_workflows_from_fork_pull_requests",
"send_write_tokens_to_workflows",
"send_secrets_and_variables",
"require_approval_for_fork_pr_workflows"
],
"properties": {
"send_secrets_and_variables": {
"type": "boolean",
"description": "Whether to make secrets and variables available to workflows triggered by pull requests from forks."
},
"send_write_tokens_to_workflows": {
"type": "boolean",
"description": "Whether GitHub Actions can create pull requests or submit approving pull request reviews from a workflow triggered by a fork pull request."
},
"run_workflows_from_fork_pull_requests": {
"type": "boolean",
"description": "Whether workflows triggered by pull requests from forks are allowed to run on private repositories."
},
"require_approval_for_fork_pr_workflows": {
"type": "boolean",
"description": "Whether workflows triggered by pull requests from forks require approval from a repository administrator to run."
}
}
}
actions-fork-pr-workflows-private-repos-request
{
"type": "object",
"required": [
"run_workflows_from_fork_pull_requests"
],
"properties": {
"send_secrets_and_variables": {
"type": "boolean",
"description": "Whether to make secrets and variables available to workflows triggered by pull requests from forks."
},
"send_write_tokens_to_workflows": {
"type": "boolean",
"description": "Whether GitHub Actions can create pull requests or submit approving pull request reviews from a workflow triggered by a fork pull request."
},
"run_workflows_from_fork_pull_requests": {
"type": "boolean",
"description": "Whether workflows triggered by pull requests from forks are allowed to run on private repositories."
},
"require_approval_for_fork_pr_workflows": {
"type": "boolean",
"description": "Whether workflows triggered by pull requests from forks require approval from a repository administrator to run."
}
}
}
actions-get-default-workflow-permissions
{
"type": "object",
"required": [
"default_workflow_permissions",
"can_approve_pull_request_reviews"
],
"properties": {
"default_workflow_permissions": {
"$ref": "#/components/schemas/actions-default-workflow-permissions"
},
"can_approve_pull_request_reviews": {
"$ref": "#/components/schemas/actions-can-approve-pull-request-reviews"
}
}
}
actions-hosted-runner
{
"type": "object",
"title": "GitHub-hosted hosted runner",
"required": [
"id",
"name",
"image_details",
"machine_size_details",
"status",
"public_ip_enabled",
"platform"
],
"properties": {
"id": {
"type": "integer",
"example": 5,
"description": "The unique identifier of the hosted runner."
},
"name": {
"type": "string",
"example": "my-github-hosted-runner",
"description": "The name of the hosted runner."
},
"status": {
"enum": [
"Ready",
"Provisioning",
"Shutdown",
"Deleting",
"Stuck"
],
"type": "string",
"example": "Ready",
"description": "The status of the runner."
},
"platform": {
"type": "string",
"example": "linux-x64",
"description": "The operating system of the image."
},
"image_gen": {
"type": "boolean",
"description": "Whether custom image generation is enabled for the hosted runners."
},
"public_ips": {
"type": "array",
"items": {
"$ref": "#/components/schemas/public-ip"
},
"description": "The public IP ranges when public IP is enabled for the hosted runners."
},
"image_details": {
"$ref": "#/components/schemas/nullable-actions-hosted-runner-pool-image"
},
"last_active_on": {
"type": "string",
"format": "date-time",
"example": "2022-10-09T23:39:01Z",
"nullable": true,
"description": "The time at which the runner was last used, in ISO 8601 format."
},
"maximum_runners": {
"type": "integer",
"default": 10,
"example": 5,
"description": "The maximum amount of hosted runners. Runners will not scale automatically above this number. Use this setting to limit your cost."
},
"runner_group_id": {
"type": "integer",
"example": 2,
"description": "The unique identifier of the group that the hosted runner belongs to."
},
"public_ip_enabled": {
"type": "boolean",
"example": true,
"description": "Whether public IP is enabled for the hosted runners."
},
"machine_size_details": {
"$ref": "#/components/schemas/actions-hosted-runner-machine-spec"
}
},
"description": "A Github-hosted hosted runner."
}
actions-hosted-runner-curated-image
{
"type": "object",
"title": "GitHub-hosted runner image details.",
"required": [
"id",
"platform",
"size_gb",
"display_name",
"source"
],
"properties": {
"id": {
"type": "string",
"example": "ubuntu-20.04",
"description": "The ID of the image. Use this ID for the `image` parameter when creating a new larger runner."
},
"source": {
"enum": [
"github",
"partner",
"custom"
],
"type": "string",
"description": "The image provider."
},
"size_gb": {
"type": "integer",
"example": 86,
"description": "Image size in GB."
},
"platform": {
"type": "string",
"example": "linux-x64",
"description": "The operating system of the image."
},
"display_name": {
"type": "string",
"example": 20.04,
"description": "Display name for this image."
}
},
"description": "Provides details of a hosted runner image"
}
actions-hosted-runner-custom-image
{
"type": "object",
"title": "GitHub-hosted runner custom image details",
"required": [
"id",
"platform",
"name",
"source",
"versions_count",
"total_versions_size",
"latest_version",
"state"
],
"properties": {
"id": {
"type": "integer",
"example": 1,
"description": "The ID of the image. Use this ID for the `image` parameter when creating a new larger runner."
},
"name": {
"type": "string",
"example": "CustomImage",
"description": "Display name for this image."
},
"state": {
"type": "string",
"example": "Ready",
"description": "The number of image versions associated with the image."
},
"source": {
"type": "string",
"example": "custom",
"description": "The image provider."
},
"platform": {
"type": "string",
"example": "linux-x64",
"description": "The operating system of the image."
},
"latest_version": {
"type": "string",
"example": "1.3.0",
"description": "The latest image version associated with the image."
},
"versions_count": {
"type": "integer",
"example": 4,
"description": "The number of image versions associated with the image."
},
"total_versions_size": {
"type": "integer",
"example": 200,
"description": "Total size of all the image versions in GB."
}
},
"description": "Provides details of a custom runner image"
}
actions-hosted-runner-custom-image-version
{
"type": "object",
"title": "GitHub-hosted runner custom image version details.",
"required": [
"version",
"state",
"size_gb",
"created_on",
"state_details"
],
"properties": {
"state": {
"type": "string",
"example": "Ready",
"description": "The state of image version."
},
"size_gb": {
"type": "integer",
"example": 30,
"description": "Image version size in GB."
},
"version": {
"type": "string",
"example": "1.0.0",
"description": "The version of image."
},
"created_on": {
"type": "string",
"example": "2024-11-09T23:39:01Z",
"description": "The creation date time of the image version."
},
"state_details": {
"type": "string",
"example": "None",
"description": "The image version status details."
}
},
"description": "Provides details of a hosted runner custom image version"
}
actions-hosted-runner-limits
{
"type": "object",
"required": [
"public_ips"
],
"properties": {
"public_ips": {
"type": "object",
"title": "Static public IP Limits for GitHub-hosted Hosted Runners.",
"required": [
"maximum",
"current_usage"
],
"properties": {
"maximum": {
"type": "integer",
"example": 50,
"description": "The maximum number of static public IP addresses that can be used for Hosted Runners."
},
"current_usage": {
"type": "integer",
"example": 17,
"description": "The current number of static public IP addresses in use by Hosted Runners."
}
},
"description": "Provides details of static public IP limits for GitHub-hosted Hosted Runners"
}
}
}
actions-hosted-runner-machine-spec
{
"type": "object",
"title": "Github-owned VM details.",
"required": [
"id",
"cpu_cores",
"memory_gb",
"storage_gb"
],
"properties": {
"id": {
"type": "string",
"example": "8-core",
"description": "The ID used for the `size` parameter when creating a new runner."
},
"cpu_cores": {
"type": "integer",
"example": 8,
"description": "The number of cores."
},
"memory_gb": {
"type": "integer",
"example": 32,
"description": "The available RAM for the machine spec."
},
"storage_gb": {
"type": "integer",
"example": 300,
"description": "The available SSD storage for the machine spec."
}
},
"description": "Provides details of a particular machine spec."
}
actions-organization-permissions
{
"type": "object",
"required": [
"enabled_repositories"
],
"properties": {
"allowed_actions": {
"$ref": "#/components/schemas/allowed-actions"
},
"enabled_repositories": {
"$ref": "#/components/schemas/enabled-repositories"
},
"selected_actions_url": {
"$ref": "#/components/schemas/selected-actions-url"
},
"sha_pinning_required": {
"$ref": "#/components/schemas/sha-pinning-required"
},
"selected_repositories_url": {
"type": "string",
"description": "The API URL to use to get or set the selected repositories that are allowed to run GitHub Actions, when `enabled_repositories` is set to `selected`."
}
}
}
actions-public-key
{
"type": "object",
"title": "ActionsPublicKey",
"required": [
"key_id",
"key"
],
"properties": {
"id": {
"type": "integer",
"example": 2
},
"key": {
"type": "string",
"example": "hBT5WZEj8ZoOv6TYJsfWq7MxTEQopZO5/IT3ZCVQPzs=",
"description": "The Base64 encoded public key."
},
"url": {
"type": "string",
"example": "https://api.github.com/user/keys/2"
},
"title": {
"type": "string",
"example": "ssh-rsa AAAAB3NzaC1yc2EAAA"
},
"key_id": {
"type": "string",
"example": "1234567",
"description": "The identifier for the key."
},
"created_at": {
"type": "string",
"example": "2011-01-26T19:01:12Z"
}
},
"description": "The public key used for setting Actions Secrets."
}
actions-repository-permissions
{
"type": "object",
"required": [
"enabled"
],
"properties": {
"enabled": {
"$ref": "#/components/schemas/actions-enabled"
},
"allowed_actions": {
"$ref": "#/components/schemas/allowed-actions"
},
"selected_actions_url": {
"$ref": "#/components/schemas/selected-actions-url"
},
"sha_pinning_required": {
"$ref": "#/components/schemas/sha-pinning-required"
}
}
}
actions-secret
{
"type": "object",
"title": "Actions Secret",
"required": [
"name",
"created_at",
"updated_at"
],
"properties": {
"name": {
"type": "string",
"example": "SECRET_TOKEN",
"description": "The name of the secret."
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
}
},
"description": "Set secrets for GitHub Actions."
}
actions-set-default-workflow-permissions
{
"type": "object",
"properties": {
"default_workflow_permissions": {
"$ref": "#/components/schemas/actions-default-workflow-permissions"
},
"can_approve_pull_request_reviews": {
"$ref": "#/components/schemas/actions-can-approve-pull-request-reviews"
}
}
}
actions-variable
{
"type": "object",
"title": "Actions Variable",
"required": [
"name",
"value",
"created_at",
"updated_at"
],
"properties": {
"name": {
"type": "string",
"example": "USERNAME",
"description": "The name of the variable."
},
"value": {
"type": "string",
"example": "octocat",
"description": "The value of the variable."
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2019-01-24T22:45:36.000Z",
"description": "The date and time at which the variable was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ."
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2019-01-24T22:45:36.000Z",
"description": "The date and time at which the variable was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ."
}
}
}
actions-workflow-access-to-repository
{
"type": "object",
"required": [
"access_level"
],
"properties": {
"access_level": {
"enum": [
"none",
"user",
"organization"
],
"type": "string",
"description": "Defines the level of access that workflows outside of the repository have to actions and reusable workflows within the\nrepository.\n\n`none` means the access is only possible from workflows in this repository. `user` level access allows sharing across user owned private repositories only. `organization` level access allows sharing across the organization."
}
}
}
activity
{
"type": "object",
"title": "Activity",
"required": [
"id",
"node_id",
"before",
"after",
"ref",
"timestamp",
"activity_type",
"actor"
],
"properties": {
"id": {
"type": "integer",
"example": 1296269
},
"ref": {
"type": "string",
"example": "refs/heads/main",
"description": "The full Git reference, formatted as `refs/heads/<branch name>`."
},
"actor": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"after": {
"type": "string",
"example": "827efc6d56897b048c772eb4087f854f46256132",
"description": "The SHA of the commit after the activity."
},
"before": {
"type": "string",
"example": "6dcb09b5b57875f334f61aebed695e2e4193db5e",
"description": "The SHA of the commit before the activity."
},
"node_id": {
"type": "string",
"example": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5"
},
"timestamp": {
"type": "string",
"format": "date-time",
"example": "2011-01-26T19:06:43Z",
"description": "The time when the activity occurred."
},
"activity_type": {
"enum": [
"push",
"force_push",
"branch_deletion",
"branch_creation",
"pr_merge",
"merge_queue_merge"
],
"type": "string",
"example": "force_push",
"description": "The type of the activity that was performed."
}
},
"description": "Activity"
}
actor
{
"type": "object",
"title": "Actor",
"required": [
"id",
"login",
"gravatar_id",
"url",
"avatar_url"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"login": {
"type": "string"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"gravatar_id": {
"type": "string",
"nullable": true
},
"display_login": {
"type": "string"
}
},
"description": "Actor"
}
added-to-project-issue-event
{
"type": "object",
"title": "Added to Project Issue Event",
"required": [
"id",
"node_id",
"url",
"actor",
"event",
"commit_id",
"commit_url",
"created_at",
"performed_via_github_app"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"actor": {
"$ref": "#/components/schemas/simple-user"
},
"event": {
"type": "string"
},
"node_id": {
"type": "string"
},
"commit_id": {
"type": "string",
"nullable": true
},
"commit_url": {
"type": "string",
"nullable": true
},
"created_at": {
"type": "string"
},
"project_card": {
"type": "object",
"required": [
"id",
"url",
"project_id",
"project_url",
"column_name"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"project_id": {
"type": "integer"
},
"column_name": {
"type": "string"
},
"project_url": {
"type": "string",
"format": "uri"
},
"previous_column_name": {
"type": "string"
}
}
},
"performed_via_github_app": {
"$ref": "#/components/schemas/nullable-integration"
}
},
"description": "Added to Project Issue Event"
}
alert-auto-dismissed-at
{
"type": "string",
"format": "date-time",
"nullable": true,
"readOnly": true,
"description": "The time that the alert was auto-dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`."
}
alert-created-at
{
"type": "string",
"format": "date-time",
"readOnly": true,
"description": "The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`."
}
alert-dismissed-at
{
"type": "string",
"format": "date-time",
"nullable": true,
"readOnly": true,
"description": "The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`."
}
alert-fixed-at
{
"type": "string",
"format": "date-time",
"nullable": true,
"readOnly": true,
"description": "The time that the alert was no longer detected and was considered fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`."
}
alert-html-url
{
"type": "string",
"format": "uri",
"readOnly": true,
"description": "The GitHub URL of the alert resource."
}
alert-instances-url
{
"type": "string",
"format": "uri",
"readOnly": true,
"description": "The REST API URL for fetching the list of instances for an alert."
}
alert-number
{
"type": "integer",
"readOnly": true,
"description": "The security alert number."
}
alert-updated-at
{
"type": "string",
"format": "date-time",
"readOnly": true,
"description": "The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`."
}
alert-url
{
"type": "string",
"format": "uri",
"readOnly": true,
"description": "The REST API URL of the alert resource."
}
allowed-actions
{
"enum": [
"all",
"local_only",
"selected"
],
"type": "string",
"description": "The permissions policy that controls the actions and reusable workflows that are allowed to run."
}
api-insights-route-stats
{
"type": "array",
"items": {
"type": "object",
"properties": {
"api_route": {
"type": "string",
"description": "The API path's route template"
},
"http_method": {
"type": "string",
"description": "The HTTP method"
},
"total_request_count": {
"type": "integer",
"format": "int64",
"description": "The total number of requests within the queried time period"
},
"last_request_timestamp": {
"type": "string"
},
"rate_limited_request_count": {
"type": "integer",
"format": "int64",
"description": "The total number of requests that were rate limited within the queried time period"
},
"last_rate_limited_timestamp": {
"type": "string",
"nullable": true
}
}
},
"title": "Route Stats",
"description": "API Insights usage route stats for an actor"
}
api-insights-subject-stats
{
"type": "array",
"items": {
"type": "object",
"properties": {
"subject_id": {
"type": "integer",
"format": "int64"
},
"subject_name": {
"type": "string"
},
"subject_type": {
"type": "string"
},
"total_request_count": {
"type": "integer"
},
"last_request_timestamp": {
"type": "string"
},
"rate_limited_request_count": {
"type": "integer"
},
"last_rate_limited_timestamp": {
"type": "string",
"nullable": true
}
}
},
"title": "Subject Stats",
"description": "API Insights usage subject stats for an organization"
}
api-insights-summary-stats
{
"type": "object",
"title": "Summary Stats",
"properties": {
"total_request_count": {
"type": "integer",
"format": "int64",
"description": "The total number of requests within the queried time period"
},
"rate_limited_request_count": {
"type": "integer",
"format": "int64",
"description": "The total number of requests that were rate limited within the queried time period"
}
},
"description": "API Insights usage summary stats for an organization"
}
api-insights-time-stats
{
"type": "array",
"items": {
"type": "object",
"properties": {
"timestamp": {
"type": "string"
},
"total_request_count": {
"type": "integer",
"format": "int64"
},
"rate_limited_request_count": {
"type": "integer",
"format": "int64"
}
}
},
"title": "Time Stats",
"description": "API Insights usage time stats for an organization"
}
api-insights-user-stats
{
"type": "array",
"items": {
"type": "object",
"properties": {
"actor_id": {
"type": "integer",
"format": "int64"
},
"actor_name": {
"type": "string"
},
"actor_type": {
"type": "string"
},
"integration_id": {
"type": "integer",
"format": "int64",
"nullable": true
},
"total_request_count": {
"type": "integer"
},
"oauth_application_id": {
"type": "integer",
"format": "int64",
"nullable": true
},
"last_request_timestamp": {
"type": "string"
},
"rate_limited_request_count": {
"type": "integer"
},
"last_rate_limited_timestamp": {
"type": "string",
"nullable": true
}
}
},
"title": "User Stats",
"description": "API Insights usage stats for a user"
}
api-overview
{
"type": "object",
"title": "Api Overview",
"required": [
"verifiable_password_authentication"
],
"properties": {
"api": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"192.0.2.1"
]
},
"git": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"192.0.2.1"
]
},
"web": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"192.0.2.1"
]
},
"hooks": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"192.0.2.1"
]
},
"pages": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"192.0.2.1"
]
},
"actions": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"192.0.2.1"
]
},
"copilot": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"192.0.2.1"
]
},
"domains": {
"type": "object",
"properties": {
"actions": {
"type": "array",
"items": {
"type": "string",
"example": [
"example.com"
]
}
},
"copilot": {
"type": "array",
"items": {
"type": "string",
"example": [
"example.com"
]
}
},
"website": {
"type": "array",
"items": {
"type": "string",
"example": [
"example.com"
]
}
},
"packages": {
"type": "array",
"items": {
"type": "string",
"example": [
"example.com"
]
}
},
"codespaces": {
"type": "array",
"items": {
"type": "string",
"example": [
"example.com"
]
}
},
"actions_inbound": {
"type": "object",
"properties": {
"full_domains": {
"type": "array",
"items": {
"type": "string",
"example": [
"example.com"
]
}
},
"wildcard_domains": {
"type": "array",
"items": {
"type": "string",
"example": [
"example.com"
]
}
}
}
},
"artifact_attestations": {
"type": "object",
"properties": {
"services": {
"type": "array",
"items": {
"type": "string",
"example": [
"example.com"
]
}
},
"trust_domain": {
"type": "string",
"example": [
"example"
]
}
}
}
}
},
"importer": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"192.0.2.1"
]
},
"packages": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"192.0.2.1"
]
},
"ssh_keys": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"ssh-ed25519 ABCDEFGHIJKLMNOPQRSTUVWXYZ"
]
},
"codespaces": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"192.0.2.1"
]
},
"dependabot": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"192.0.2.1"
]
},
"actions_macos": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"192.0.2.1"
]
},
"ssh_key_fingerprints": {
"type": "object",
"properties": {
"SHA256_DSA": {
"type": "string"
},
"SHA256_RSA": {
"type": "string"
},
"SHA256_ECDSA": {
"type": "string"
},
"SHA256_ED25519": {
"type": "string"
}
}
},
"github_enterprise_importer": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"192.0.2.1"
]
},
"verifiable_password_authentication": {
"type": "boolean",
"example": true
}
},
"description": "Api Overview"
}
app-permissions
{
"type": "object",
"title": "App Permissions",
"example": {
"issues": "read",
"contents": "read",
"deployments": "write",
"single_file": "read"
},
"properties": {
"pages": {
"enum": [
"read",
"write"
],
"type": "string",
"description": "The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds."
},
"checks": {
"enum": [
"read",
"write"
],
"type": "string",
"description": "The level of permission to grant the access token for checks on code."
},
"issues": {
"enum": [
"read",
"write"
],
"type": "string",
"description": "The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones."
},
"actions": {
"enum": [
"read",
"write"
],
"type": "string",
"description": "The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts."
},
"members": {
"enum": [
"read",
"write"
],
"type": "string",
"description": "The level of permission to grant the access token for organization teams and members."
},
"profile": {
"enum": [
"write"
],
"type": "string",
"description": "The level of permission to grant the access token to manage the profile settings belonging to a user."
},
"secrets": {
"enum": [
"read",
"write"
],
"type": "string",
"description": "The level of permission to grant the access token to manage repository secrets."
},
"contents": {
"enum": [
"read",
"write"
],
"type": "string",
"description": "The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges."
},
"gpg_keys": {
"enum": [
"read",
"write"
],
"type": "string",
"description": "The level of permission to grant the access token to view and manage GPG keys belonging to a user."
},
"metadata": {
"enum": [
"read",
"write"
],
"type": "string",
"description": "The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata."
},
"packages": {
"enum": [
"read",
"write"
],
"type": "string",
"description": "The level of permission to grant the access token for packages published to GitHub Packages."
},
"starring": {
"enum": [
"read",
"write"
],
"type": "string",
"description": "The level of permission to grant the access token to list and manage repositories a user is starring."
},
"statuses": {
"enum": [
"read",
"write"
],
"type": "string",
"description": "The level of permission to grant the access token for commit statuses."
},
"followers": {
"enum": [
"read",
"write"
],
"type": "string",
"description": "The level of permission to grant the access token to manage the followers belonging to a user."
},
"workflows": {
"enum": [
"write"
],
"type": "string",
"description": "The level of permission to grant the access token to update GitHub Actions workflow files."
},
"codespaces": {
"enum": [
"read",
"write"
],
"type": "string",
"description": "The level of permission to grant the access token to create, edit, delete, and list Codespaces."
},
"deployments": {
"enum": [
"read",
"write"
],
"type": "string",
"description": "The level of permission to grant the access token for deployments and deployment statuses."
},
"discussions": {
"enum": [
"read",
"write"
],
"type": "string",
"description": "The level of permission to grant the access token for discussions and related comments and labels."
},
"single_file": {
"enum": [
"read",
"write"
],
"type": "string",
"description": "The level of permission to grant the access token to manage just a single file."
},
"attestations": {
"enum": [
"read",
"write"
],
"type": "string",
"description": "The level of permission to create and retrieve the access token for repository attestations."
},
"environments": {
"enum": [
"read",
"write"
],
"type": "string",
"description": "The level of permission to grant the access token for managing repository environments."
},
"git_ssh_keys": {
"enum": [
"read",
"write"
],
"type": "string",
"description": "The level of permission to grant the access token to manage git SSH keys."
},
"merge_queues": {
"enum": [
"read",
"write"
],
"type": "string",
"description": "The level of permission to grant the access token to manage the merge queues for a repository."
},
"pull_requests": {
"enum": [
"read",
"write"
],
"type": "string",
"description": "The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges."
},
"administration": {
"enum": [
"read",
"write"
],
"type": "string",
"description": "The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation."
},
"email_addresses": {
"enum": [
"read",
"write"
],
"type": "string",
"description": "The level of permission to grant the access token to manage the email addresses belonging to a user."
},
"security_events": {
"enum": [
"read",
"write"
],
"type": "string",
"description": "The level of permission to grant the access token to view and manage security events like code scanning alerts."
},
"repository_hooks": {
"enum": [
"read",
"write"
],
"type": "string",
"description": "The level of permission to grant the access token to manage the post-receive hooks for a repository."
},
"artifact_metadata": {
"enum": [
"read",
"write"
],
"type": "string",
"description": "The level of permission to grant the access token to create and retrieve build artifact metadata records."
},
"organization_plan": {
"enum": [
"read"
],
"type": "string",
"description": "The level of permission to grant the access token for viewing an organization's plan."
},
"dependabot_secrets": {
"enum": [
"read",
"write"
],
"type": "string",
"description": "The level of permission to grant the access token to manage Dependabot secrets."
},
"interaction_limits": {
"enum": [
"read",
"write"
],
"type": "string",
"description": "The level of permission to grant the access token to view and manage interaction limits on a repository."
},
"organization_hooks": {
"enum": [
"read",
"write"
],
"type": "string",
"description": "The level of permission to grant the access token to manage the post-receive hooks for an organization."
},
"organization_events": {
"enum": [
"read"
],
"type": "string",
"description": "The level of permission to grant the access token to view events triggered by an activity in an organization."
},
"repository_projects": {
"enum": [
"read",
"write",
"admin"
],
"type": "string",
"description": "The level of permission to grant the access token to manage repository projects, columns, and cards."
},
"organization_secrets": {
"enum": [
"read",
"write"
],
"type": "string",
"description": "The level of permission to grant the access token to manage organization secrets."
},
"vulnerability_alerts": {
"enum": [
"read",
"write"
],
"type": "string",
"description": "The level of permission to grant the access token to manage Dependabot alerts."
},
"organization_packages": {
"enum": [
"read",
"write"
],
"type": "string",
"description": "The level of permission to grant the access token for organization packages published to GitHub Packages."
},
"organization_projects": {
"enum": [
"read",
"write",
"admin"
],
"type": "string",
"description": "The level of permission to grant the access token to manage organization projects and projects public preview (where available)."
},
"secret_scanning_alerts": {
"enum": [
"read",
"write"
],
"type": "string",
"description": "The level of permission to grant the access token to view and manage secret scanning alerts."
},
"organization_custom_roles": {
"enum": [
"read",
"write"
],
"type": "string",
"description": "The level of permission to grant the access token for custom repository roles management."
},
"organization_user_blocking": {
"enum": [
"read",
"write"
],
"type": "string",
"description": "The level of permission to grant the access token to view and manage users blocked by the organization."
},
"organization_administration": {
"enum": [
"read",
"write"
],
"type": "string",
"description": "The level of permission to grant the access token to manage access to an organization."
},
"repository_custom_properties": {
"enum": [
"read",
"write"
],
"type": "string",
"description": "The level of permission to grant the access token to view and edit custom properties for a repository, when allowed by the property."
},
"organization_custom_org_roles": {
"enum": [
"read",
"write"
],
"type": "string",
"description": "The level of permission to grant the access token for custom organization roles management."
},
"organization_custom_properties": {
"enum": [
"read",
"write",
"admin"
],
"type": "string",
"description": "The level of permission to grant the access token for repository custom properties management at the organization level."
},
"organization_self_hosted_runners": {
"enum": [
"read",
"write"
],
"type": "string",
"description": "The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization."
},
"organization_announcement_banners": {
"enum": [
"read",
"write"
],
"type": "string",
"description": "The level of permission to grant the access token to view and manage announcement banners for an organization."
},
"custom_properties_for_organizations": {
"enum": [
"read",
"write"
],
"type": "string",
"description": "The level of permission to grant the access token to view and edit custom properties for an organization, when allowed by the property."
},
"organization_copilot_agent_settings": {
"enum": [
"read",
"write"
],
"type": "string",
"description": "The level of permission to grant the access token to view and manage Copilot coding agent settings for an organization."
},
"organization_personal_access_tokens": {
"enum": [
"read",
"write"
],
"type": "string",
"description": "The level of permission to grant the access token for viewing and managing fine-grained personal access token requests to an organization."
},
"organization_copilot_seat_management": {
"enum": [
"write"
],
"type": "string",
"description": "The level of permission to grant the access token for managing access to GitHub Copilot for members of an organization with a Copilot Business subscription. This property is in public preview and is subject to change."
},
"organization_personal_access_token_requests": {
"enum": [
"read",
"write"
],
"type": "string",
"description": "The level of permission to grant the access token for viewing and managing fine-grained personal access tokens that have been approved by an organization."
},
"enterprise_custom_properties_for_organizations": {
"enum": [
"read",
"write",
"admin"
],
"type": "string",
"description": "The level of permission to grant the access token for organization custom properties management at the enterprise level."
}
},
"description": "The permissions granted to the user access token."
}
artifact
{
"type": "object",
"title": "Artifact",
"required": [
"id",
"node_id",
"name",
"size_in_bytes",
"url",
"archive_download_url",
"expired",
"created_at",
"expires_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"example": 5
},
"url": {
"type": "string",
"example": "https://api.github.com/repos/github/hello-world/actions/artifacts/5"
},
"name": {
"type": "string",
"example": "AdventureWorks.Framework",
"description": "The name of the artifact."
},
"digest": {
"type": "string",
"example": "sha256:cfc3236bdad15b5898bca8408945c9e19e1917da8704adc20eaa618444290a8c",
"nullable": true,
"description": "The SHA256 digest of the artifact. This field will only be populated on artifacts uploaded with upload-artifact v4 or newer. For older versions, this field will be null."
},
"expired": {
"type": "boolean",
"description": "Whether or not the artifact has expired."
},
"node_id": {
"type": "string",
"example": "MDEwOkNoZWNrU3VpdGU1"
},
"created_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"expires_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"workflow_run": {
"type": "object",
"nullable": true,
"properties": {
"id": {
"type": "integer",
"example": 10
},
"head_sha": {
"type": "string",
"example": "009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d"
},
"head_branch": {
"type": "string",
"example": "main"
},
"repository_id": {
"type": "integer",
"example": 42
},
"head_repository_id": {
"type": "integer",
"example": 42
}
}
},
"size_in_bytes": {
"type": "integer",
"example": 12345,
"description": "The size in bytes of the artifact."
},
"archive_download_url": {
"type": "string",
"example": "https://api.github.com/repos/github/hello-world/actions/artifacts/5/zip"
}
},
"description": "An artifact"
}
artifact-deployment-record
{
"type": "object",
"title": "Artifact Deployment Record",
"properties": {
"id": {
"type": "integer"
},
"tags": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"digest": {
"type": "string"
},
"cluster": {
"type": "string"
},
"created_at": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"runtime_risks": {
"type": "array",
"items": {
"enum": [
"critical-resource",
"internet-exposed",
"lateral-movement",
"sensitive-data"
],
"type": "string"
},
"maxItems": 4,
"description": "A list of runtime risks associated with the deployment.",
"uniqueItems": true
},
"attestation_id": {
"type": "integer",
"nullable": true,
"description": "The ID of the provenance attestation associated with the deployment record."
},
"deployment_name": {
"type": "string"
},
"logical_environment": {
"type": "string"
},
"physical_environment": {
"type": "string"
}
},
"description": "Artifact Metadata Deployment Record"
}
assigned-issue-event
{
"type": "object",
"title": "Assigned Issue Event",
"required": [
"id",
"node_id",
"url",
"actor",
"event",
"commit_id",
"commit_url",
"created_at",
"performed_via_github_app",
"assignee",
"assigner"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"actor": {
"$ref": "#/components/schemas/simple-user"
},
"event": {
"type": "string"
},
"node_id": {
"type": "string"
},
"assignee": {
"$ref": "#/components/schemas/simple-user"
},
"assigner": {
"$ref": "#/components/schemas/simple-user"
},
"commit_id": {
"type": "string",
"nullable": true
},
"commit_url": {
"type": "string",
"nullable": true
},
"created_at": {
"type": "string"
},
"performed_via_github_app": {
"$ref": "#/components/schemas/integration"
}
},
"description": "Assigned Issue Event"
}
authentication-token
{
"type": "object",
"title": "Authentication Token",
"required": [
"token",
"expires_at"
],
"properties": {
"token": {
"type": "string",
"example": "v1.1f699f1069f60xxx",
"description": "The token used for authentication"
},
"expires_at": {
"type": "string",
"format": "date-time",
"example": "2016-07-11T22:14:10Z",
"description": "The time this token expires"
},
"permissions": {
"type": "object",
"example": {
"issues": "read",
"deployments": "write"
}
},
"single_file": {
"type": "string",
"example": "config.yaml",
"nullable": true
},
"repositories": {
"type": "array",
"items": {
"$ref": "#/components/schemas/repository"
},
"description": "The repositories this token has access to"
},
"repository_selection": {
"enum": [
"all",
"selected"
],
"type": "string",
"description": "Describe whether all repositories have been selected or there's a selection involved"
}
},
"description": "Authentication Token"
}
author-association
{
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "author_association",
"example": "OWNER",
"description": "How the author is associated with the repository."
}
authorization
{
"type": "object",
"title": "Authorization",
"required": [
"app",
"id",
"note",
"note_url",
"scopes",
"token",
"hashed_token",
"token_last_eight",
"fingerprint",
"url",
"created_at",
"updated_at",
"expires_at"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"app": {
"type": "object",
"required": [
"client_id",
"name",
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"client_id": {
"type": "string"
}
}
},
"url": {
"type": "string",
"format": "uri"
},
"note": {
"type": "string",
"nullable": true
},
"user": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"token": {
"type": "string"
},
"scopes": {
"type": "array",
"items": {
"type": "string"
},
"nullable": true,
"description": "A list of scopes that this authorization is in."
},
"note_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"expires_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"fingerprint": {
"type": "string",
"nullable": true
},
"hashed_token": {
"type": "string",
"nullable": true
},
"installation": {
"$ref": "#/components/schemas/nullable-scoped-installation"
},
"token_last_eight": {
"type": "string",
"nullable": true
}
},
"description": "The authorization for an OAuth app, GitHub App, or a Personal Access Token."
}
auto-merge
{
"type": "object",
"title": "Auto merge",
"nullable": true,
"required": [
"enabled_by",
"merge_method",
"commit_title",
"commit_message"
],
"properties": {
"enabled_by": {
"$ref": "#/components/schemas/simple-user"
},
"commit_title": {
"type": "string",
"description": "Title for the merge commit message."
},
"merge_method": {
"enum": [
"merge",
"squash",
"rebase"
],
"type": "string",
"description": "The merge method to use."
},
"commit_message": {
"type": "string",
"description": "Commit message for the merge commit."
}
},
"description": "The status of auto merging a pull request."
}
autolink
{
"type": "object",
"title": "Autolink reference",
"required": [
"id",
"key_prefix",
"url_template",
"is_alphanumeric"
],
"properties": {
"id": {
"type": "integer",
"example": 3
},
"key_prefix": {
"type": "string",
"example": "TICKET-",
"description": "The prefix of a key that is linkified."
},
"updated_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"url_template": {
"type": "string",
"example": "https://example.com/TICKET?query=<num>",
"description": "A template for the target URL that is generated if a key was found."
},
"is_alphanumeric": {
"type": "boolean",
"example": true,
"description": "Whether this autolink reference matches alphanumeric characters. If false, this autolink reference only matches numeric characters."
}
},
"description": "An autolink reference."
}
base-gist
{
"type": "object",
"title": "Base Gist",
"required": [
"id",
"node_id",
"url",
"forks_url",
"commits_url",
"git_pull_url",
"git_push_url",
"html_url",
"comments_url",
"public",
"description",
"comments",
"user",
"files",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"user": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"files": {
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"size": {
"type": "integer"
},
"type": {
"type": "string"
},
"raw_url": {
"type": "string"
},
"encoding": {
"type": "string",
"default": "utf-8",
"description": "The encoding used for `content`. Currently, `\"utf-8\"` and `\"base64\"` are supported."
},
"filename": {
"type": "string"
},
"language": {
"type": "string"
}
}
}
},
"forks": {
"type": "array",
"items": {}
},
"owner": {
"$ref": "#/components/schemas/simple-user"
},
"public": {
"type": "boolean"
},
"history": {
"type": "array",
"items": {}
},
"node_id": {
"type": "string"
},
"comments": {
"type": "integer"
},
"html_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"truncated": {
"type": "boolean"
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"commits_url": {
"type": "string",
"format": "uri"
},
"description": {
"type": "string",
"nullable": true
},
"comments_url": {
"type": "string",
"format": "uri"
},
"git_pull_url": {
"type": "string",
"format": "uri"
},
"git_push_url": {
"type": "string",
"format": "uri"
},
"comments_enabled": {
"type": "boolean"
}
},
"description": "Base Gist",
"x-github-breaking-changes": [
{
"patch": {
"required": [
"id",
"node_id",
"url",
"forks_url",
"commits_url",
"git_pull_url",
"git_push_url",
"html_url",
"comments_url",
"public",
"description",
"comments",
"files",
"created_at",
"updated_at"
],
"properties": {
"user": null
}
},
"version": "2026-03-10",
"changeset": "deprecate_beta_media_type"
},
{
"patch": [
{
"op": "remove",
"path": "/properties/forks"
},
{
"op": "remove",
"path": "/properties/history"
}
],
"version": "2026-03-10",
"changeset": "remove_forks_history_from_base_gist"
}
]
}
basic-error
{
"type": "object",
"title": "Basic Error",
"properties": {
"url": {
"type": "string"
},
"status": {
"type": "string"
},
"message": {
"type": "string"
},
"documentation_url": {
"type": "string"
}
},
"description": "Basic Error"
}
billing-premium-request-usage-report-org
{
"type": "object",
"required": [
"timePeriod",
"organization",
"usageItems"
],
"properties": {
"user": {
"type": "string",
"description": "The name of the user for the usage report."
},
"model": {
"type": "string",
"description": "The model for the usage report."
},
"product": {
"type": "string",
"description": "The product for the usage report."
},
"timePeriod": {
"type": "object",
"required": [
"year"
],
"properties": {
"day": {
"type": "integer",
"description": "The day for the usage report."
},
"year": {
"type": "integer",
"description": "The year for the usage report."
},
"month": {
"type": "integer",
"description": "The month for the usage report."
}
}
},
"usageItems": {
"type": "array",
"items": {
"type": "object",
"required": [
"product",
"sku",
"model",
"unitType",
"pricePerUnit",
"grossQuantity",
"grossAmount",
"discountQuantity",
"discountAmount",
"netQuantity",
"netAmount"
],
"properties": {
"sku": {
"type": "string",
"description": "SKU name."
},
"model": {
"type": "string",
"description": "Model name."
},
"product": {
"type": "string",
"description": "Product name."
},
"unitType": {
"type": "string",
"description": "Unit type of the usage line item."
},
"netAmount": {
"type": "number",
"description": "Net amount of the usage line item."
},
"grossAmount": {
"type": "number",
"description": "Gross amount of the usage line item."
},
"netQuantity": {
"type": "number",
"description": "Net quantity of the usage line item."
},
"pricePerUnit": {
"type": "number",
"description": "Price per unit of the usage line item."
},
"grossQuantity": {
"type": "number",
"description": "Gross quantity of the usage line item."
},
"discountAmount": {
"type": "number",
"description": "Discount amount of the usage line item."
},
"discountQuantity": {
"type": "number",
"description": "Discount quantity of the usage line item."
}
}
}
},
"organization": {
"type": "string",
"description": "The unique identifier of the organization."
}
}
}
billing-premium-request-usage-report-user
{
"type": "object",
"required": [
"timePeriod",
"user",
"usageItems"
],
"properties": {
"user": {
"type": "string",
"description": "The unique identifier of the user."
},
"model": {
"type": "string",
"description": "The model for the usage report."
},
"product": {
"type": "string",
"description": "The product for the usage report."
},
"timePeriod": {
"type": "object",
"required": [
"year"
],
"properties": {
"day": {
"type": "integer",
"description": "The day for the usage report."
},
"year": {
"type": "integer",
"description": "The year for the usage report."
},
"month": {
"type": "integer",
"description": "The month for the usage report."
}
}
},
"usageItems": {
"type": "array",
"items": {
"type": "object",
"required": [
"product",
"sku",
"model",
"unitType",
"pricePerUnit",
"grossQuantity",
"grossAmount",
"discountQuantity",
"discountAmount",
"netQuantity",
"netAmount"
],
"properties": {
"sku": {
"type": "string",
"description": "SKU name."
},
"model": {
"type": "string",
"description": "Model name."
},
"product": {
"type": "string",
"description": "Product name."
},
"unitType": {
"type": "string",
"description": "Unit type of the usage line item."
},
"netAmount": {
"type": "number",
"description": "Net amount of the usage line item."
},
"grossAmount": {
"type": "number",
"description": "Gross amount of the usage line item."
},
"netQuantity": {
"type": "number",
"description": "Net quantity of the usage line item."
},
"pricePerUnit": {
"type": "number",
"description": "Price per unit of the usage line item."
},
"grossQuantity": {
"type": "number",
"description": "Gross quantity of the usage line item."
},
"discountAmount": {
"type": "number",
"description": "Discount amount of the usage line item."
},
"discountQuantity": {
"type": "number",
"description": "Discount quantity of the usage line item."
}
}
}
}
}
}
billing-usage-report
{
"type": "object",
"properties": {
"usageItems": {
"type": "array",
"items": {
"type": "object",
"required": [
"date",
"product",
"sku",
"quantity",
"unitType",
"pricePerUnit",
"grossAmount",
"discountAmount",
"netAmount",
"organizationName"
],
"properties": {
"sku": {
"type": "string",
"description": "SKU name."
},
"date": {
"type": "string",
"description": "Date of the usage line item."
},
"product": {
"type": "string",
"description": "Product name."
},
"quantity": {
"type": "integer",
"description": "Quantity of the usage line item."
},
"unitType": {
"type": "string",
"description": "Unit type of the usage line item."
},
"netAmount": {
"type": "number",
"description": "Net amount of the usage line item."
},
"grossAmount": {
"type": "number",
"description": "Gross amount of the usage line item."
},
"pricePerUnit": {
"type": "number",
"description": "Price per unit of the usage line item."
},
"discountAmount": {
"type": "number",
"description": "Discount amount of the usage line item."
},
"repositoryName": {
"type": "string",
"description": "Name of the repository."
},
"organizationName": {
"type": "string",
"description": "Name of the organization."
}
}
}
}
}
}
billing-usage-report-user
{
"type": "object",
"properties": {
"usageItems": {
"type": "array",
"items": {
"type": "object",
"required": [
"date",
"product",
"sku",
"quantity",
"unitType",
"pricePerUnit",
"grossAmount",
"discountAmount",
"netAmount"
],
"properties": {
"sku": {
"type": "string",
"description": "SKU name."
},
"date": {
"type": "string",
"description": "Date of the usage line item."
},
"product": {
"type": "string",
"description": "Product name."
},
"quantity": {
"type": "integer",
"description": "Quantity of the usage line item."
},
"unitType": {
"type": "string",
"description": "Unit type of the usage line item."
},
"netAmount": {
"type": "number",
"description": "Net amount of the usage line item."
},
"grossAmount": {
"type": "number",
"description": "Gross amount of the usage line item."
},
"pricePerUnit": {
"type": "number",
"description": "Price per unit of the usage line item."
},
"discountAmount": {
"type": "number",
"description": "Discount amount of the usage line item."
},
"repositoryName": {
"type": "string",
"description": "Name of the repository."
}
}
}
}
}
}
billing-usage-summary-report-org
{
"type": "object",
"required": [
"timePeriod",
"organization",
"usageItems"
],
"properties": {
"sku": {
"type": "string",
"description": "The SKU for the usage report."
},
"product": {
"type": "string",
"description": "The product for the usage report."
},
"repository": {
"type": "string",
"description": "The name of the repository for the usage report."
},
"timePeriod": {
"type": "object",
"required": [
"year"
],
"properties": {
"day": {
"type": "integer",
"description": "The day for the usage report."
},
"year": {
"type": "integer",
"description": "The year for the usage report."
},
"month": {
"type": "integer",
"description": "The month for the usage report."
}
}
},
"usageItems": {
"type": "array",
"items": {
"type": "object",
"required": [
"product",
"sku",
"unitType",
"pricePerUnit",
"grossQuantity",
"grossAmount",
"discountQuantity",
"discountAmount",
"netQuantity",
"netAmount"
],
"properties": {
"sku": {
"type": "string",
"description": "SKU name."
},
"product": {
"type": "string",
"description": "Product name."
},
"unitType": {
"type": "string",
"description": "Unit type of the usage line item."
},
"netAmount": {
"type": "number",
"description": "Net amount of the usage line item."
},
"grossAmount": {
"type": "number",
"description": "Gross amount of the usage line item."
},
"netQuantity": {
"type": "number",
"description": "Net quantity of the usage line item."
},
"pricePerUnit": {
"type": "number",
"description": "Price per unit of the usage line item."
},
"grossQuantity": {
"type": "number",
"description": "Gross quantity of the usage line item."
},
"discountAmount": {
"type": "number",
"description": "Discount amount of the usage line item."
},
"discountQuantity": {
"type": "number",
"description": "Discount quantity of the usage line item."
}
}
}
},
"organization": {
"type": "string",
"description": "The unique identifier of the organization."
}
}
}
billing-usage-summary-report-user
{
"type": "object",
"required": [
"timePeriod",
"user",
"usageItems"
],
"properties": {
"sku": {
"type": "string",
"description": "The SKU for the usage report."
},
"user": {
"type": "string",
"description": "The unique identifier of the user."
},
"product": {
"type": "string",
"description": "The product for the usage report."
},
"repository": {
"type": "string",
"description": "The name of the repository for the usage report."
},
"timePeriod": {
"type": "object",
"required": [
"year"
],
"properties": {
"day": {
"type": "integer",
"description": "The day for the usage report."
},
"year": {
"type": "integer",
"description": "The year for the usage report."
},
"month": {
"type": "integer",
"description": "The month for the usage report."
}
}
},
"usageItems": {
"type": "array",
"items": {
"type": "object",
"required": [
"product",
"sku",
"unitType",
"pricePerUnit",
"grossQuantity",
"grossAmount",
"discountQuantity",
"discountAmount",
"netQuantity",
"netAmount"
],
"properties": {
"sku": {
"type": "string",
"description": "SKU name."
},
"product": {
"type": "string",
"description": "Product name."
},
"unitType": {
"type": "string",
"description": "Unit type of the usage line item."
},
"netAmount": {
"type": "number",
"description": "Net amount of the usage line item."
},
"grossAmount": {
"type": "number",
"description": "Gross amount of the usage line item."
},
"netQuantity": {
"type": "number",
"description": "Net quantity of the usage line item."
},
"pricePerUnit": {
"type": "number",
"description": "Price per unit of the usage line item."
},
"grossQuantity": {
"type": "number",
"description": "Gross quantity of the usage line item."
},
"discountAmount": {
"type": "number",
"description": "Discount amount of the usage line item."
},
"discountQuantity": {
"type": "number",
"description": "Discount quantity of the usage line item."
}
}
}
}
}
}
blob
{
"type": "object",
"title": "Blob",
"required": [
"sha",
"url",
"node_id",
"size",
"content",
"encoding"
],
"properties": {
"sha": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"size": {
"type": "integer",
"nullable": true
},
"content": {
"type": "string"
},
"node_id": {
"type": "string"
},
"encoding": {
"type": "string"
},
"highlighted_content": {
"type": "string"
}
},
"description": "Blob"
}
branch-protection
{
"type": "object",
"title": "Branch Protection",
"properties": {
"url": {
"type": "string"
},
"name": {
"type": "string",
"example": "\"branch/with/protection\""
},
"enabled": {
"type": "boolean"
},
"lock_branch": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"default": false
}
},
"description": "Whether to set the branch as read-only. If this is true, users will not be able to push to the branch."
},
"restrictions": {
"$ref": "#/components/schemas/branch-restriction-policy"
},
"enforce_admins": {
"$ref": "#/components/schemas/protected-branch-admin-enforced"
},
"protection_url": {
"type": "string",
"example": "\"https://api.github.com/repos/owner-79e94e2d36b3fd06a32bb213/AAA_Public_Repo/branches/branch/with/protection/protection\""
},
"allow_deletions": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
}
},
"block_creations": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
}
},
"allow_force_pushes": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
}
},
"allow_fork_syncing": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"default": false
}
},
"description": "Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing."
},
"required_signatures": {
"type": "object",
"required": [
"url",
"enabled"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_signatures"
},
"enabled": {
"type": "boolean",
"example": true
}
}
},
"required_status_checks": {
"$ref": "#/components/schemas/protected-branch-required-status-check"
},
"required_linear_history": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
}
},
"required_pull_request_reviews": {
"$ref": "#/components/schemas/protected-branch-pull-request-review"
},
"required_conversation_resolution": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
}
}
},
"description": "Branch Protection"
}
branch-restriction-policy
{
"type": "object",
"title": "Branch Restriction Policy",
"required": [
"url",
"users_url",
"teams_url",
"apps_url",
"users",
"teams",
"apps"
],
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"apps": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"slug": {
"type": "string"
},
"owner": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"type": {
"type": "string",
"example": "\"Organization\""
},
"login": {
"type": "string"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"example": "\"https://github.com/testorg-ea8ec76d71c3af4b\""
},
"gists_url": {
"type": "string",
"example": "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/gists{/gist_id}\""
},
"hooks_url": {
"type": "string"
},
"repos_url": {
"type": "string"
},
"avatar_url": {
"type": "string"
},
"events_url": {
"type": "string"
},
"issues_url": {
"type": "string"
},
"site_admin": {
"type": "boolean",
"example": false
},
"description": {
"type": "string"
},
"gravatar_id": {
"type": "string",
"example": "\"\""
},
"members_url": {
"type": "string"
},
"starred_url": {
"type": "string",
"example": "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/starred{/owner}{/repo}\""
},
"followers_url": {
"type": "string",
"example": "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/followers\""
},
"following_url": {
"type": "string",
"example": "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/following{/other_user}\""
},
"user_view_type": {
"type": "string",
"example": "public"
},
"organizations_url": {
"type": "string",
"example": "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/orgs\""
},
"subscriptions_url": {
"type": "string",
"example": "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/subscriptions\""
},
"public_members_url": {
"type": "string"
},
"received_events_url": {
"type": "string",
"example": "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/received_events\""
}
}
},
"events": {
"type": "array",
"items": {
"type": "string"
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string"
},
"client_id": {
"type": "string"
},
"created_at": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"description": {
"type": "string"
},
"permissions": {
"type": "object",
"properties": {
"issues": {
"type": "string"
},
"contents": {
"type": "string"
},
"metadata": {
"type": "string"
},
"single_file": {
"type": "string"
}
}
},
"external_url": {
"type": "string"
}
}
}
},
"teams": {
"type": "array",
"items": {
"$ref": "#/components/schemas/team"
}
},
"users": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string"
},
"type": {
"type": "string"
},
"login": {
"type": "string"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string"
},
"gists_url": {
"type": "string"
},
"repos_url": {
"type": "string"
},
"avatar_url": {
"type": "string"
},
"events_url": {
"type": "string"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string"
},
"followers_url": {
"type": "string"
},
"following_url": {
"type": "string"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string"
},
"subscriptions_url": {
"type": "string"
},
"received_events_url": {
"type": "string"
}
}
}
},
"apps_url": {
"type": "string",
"format": "uri"
},
"teams_url": {
"type": "string",
"format": "uri"
},
"users_url": {
"type": "string",
"format": "uri"
}
},
"description": "Branch Restriction Policy"
}
branch-short
{
"type": "object",
"title": "Branch Short",
"required": [
"name",
"commit",
"protected"
],
"properties": {
"name": {
"type": "string"
},
"commit": {
"type": "object",
"required": [
"sha",
"url"
],
"properties": {
"sha": {
"type": "string"
},
"url": {
"type": "string"
}
}
},
"protected": {
"type": "boolean"
}
},
"description": "Branch Short"
}
branch-with-protection
{
"type": "object",
"title": "Branch With Protection",
"required": [
"name",
"commit",
"_links",
"protection",
"protected",
"protection_url"
],
"properties": {
"name": {
"type": "string"
},
"_links": {
"type": "object",
"required": [
"html",
"self"
],
"properties": {
"html": {
"type": "string"
},
"self": {
"type": "string",
"format": "uri"
}
}
},
"commit": {
"$ref": "#/components/schemas/commit"
},
"pattern": {
"type": "string",
"example": "\"mas*\""
},
"protected": {
"type": "boolean"
},
"protection": {
"$ref": "#/components/schemas/branch-protection"
},
"protection_url": {
"type": "string",
"format": "uri"
},
"required_approving_review_count": {
"type": "integer",
"example": 1
}
},
"description": "Branch With Protection"
}
budget
{
"type": "object",
"required": [
"id",
"budget_type",
"budget_product_sku",
"budget_scope",
"budget_amount",
"prevent_further_usage",
"budget_alerting"
],
"properties": {
"id": {
"type": "string",
"example": "2066deda-923f-43f9-88d2-62395a28c0cdd",
"description": "The unique identifier for the budget"
},
"budget_type": {
"oneOf": [
{
"enum": [
"SkuPricing"
],
"type": "string"
},
{
"enum": [
"ProductPricing"
],
"type": "string"
}
],
"example": "SkuPricing",
"description": "The type of pricing for the budget"
},
"budget_scope": {
"type": "string",
"example": "enterprise",
"description": "The scope of the budget (enterprise, organization, repository, cost center)"
},
"budget_amount": {
"type": "integer",
"description": "The budget amount limit in whole dollars. For license-based products, this represents the number of licenses."
},
"budget_alerting": {
"type": "object",
"required": [
"will_alert",
"alert_recipients"
],
"properties": {
"will_alert": {
"type": "boolean",
"example": true,
"description": "Whether alerts are enabled for this budget"
},
"alert_recipients": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"mona",
"lisa"
],
"description": "Array of user login names who will receive alerts"
}
}
},
"budget_entity_name": {
"type": "string",
"example": "octocat/hello-world",
"description": "The name of the entity for the budget (enterprise does not require a name)."
},
"budget_product_sku": {
"type": "string",
"description": "A single product or sku to apply the budget to."
},
"prevent_further_usage": {
"type": "boolean",
"example": true,
"description": "The type of limit enforcement for the budget"
}
}
}
campaign-alert-type
{
"enum": [
"code_scanning",
"secret_scanning"
],
"type": "string",
"title": "Campaign alert type",
"description": "Indicates the alert type of a campaign"
}
campaign-state
{
"enum": [
"open",
"closed"
],
"type": "string",
"title": "Campaign state",
"description": "Indicates whether a campaign is open or closed"
}
campaign-summary
{
"type": "object",
"title": "Campaign summary",
"required": [
"number",
"created_at",
"updated_at",
"description",
"managers",
"ends_at",
"state",
"contact_link"
],
"properties": {
"name": {
"type": "string",
"description": "The campaign name"
},
"state": {
"$ref": "#/components/schemas/campaign-state"
},
"number": {
"type": "integer",
"description": "The number of the newly created campaign"
},
"ends_at": {
"type": "string",
"format": "date-time",
"description": "The date and time the campaign has ended, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ."
},
"managers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/simple-user"
},
"description": "The campaign managers"
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true,
"description": "The date and time the campaign was closed, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. Will be null if the campaign is still open."
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "The date and time the campaign was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ."
},
"updated_at": {
"type": "string",
"format": "date-time",
"description": "The date and time the campaign was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ."
},
"alert_stats": {
"type": "object",
"required": [
"open_count",
"closed_count",
"in_progress_count"
],
"properties": {
"open_count": {
"type": "integer",
"description": "The number of open alerts"
},
"closed_count": {
"type": "integer",
"description": "The number of closed alerts"
},
"in_progress_count": {
"type": "integer",
"description": "The number of in-progress alerts"
}
},
"additionalProperties": false
},
"description": {
"type": "string",
"description": "The campaign description"
},
"contact_link": {
"type": "string",
"format": "uri",
"nullable": true,
"description": "The contact link of the campaign."
},
"published_at": {
"type": "string",
"format": "date-time",
"description": "The date and time the campaign was published, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ."
},
"team_managers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/team"
},
"description": "The campaign team managers"
}
},
"description": "The campaign metadata and alert stats."
}
check-annotation
{
"type": "object",
"title": "Check Annotation",
"required": [
"path",
"blob_href",
"start_line",
"end_line",
"start_column",
"end_column",
"annotation_level",
"title",
"message",
"raw_details"
],
"properties": {
"path": {
"type": "string",
"example": "README.md"
},
"title": {
"type": "string",
"example": "Spell Checker",
"nullable": true
},
"message": {
"type": "string",
"example": "Check your spelling for 'banaas'.",
"nullable": true
},
"end_line": {
"type": "integer",
"example": 2
},
"blob_href": {
"type": "string"
},
"end_column": {
"type": "integer",
"example": 10,
"nullable": true
},
"start_line": {
"type": "integer",
"example": 2
},
"raw_details": {
"type": "string",
"example": "Do you mean 'bananas' or 'banana'?",
"nullable": true
},
"start_column": {
"type": "integer",
"example": 5,
"nullable": true
},
"annotation_level": {
"type": "string",
"example": "warning",
"nullable": true
}
},
"description": "Check Annotation"
}
check-automated-security-fixes
{
"type": "object",
"title": "Check Dependabot security updates",
"required": [
"enabled",
"paused"
],
"properties": {
"paused": {
"type": "boolean",
"example": false,
"description": "Whether Dependabot security updates are paused for the repository."
},
"enabled": {
"type": "boolean",
"example": true,
"description": "Whether Dependabot security updates are enabled for the repository."
}
},
"description": "Check Dependabot security updates"
}
check-immutable-releases
{
"type": "object",
"title": "Check immutable releases",
"required": [
"enabled",
"enforced_by_owner"
],
"properties": {
"enabled": {
"type": "boolean",
"example": true,
"description": "Whether immutable releases are enabled for the repository."
},
"enforced_by_owner": {
"type": "boolean",
"example": false,
"description": "Whether immutable releases are enforced by the repository owner."
}
},
"description": "Check immutable releases"
}
check-run
{
"type": "object",
"title": "CheckRun",
"required": [
"id",
"node_id",
"head_sha",
"name",
"url",
"html_url",
"details_url",
"status",
"conclusion",
"started_at",
"completed_at",
"external_id",
"check_suite",
"output",
"app",
"pull_requests"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 21,
"description": "The id of the check."
},
"app": {
"$ref": "#/components/schemas/nullable-integration"
},
"url": {
"type": "string",
"example": "https://api.github.com/repos/github/hello-world/check-runs/4"
},
"name": {
"type": "string",
"example": "test-coverage",
"description": "The name of the check."
},
"output": {
"type": "object",
"required": [
"title",
"summary",
"text",
"annotations_count",
"annotations_url"
],
"properties": {
"text": {
"type": "string",
"nullable": true
},
"title": {
"type": "string",
"nullable": true
},
"summary": {
"type": "string",
"nullable": true
},
"annotations_url": {
"type": "string",
"format": "uri"
},
"annotations_count": {
"type": "integer"
}
}
},
"status": {
"enum": [
"queued",
"in_progress",
"completed",
"waiting",
"requested",
"pending"
],
"type": "string",
"example": "queued",
"description": "The phase of the lifecycle that the check is currently in. Statuses of waiting, requested, and pending are reserved for GitHub Actions check runs."
},
"node_id": {
"type": "string",
"example": "MDg6Q2hlY2tSdW40"
},
"head_sha": {
"type": "string",
"example": "009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d",
"description": "The SHA of the commit that is being checked."
},
"html_url": {
"type": "string",
"example": "https://github.com/github/hello-world/runs/4",
"nullable": true
},
"conclusion": {
"enum": [
"success",
"failure",
"neutral",
"cancelled",
"skipped",
"timed_out",
"action_required"
],
"type": "string",
"example": "neutral",
"nullable": true
},
"deployment": {
"$ref": "#/components/schemas/deployment-simple"
},
"started_at": {
"type": "string",
"format": "date-time",
"example": "2018-05-04T01:14:52Z",
"nullable": true
},
"check_suite": {
"type": "object",
"nullable": true,
"required": [
"id"
],
"properties": {
"id": {
"type": "integer"
}
}
},
"details_url": {
"type": "string",
"example": "https://example.com",
"nullable": true
},
"external_id": {
"type": "string",
"example": "42",
"nullable": true
},
"completed_at": {
"type": "string",
"format": "date-time",
"example": "2018-05-04T01:14:52Z",
"nullable": true
},
"pull_requests": {
"type": "array",
"items": {
"$ref": "#/components/schemas/pull-request-minimal"
},
"description": "Pull requests that are open with a `head_sha` or `head_branch` that matches the check. The returned pull requests do not necessarily indicate pull requests that triggered the check."
}
},
"description": "A check performed on the code of a given code change"
}
check-run-with-simple-check-suite
{
"type": "object",
"title": "CheckRun",
"required": [
"id",
"node_id",
"head_sha",
"name",
"url",
"html_url",
"details_url",
"status",
"conclusion",
"started_at",
"completed_at",
"external_id",
"check_suite",
"output",
"app",
"pull_requests"
],
"properties": {
"id": {
"type": "integer",
"example": 21,
"description": "The id of the check."
},
"app": {
"$ref": "#/components/schemas/integration"
},
"url": {
"type": "string",
"example": "https://api.github.com/repos/github/hello-world/check-runs/4"
},
"name": {
"type": "string",
"example": "test-coverage",
"description": "The name of the check."
},
"output": {
"type": "object",
"required": [
"title",
"summary",
"text",
"annotations_count",
"annotations_url"
],
"properties": {
"text": {
"type": "string",
"nullable": true
},
"title": {
"type": "string",
"nullable": true
},
"summary": {
"type": "string",
"nullable": true
},
"annotations_url": {
"type": "string",
"format": "uri"
},
"annotations_count": {
"type": "integer"
}
}
},
"status": {
"enum": [
"queued",
"in_progress",
"completed",
"pending"
],
"type": "string",
"example": "queued",
"description": "The phase of the lifecycle that the check is currently in."
},
"node_id": {
"type": "string",
"example": "MDg6Q2hlY2tSdW40"
},
"head_sha": {
"type": "string",
"example": "009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d",
"description": "The SHA of the commit that is being checked."
},
"html_url": {
"type": "string",
"example": "https://github.com/github/hello-world/runs/4"
},
"conclusion": {
"enum": [
"waiting",
"pending",
"startup_failure",
"stale",
"success",
"failure",
"neutral",
"cancelled",
"skipped",
"timed_out",
"action_required"
],
"type": "string",
"example": "neutral",
"nullable": true
},
"deployment": {
"$ref": "#/components/schemas/deployment-simple"
},
"started_at": {
"type": "string",
"format": "date-time",
"example": "2018-05-04T01:14:52Z"
},
"check_suite": {
"$ref": "#/components/schemas/simple-check-suite"
},
"details_url": {
"type": "string",
"example": "https://example.com"
},
"external_id": {
"type": "string",
"example": "42"
},
"completed_at": {
"type": "string",
"format": "date-time",
"example": "2018-05-04T01:14:52Z",
"nullable": true
},
"pull_requests": {
"type": "array",
"items": {
"$ref": "#/components/schemas/pull-request-minimal"
}
}
},
"description": "A check performed on the code of a given code change"
}
check-suite
{
"type": "object",
"title": "CheckSuite",
"required": [
"id",
"node_id",
"head_branch",
"status",
"conclusion",
"head_sha",
"url",
"before",
"after",
"created_at",
"updated_at",
"app",
"head_commit",
"repository",
"latest_check_runs_count",
"check_runs_url",
"pull_requests"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 5
},
"app": {
"$ref": "#/components/schemas/nullable-integration"
},
"url": {
"type": "string",
"example": "https://api.github.com/repos/github/hello-world/check-suites/5",
"nullable": true
},
"after": {
"type": "string",
"example": "d6fde92930d4715a2b49857d24b940956b26d2d3",
"nullable": true
},
"before": {
"type": "string",
"example": "146e867f55c26428e5f9fade55a9bbf5e95a7912",
"nullable": true
},
"status": {
"enum": [
"queued",
"in_progress",
"completed",
"waiting",
"requested",
"pending"
],
"type": "string",
"example": "completed",
"nullable": true,
"description": "The phase of the lifecycle that the check suite is currently in. Statuses of waiting, requested, and pending are reserved for GitHub Actions check suites."
},
"node_id": {
"type": "string",
"example": "MDEwOkNoZWNrU3VpdGU1"
},
"head_sha": {
"type": "string",
"example": "009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d",
"description": "The SHA of the head commit that is being checked."
},
"conclusion": {
"enum": [
"success",
"failure",
"neutral",
"cancelled",
"skipped",
"timed_out",
"action_required",
"startup_failure",
"stale",
null
],
"type": "string",
"example": "neutral",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"repository": {
"$ref": "#/components/schemas/minimal-repository"
},
"updated_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"head_branch": {
"type": "string",
"example": "master",
"nullable": true
},
"head_commit": {
"$ref": "#/components/schemas/simple-commit"
},
"pull_requests": {
"type": "array",
"items": {
"$ref": "#/components/schemas/pull-request-minimal"
},
"nullable": true
},
"rerequestable": {
"type": "boolean"
},
"check_runs_url": {
"type": "string"
},
"runs_rerequestable": {
"type": "boolean"
},
"latest_check_runs_count": {
"type": "integer"
}
},
"description": "A suite of checks performed on the code of a given code change"
}
check-suite-preference
{
"type": "object",
"title": "Check Suite Preference",
"required": [
"preferences",
"repository"
],
"properties": {
"repository": {
"$ref": "#/components/schemas/minimal-repository"
},
"preferences": {
"type": "object",
"properties": {
"auto_trigger_checks": {
"type": "array",
"items": {
"type": "object",
"required": [
"app_id",
"setting"
],
"properties": {
"app_id": {
"type": "integer"
},
"setting": {
"type": "boolean"
}
}
}
}
}
}
},
"description": "Check suite configuration preferences for a repository."
}
classroom
{
"type": "object",
"title": "Classroom",
"required": [
"id",
"name",
"archived",
"organization",
"url"
],
"properties": {
"id": {
"type": "integer",
"example": 42,
"description": "Unique identifier of the classroom."
},
"url": {
"type": "string",
"example": "https://classroom.github.com/classrooms/1-programming-elixir",
"description": "The URL of the classroom on GitHub Classroom."
},
"name": {
"type": "string",
"example": "Programming Elixir",
"description": "The name of the classroom."
},
"archived": {
"type": "boolean",
"example": false,
"description": "Whether classroom is archived."
},
"organization": {
"$ref": "#/components/schemas/simple-classroom-organization"
}
},
"description": "A GitHub Classroom classroom"
}
classroom-accepted-assignment
{
"type": "object",
"title": "Classroom Accepted Assignment",
"required": [
"id",
"submitted",
"passing",
"commit_count",
"grade",
"students",
"repository",
"assignment"
],
"properties": {
"id": {
"type": "integer",
"example": 42,
"description": "Unique identifier of the repository."
},
"grade": {
"type": "string",
"example": "10/10",
"description": "Most recent grade."
},
"passing": {
"type": "boolean",
"example": true,
"description": "Whether a submission passed."
},
"students": {
"type": "array",
"items": {
"$ref": "#/components/schemas/simple-classroom-user"
}
},
"submitted": {
"type": "boolean",
"example": true,
"description": "Whether an accepted assignment has been submitted."
},
"assignment": {
"$ref": "#/components/schemas/simple-classroom-assignment"
},
"repository": {
"$ref": "#/components/schemas/simple-classroom-repository"
},
"commit_count": {
"type": "integer",
"example": 5,
"description": "Count of student commits."
}
},
"description": "A GitHub Classroom accepted assignment"
}
classroom-assignment
{
"type": "object",
"title": "Classroom Assignment",
"required": [
"id",
"public_repo",
"title",
"type",
"invite_link",
"invitations_enabled",
"slug",
"students_are_repo_admins",
"feedback_pull_requests_enabled",
"max_teams",
"max_members",
"editor",
"accepted",
"submitted",
"passing",
"language",
"deadline",
"starter_code_repository",
"classroom"
],
"properties": {
"id": {
"type": "integer",
"example": 42,
"description": "Unique identifier of the repository."
},
"slug": {
"type": "string",
"example": "intro-to-binaries",
"description": "Sluggified name of the assignment."
},
"type": {
"enum": [
"individual",
"group"
],
"type": "string",
"example": "individual",
"description": "Whether it's a group assignment or individual assignment."
},
"title": {
"type": "string",
"example": "Intro to Binaries",
"description": "Assignment title."
},
"editor": {
"type": "string",
"example": "codespaces",
"description": "The selected editor for the assignment."
},
"passing": {
"type": "integer",
"example": 10,
"description": "The number of students that have passed the assignment."
},
"accepted": {
"type": "integer",
"example": 25,
"description": "The number of students that have accepted the assignment."
},
"deadline": {
"type": "string",
"format": "date-time",
"example": "2011-01-26T19:06:43Z",
"nullable": true,
"description": "The time at which the assignment is due."
},
"language": {
"type": "string",
"example": "elixir",
"description": "The programming language used in the assignment."
},
"classroom": {
"$ref": "#/components/schemas/classroom"
},
"max_teams": {
"type": "integer",
"example": 0,
"nullable": true,
"description": "The maximum allowable teams for the assignment."
},
"submitted": {
"type": "integer",
"example": 10,
"description": "The number of students that have submitted the assignment."
},
"invite_link": {
"type": "string",
"example": "https://classroom.github.com/a/Lx7jiUgx",
"description": "The link that a student can use to accept the assignment."
},
"max_members": {
"type": "integer",
"example": 0,
"nullable": true,
"description": "The maximum allowable members per team."
},
"public_repo": {
"type": "boolean",
"example": true,
"description": "Whether an accepted assignment creates a public repository."
},
"invitations_enabled": {
"type": "boolean",
"example": true,
"description": "Whether the invitation link is enabled. Visiting an enabled invitation link will accept the assignment."
},
"starter_code_repository": {
"$ref": "#/components/schemas/simple-classroom-repository"
},
"students_are_repo_admins": {
"type": "boolean",
"example": true,
"description": "Whether students are admins on created repository when a student accepts the assignment."
},
"feedback_pull_requests_enabled": {
"type": "boolean",
"example": true,
"description": "Whether feedback pull request will be created when a student accepts the assignment."
}
},
"description": "A GitHub Classroom assignment"
}
classroom-assignment-grade
{
"type": "object",
"title": "Classroom Assignment Grade",
"required": [
"assignment_name",
"assignment_url",
"starter_code_url",
"github_username",
"roster_identifier",
"student_repository_name",
"student_repository_url",
"submission_timestamp",
"points_awarded",
"points_available"
],
"properties": {
"group_name": {
"type": "string",
"description": "If a group assignment, name of the group the student is in"
},
"assignment_url": {
"type": "string",
"description": "URL of the assignment"
},
"points_awarded": {
"type": "integer",
"description": "Number of points awarded to the student"
},
"assignment_name": {
"type": "string",
"description": "Name of the assignment"
},
"github_username": {
"type": "string",
"description": "GitHub username of the student"
},
"points_available": {
"type": "integer",
"description": "Number of points available for the assignment"
},
"starter_code_url": {
"type": "string",
"description": "URL of the starter code for the assignment"
},
"roster_identifier": {
"type": "string",
"description": "Roster identifier of the student"
},
"submission_timestamp": {
"type": "string",
"description": "Timestamp of the student's assignment submission"
},
"student_repository_url": {
"type": "string",
"description": "URL of the student's assignment repository"
},
"student_repository_name": {
"type": "string",
"description": "Name of the student's assignment repository"
}
},
"description": "Grade for a student or groups GitHub Classroom assignment"
}
clone-traffic
{
"type": "object",
"title": "Clone Traffic",
"required": [
"uniques",
"count",
"clones"
],
"properties": {
"count": {
"type": "integer",
"example": 173
},
"clones": {
"type": "array",
"items": {
"$ref": "#/components/schemas/traffic"
}
},
"uniques": {
"type": "integer",
"example": 128
}
},
"description": "Clone Traffic"
}
code-frequency-stat
{
"type": "array",
"items": {
"type": "integer"
},
"title": "Code Frequency Stat",
"description": "Code Frequency Stat"
}
code-of-conduct
{
"type": "object",
"title": "Code Of Conduct",
"required": [
"url",
"html_url",
"key",
"name"
],
"properties": {
"key": {
"type": "string",
"example": "contributor_covenant"
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/codes_of_conduct/contributor_covenant"
},
"body": {
"type": "string",
"example": "# Contributor Covenant Code of Conduct\n\n## Our Pledge\n\nIn the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.\n\n## Our Standards\n\nExamples of behavior that contributes to creating a positive environment include:\n\n* Using welcoming and inclusive language\n* Being respectful of differing viewpoints and experiences\n* Gracefully accepting constructive criticism\n* Focusing on what is best for the community\n* Showing empathy towards other community members\n\nExamples of unacceptable behavior by participants include:\n\n* The use of sexualized language or imagery and unwelcome sexual attention or advances\n* Trolling, insulting/derogatory comments, and personal or political attacks\n* Public or private harassment\n* Publishing others' private information, such as a physical or electronic address, without explicit permission\n* Other conduct which could reasonably be considered inappropriate in a professional setting\n\n## Our Responsibilities\n\nProject maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response\n to any instances of unacceptable behavior.\n\nProject maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.\n\n## Scope\n\nThis Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address,\n posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.\n\n## Enforcement\n\nInstances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [EMAIL]. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.\n\nProject maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.\n\n## Attribution\n\nThis Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.4, available at [http://contributor-covenant.org/version/1/4](http://contributor-covenant.org/version/1/4/).\n"
},
"name": {
"type": "string",
"example": "Contributor Covenant"
},
"html_url": {
"type": "string",
"format": "uri",
"nullable": true
}
},
"description": "Code Of Conduct"
}
code-of-conduct-simple
{
"type": "object",
"title": "Code Of Conduct Simple",
"required": [
"url",
"key",
"name",
"html_url"
],
"properties": {
"key": {
"type": "string",
"example": "citizen_code_of_conduct"
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/github/docs/community/code_of_conduct"
},
"name": {
"type": "string",
"example": "Citizen Code of Conduct"
},
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/github/docs/blob/main/CODE_OF_CONDUCT.md",
"nullable": true
}
},
"description": "Code of Conduct Simple"
}
code-scanning-alert
{
"type": "object",
"required": [
"number",
"created_at",
"url",
"html_url",
"instances_url",
"state",
"dismissed_by",
"dismissed_at",
"dismissed_reason",
"rule",
"tool",
"most_recent_instance"
],
"properties": {
"url": {
"$ref": "#/components/schemas/alert-url"
},
"rule": {
"$ref": "#/components/schemas/code-scanning-alert-rule"
},
"tool": {
"$ref": "#/components/schemas/code-scanning-analysis-tool"
},
"state": {
"$ref": "#/components/schemas/code-scanning-alert-state"
},
"number": {
"$ref": "#/components/schemas/alert-number"
},
"fixed_at": {
"$ref": "#/components/schemas/alert-fixed-at"
},
"html_url": {
"$ref": "#/components/schemas/alert-html-url"
},
"assignees": {
"type": "array",
"items": {
"$ref": "#/components/schemas/simple-user"
}
},
"created_at": {
"$ref": "#/components/schemas/alert-created-at"
},
"updated_at": {
"$ref": "#/components/schemas/alert-updated-at"
},
"dismissed_at": {
"$ref": "#/components/schemas/alert-dismissed-at"
},
"dismissed_by": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"instances_url": {
"$ref": "#/components/schemas/alert-instances-url"
},
"dismissed_reason": {
"$ref": "#/components/schemas/code-scanning-alert-dismissed-reason"
},
"dismissed_comment": {
"$ref": "#/components/schemas/code-scanning-alert-dismissed-comment"
},
"most_recent_instance": {
"$ref": "#/components/schemas/code-scanning-alert-instance"
},
"dismissal_approved_by": {
"$ref": "#/components/schemas/nullable-simple-user"
}
}
}
code-scanning-alert-assignees
{
"type": "array",
"items": {
"type": "string"
},
"description": "The list of users to assign to the code scanning alert. An empty array unassigns all previous assignees from the alert."
}
code-scanning-alert-classification
{
"enum": [
"source",
"generated",
"test",
"library"
],
"type": "string",
"nullable": true,
"description": "A classification of the file. For example to identify it as generated."
}
code-scanning-alert-create-request
{
"type": "boolean",
"description": "If `true`, attempt to create an alert dismissal request."
}
code-scanning-alert-dismissed-comment
{
"type": "string",
"nullable": true,
"maxLength": 280,
"description": "The dismissal comment associated with the dismissal of the alert."
}
code-scanning-alert-dismissed-reason
{
"enum": [
"false positive",
"won't fix",
"used in tests"
],
"type": "string",
"nullable": true,
"description": "**Required when the state is dismissed.** The reason for dismissing or closing the alert."
}
code-scanning-alert-environment
{
"type": "string",
"description": "Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed."
}
code-scanning-alert-instance
{
"type": "object",
"properties": {
"ref": {
"$ref": "#/components/schemas/code-scanning-ref"
},
"state": {
"$ref": "#/components/schemas/code-scanning-alert-state"
},
"message": {
"type": "object",
"properties": {
"text": {
"type": "string"
},
"markdown": {
"type": "string",
"description": "The message text as GitHub-flavored Markdown, with placeholder links for related locations replaced by links to the relevant code. Only populated when related locations are available for the alert instance."
}
}
},
"category": {
"$ref": "#/components/schemas/code-scanning-analysis-category"
},
"html_url": {
"type": "string"
},
"location": {
"$ref": "#/components/schemas/code-scanning-alert-location"
},
"commit_sha": {
"type": "string"
},
"environment": {
"$ref": "#/components/schemas/code-scanning-alert-environment"
},
"analysis_key": {
"$ref": "#/components/schemas/code-scanning-analysis-analysis-key"
},
"classifications": {
"type": "array",
"items": {
"$ref": "#/components/schemas/code-scanning-alert-classification"
},
"description": "Classifications that have been applied to the file that triggered the alert.\nFor example identifying it as documentation, or a generated file."
}
}
}
code-scanning-alert-instance-list
{
"type": "object",
"properties": {
"ref": {
"$ref": "#/components/schemas/code-scanning-ref"
},
"state": {
"$ref": "#/components/schemas/code-scanning-alert-instance-state"
},
"message": {
"type": "object",
"properties": {
"text": {
"type": "string"
}
}
},
"category": {
"$ref": "#/components/schemas/code-scanning-analysis-category"
},
"html_url": {
"type": "string"
},
"location": {
"$ref": "#/components/schemas/code-scanning-alert-location"
},
"commit_sha": {
"type": "string"
},
"environment": {
"$ref": "#/components/schemas/code-scanning-alert-environment"
},
"analysis_key": {
"$ref": "#/components/schemas/code-scanning-analysis-analysis-key"
},
"classifications": {
"type": "array",
"items": {
"$ref": "#/components/schemas/code-scanning-alert-classification"
},
"description": "Classifications that have been applied to the file that triggered the alert.\nFor example identifying it as documentation, or a generated file."
}
}
}
code-scanning-alert-instance-state
{
"enum": [
"open",
"fixed"
],
"type": "string",
"nullable": true,
"description": "State of a code scanning alert instance."
}
code-scanning-alert-items
{
"type": "object",
"required": [
"number",
"created_at",
"url",
"html_url",
"instances_url",
"state",
"dismissed_by",
"dismissed_at",
"dismissed_reason",
"rule",
"tool",
"most_recent_instance"
],
"properties": {
"url": {
"$ref": "#/components/schemas/alert-url"
},
"rule": {
"$ref": "#/components/schemas/code-scanning-alert-rule-summary"
},
"tool": {
"$ref": "#/components/schemas/code-scanning-analysis-tool"
},
"state": {
"$ref": "#/components/schemas/code-scanning-alert-state"
},
"number": {
"$ref": "#/components/schemas/alert-number"
},
"fixed_at": {
"$ref": "#/components/schemas/alert-fixed-at"
},
"html_url": {
"$ref": "#/components/schemas/alert-html-url"
},
"assignees": {
"type": "array",
"items": {
"$ref": "#/components/schemas/simple-user"
}
},
"created_at": {
"$ref": "#/components/schemas/alert-created-at"
},
"updated_at": {
"$ref": "#/components/schemas/alert-updated-at"
},
"dismissed_at": {
"$ref": "#/components/schemas/alert-dismissed-at"
},
"dismissed_by": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"instances_url": {
"$ref": "#/components/schemas/alert-instances-url"
},
"dismissed_reason": {
"$ref": "#/components/schemas/code-scanning-alert-dismissed-reason"
},
"dismissed_comment": {
"$ref": "#/components/schemas/code-scanning-alert-dismissed-comment"
},
"most_recent_instance": {
"$ref": "#/components/schemas/code-scanning-alert-instance"
},
"dismissal_approved_by": {
"$ref": "#/components/schemas/nullable-simple-user"
}
}
}
code-scanning-alert-location
{
"type": "object",
"properties": {
"path": {
"type": "string"
},
"end_line": {
"type": "integer"
},
"end_column": {
"type": "integer"
},
"start_line": {
"type": "integer"
},
"start_column": {
"type": "integer"
}
},
"description": "Describe a region within a file for the alert."
}
code-scanning-alert-rule
{
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true,
"description": "A unique identifier for the rule used to detect the alert."
},
"help": {
"type": "string",
"nullable": true,
"description": "Detailed documentation for the rule as GitHub Flavored Markdown."
},
"name": {
"type": "string",
"description": "The name of the rule used to detect the alert."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"nullable": true,
"description": "A set of tags applicable for the rule."
},
"help_uri": {
"type": "string",
"nullable": true,
"description": "A link to the documentation for the rule used to detect the alert."
},
"severity": {
"enum": [
"none",
"note",
"warning",
"error"
],
"type": "string",
"nullable": true,
"description": "The severity of the alert."
},
"description": {
"type": "string",
"description": "A short description of the rule used to detect the alert."
},
"full_description": {
"type": "string",
"description": "A description of the rule used to detect the alert."
},
"security_severity_level": {
"enum": [
"low",
"medium",
"high",
"critical"
],
"type": "string",
"nullable": true,
"description": "The security severity of the alert."
}
}
}
code-scanning-alert-rule-summary
{
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true,
"description": "A unique identifier for the rule used to detect the alert."
},
"help": {
"type": "string",
"nullable": true,
"description": "Detailed documentation for the rule as GitHub Flavored Markdown."
},
"name": {
"type": "string",
"description": "The name of the rule used to detect the alert."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"nullable": true,
"description": "A set of tags applicable for the rule."
},
"help_uri": {
"type": "string",
"nullable": true,
"description": "A link to the documentation for the rule used to detect the alert."
},
"severity": {
"enum": [
"none",
"note",
"warning",
"error"
],
"type": "string",
"nullable": true,
"description": "The severity of the alert."
},
"description": {
"type": "string",
"description": "A short description of the rule used to detect the alert."
},
"full_description": {
"type": "string",
"description": "A description of the rule used to detect the alert."
},
"security_severity_level": {
"enum": [
"low",
"medium",
"high",
"critical"
],
"type": "string",
"nullable": true,
"description": "The security severity of the alert."
}
}
}
code-scanning-alert-set-state
{
"enum": [
"open",
"dismissed"
],
"type": "string",
"description": "Sets the state of the code scanning alert. You must provide `dismissed_reason` when you set the state to `dismissed`."
}
code-scanning-alert-severity
{
"enum": [
"critical",
"high",
"medium",
"low",
"warning",
"note",
"error"
],
"type": "string",
"description": "Severity of a code scanning alert."
}
code-scanning-alert-state
{
"enum": [
"open",
"dismissed",
"fixed"
],
"type": "string",
"nullable": true,
"description": "State of a code scanning alert."
}
code-scanning-alert-state-query
{
"enum": [
"open",
"closed",
"dismissed",
"fixed"
],
"type": "string",
"description": "State of a code scanning alert."
}
code-scanning-analysis
{
"type": "object",
"required": [
"ref",
"commit_sha",
"analysis_key",
"environment",
"error",
"created_at",
"results_count",
"rules_count",
"id",
"url",
"sarif_id",
"tool",
"deletable",
"warning"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier for this analysis."
},
"ref": {
"$ref": "#/components/schemas/code-scanning-ref"
},
"url": {
"$ref": "#/components/schemas/code-scanning-analysis-url"
},
"tool": {
"$ref": "#/components/schemas/code-scanning-analysis-tool"
},
"error": {
"type": "string",
"example": "error reading field xyz"
},
"warning": {
"type": "string",
"example": "123 results were ignored",
"description": "Warning generated when processing the analysis"
},
"category": {
"$ref": "#/components/schemas/code-scanning-analysis-category"
},
"sarif_id": {
"$ref": "#/components/schemas/code-scanning-analysis-sarif-id"
},
"deletable": {
"type": "boolean"
},
"commit_sha": {
"$ref": "#/components/schemas/code-scanning-analysis-commit-sha"
},
"created_at": {
"$ref": "#/components/schemas/code-scanning-analysis-created-at"
},
"environment": {
"$ref": "#/components/schemas/code-scanning-analysis-environment"
},
"rules_count": {
"type": "integer",
"description": "The total number of rules used in the analysis."
},
"analysis_key": {
"$ref": "#/components/schemas/code-scanning-analysis-analysis-key"
},
"results_count": {
"type": "integer",
"description": "The total number of results in the analysis."
}
}
}
code-scanning-analysis-analysis-key
{
"type": "string",
"description": "Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name."
}
code-scanning-analysis-category
{
"type": "string",
"description": "Identifies the configuration under which the analysis was executed. Used to distinguish between multiple analyses for the same tool and commit, but performed on different languages or different parts of the code."
}
code-scanning-analysis-commit-sha
{
"type": "string",
"pattern": "^[0-9a-fA-F]+$",
"maxLength": 40,
"minLength": 40,
"description": "The SHA of the commit to which the analysis you are uploading relates."
}
code-scanning-analysis-created-at
{
"type": "string",
"format": "date-time",
"readOnly": true,
"description": "The time that the analysis was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`."
}
code-scanning-analysis-deletion
{
"type": "object",
"title": "Analysis deletion",
"required": [
"next_analysis_url",
"confirm_delete_url"
],
"properties": {
"next_analysis_url": {
"type": "string",
"format": "uri",
"nullable": true,
"readOnly": true,
"description": "Next deletable analysis in chain, without last analysis deletion confirmation"
},
"confirm_delete_url": {
"type": "string",
"format": "uri",
"nullable": true,
"readOnly": true,
"description": "Next deletable analysis in chain, with last analysis deletion confirmation"
}
},
"description": "Successful deletion of a code scanning analysis"
}
code-scanning-analysis-environment
{
"type": "string",
"description": "Identifies the variable values associated with the environment in which this analysis was performed."
}
code-scanning-analysis-sarif-file
{
"type": "string",
"description": "A Base64 string representing the SARIF file to upload. You must first compress your SARIF file using [`gzip`](http://www.gnu.org/software/gzip/manual/gzip.html) and then translate the contents of the file into a Base64 encoding string. For more information, see \"[SARIF support for code scanning](https://docs.github.com/code-security/secure-coding/sarif-support-for-code-scanning).\""
}
code-scanning-analysis-sarif-id
{
"type": "string",
"example": "6c81cd8e-b078-4ac3-a3be-1dad7dbd0b53",
"description": "An identifier for the upload."
}
code-scanning-analysis-tool
{
"type": "object",
"properties": {
"guid": {
"$ref": "#/components/schemas/code-scanning-analysis-tool-guid"
},
"name": {
"$ref": "#/components/schemas/code-scanning-analysis-tool-name"
},
"version": {
"$ref": "#/components/schemas/code-scanning-analysis-tool-version"
}
}
}
code-scanning-analysis-tool-guid
{
"type": "string",
"nullable": true,
"description": "The GUID of the tool used to generate the code scanning analysis, if provided in the uploaded SARIF data."
}
code-scanning-analysis-tool-name
{
"type": "string",
"description": "The name of the tool used to generate the code scanning analysis."
}
code-scanning-analysis-tool-version
{
"type": "string",
"nullable": true,
"description": "The version of the tool used to generate the code scanning analysis."
}
code-scanning-analysis-url
{
"type": "string",
"format": "uri",
"readOnly": true,
"description": "The REST API URL of the analysis resource."
}
code-scanning-autofix
{
"type": "object",
"required": [
"status",
"description",
"started_at"
],
"properties": {
"status": {
"$ref": "#/components/schemas/code-scanning-autofix-status"
},
"started_at": {
"$ref": "#/components/schemas/code-scanning-autofix-started-at"
},
"description": {
"$ref": "#/components/schemas/code-scanning-autofix-description"
}
}
}
code-scanning-autofix-commits
{
"type": "object",
"nullable": true,
"properties": {
"message": {
"type": "string",
"description": "Commit message to be used."
},
"target_ref": {
"type": "string",
"description": "The Git reference of target branch for the commit. Branch needs to already exist. For more information, see \"[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)\" in the Git documentation."
}
},
"description": "Commit an autofix for a code scanning alert"
}
code-scanning-autofix-commits-response
{
"type": "object",
"properties": {
"sha": {
"type": "string",
"description": "SHA of commit with autofix."
},
"target_ref": {
"type": "string",
"description": "The Git reference of target branch for the commit. For more information, see \"[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)\" in the Git documentation."
}
}
}
code-scanning-autofix-description
{
"type": "string",
"nullable": true,
"description": "The description of an autofix."
}
code-scanning-autofix-started-at
{
"type": "string",
"format": "date-time",
"readOnly": true,
"description": "The start time of an autofix in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`."
}
code-scanning-autofix-status
{
"enum": [
"pending",
"error",
"success",
"outdated"
],
"type": "string",
"description": "The status of an autofix."
}
code-scanning-codeql-database
{
"type": "object",
"title": "CodeQL Database",
"required": [
"id",
"name",
"language",
"uploader",
"content_type",
"size",
"created_at",
"updated_at",
"url"
],
"properties": {
"id": {
"type": "integer",
"description": "The ID of the CodeQL database."
},
"url": {
"type": "string",
"format": "uri",
"description": "The URL at which to download the CodeQL database. The `Accept` header must be set to the value of the `content_type` property."
},
"name": {
"type": "string",
"description": "The name of the CodeQL database."
},
"size": {
"type": "integer",
"description": "The size of the CodeQL database file in bytes."
},
"language": {
"type": "string",
"description": "The language of the CodeQL database."
},
"uploader": {
"$ref": "#/components/schemas/simple-user"
},
"commit_oid": {
"type": "string",
"nullable": true,
"description": "The commit SHA of the repository at the time the CodeQL database was created."
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "The date and time at which the CodeQL database was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ."
},
"updated_at": {
"type": "string",
"format": "date-time",
"description": "The date and time at which the CodeQL database was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ."
},
"content_type": {
"type": "string",
"description": "The MIME type of the CodeQL database file."
}
},
"description": "A CodeQL database."
}
code-scanning-default-setup
{
"type": "object",
"properties": {
"state": {
"enum": [
"configured",
"not-configured"
],
"type": "string",
"description": "Code scanning default setup has been configured or not."
},
"schedule": {
"enum": [
"weekly"
],
"type": "string",
"nullable": true,
"description": "The frequency of the periodic analysis."
},
"languages": {
"type": "array",
"items": {
"enum": [
"actions",
"c-cpp",
"csharp",
"go",
"java-kotlin",
"javascript-typescript",
"javascript",
"python",
"ruby",
"typescript",
"swift"
],
"type": "string"
},
"description": "Languages to be analyzed."
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2023-12-06T14:20:20.000Z",
"nullable": true,
"description": "Timestamp of latest configuration update."
},
"query_suite": {
"enum": [
"default",
"extended"
],
"type": "string",
"description": "CodeQL query suite to be used."
},
"runner_type": {
"enum": [
"standard",
"labeled"
],
"type": "string",
"nullable": true,
"description": "Runner type to be used."
},
"runner_label": {
"type": "string",
"example": "code-scanning",
"nullable": true,
"description": "Runner label to be used if the runner type is labeled."
},
"threat_model": {
"enum": [
"remote",
"remote_and_local"
],
"type": "string",
"description": "Threat model to be used for code scanning analysis. Use `remote` to analyze only network sources and `remote_and_local` to include local sources like filesystem access, command-line arguments, database reads, environment variable and standard input."
}
},
"description": "Configuration for code scanning default setup.",
"x-github-breaking-changes": [
{
"patch": {
"properties": {
"languages": {
"items": {
"enum": [
"actions",
"c-cpp",
"csharp",
"go",
"java-kotlin",
"javascript-typescript",
"python",
"ruby",
"swift"
]
}
}
}
},
"version": "2026-03-10",
"changeset": "remove_single_js_ts"
}
]
}
code-scanning-default-setup-options
{
"type": "object",
"nullable": true,
"properties": {
"runner_type": {
"enum": [
"standard",
"labeled",
"not_set"
],
"type": "string",
"description": "Whether to use labeled runners or standard GitHub runners."
},
"runner_label": {
"type": "string",
"nullable": true,
"description": "The label of the runner to use for code scanning default setup when runner_type is 'labeled'."
}
},
"description": "Feature options for code scanning default setup"
}
code-scanning-default-setup-update
{
"type": "object",
"properties": {
"state": {
"enum": [
"configured",
"not-configured"
],
"type": "string",
"description": "The desired state of code scanning default setup."
},
"languages": {
"type": "array",
"items": {
"enum": [
"actions",
"c-cpp",
"csharp",
"go",
"java-kotlin",
"javascript-typescript",
"python",
"ruby",
"swift"
],
"type": "string"
},
"description": "CodeQL languages to be analyzed."
},
"query_suite": {
"enum": [
"default",
"extended"
],
"type": "string",
"description": "CodeQL query suite to be used."
},
"runner_type": {
"enum": [
"standard",
"labeled"
],
"type": "string",
"description": "Runner type to be used."
},
"runner_label": {
"type": "string",
"example": "code-scanning",
"nullable": true,
"description": "Runner label to be used if the runner type is labeled."
},
"threat_model": {
"enum": [
"remote",
"remote_and_local"
],
"type": "string",
"description": "Threat model to be used for code scanning analysis. Use `remote` to analyze only network sources and `remote_and_local` to include local sources like filesystem access, command-line arguments, database reads, environment variable and standard input."
}
},
"description": "Configuration for code scanning default setup.",
"additionalProperties": false
}
code-scanning-default-setup-update-response
{
"type": "object",
"properties": {
"run_id": {
"type": "integer",
"description": "ID of the corresponding run."
},
"run_url": {
"type": "string",
"description": "URL of the corresponding run."
}
},
"description": "You can use `run_url` to track the status of the run. This includes a property status and conclusion.\nYou should not rely on this always being an actions workflow run object."
}
code-scanning-options
{
"type": "object",
"nullable": true,
"properties": {
"allow_advanced": {
"type": "boolean",
"nullable": true,
"description": "Whether to allow repos which use advanced setup"
}
},
"description": "Security Configuration feature options for code scanning"
}
code-scanning-organization-alert-items
{
"type": "object",
"required": [
"number",
"created_at",
"url",
"html_url",
"instances_url",
"state",
"dismissed_by",
"dismissed_at",
"dismissed_reason",
"rule",
"tool",
"most_recent_instance",
"repository"
],
"properties": {
"url": {
"$ref": "#/components/schemas/alert-url"
},
"rule": {
"$ref": "#/components/schemas/code-scanning-alert-rule-summary"
},
"tool": {
"$ref": "#/components/schemas/code-scanning-analysis-tool"
},
"state": {
"$ref": "#/components/schemas/code-scanning-alert-state"
},
"number": {
"$ref": "#/components/schemas/alert-number"
},
"fixed_at": {
"$ref": "#/components/schemas/alert-fixed-at"
},
"html_url": {
"$ref": "#/components/schemas/alert-html-url"
},
"assignees": {
"type": "array",
"items": {
"$ref": "#/components/schemas/simple-user"
}
},
"created_at": {
"$ref": "#/components/schemas/alert-created-at"
},
"repository": {
"$ref": "#/components/schemas/simple-repository"
},
"updated_at": {
"$ref": "#/components/schemas/alert-updated-at"
},
"dismissed_at": {
"$ref": "#/components/schemas/alert-dismissed-at"
},
"dismissed_by": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"instances_url": {
"$ref": "#/components/schemas/alert-instances-url"
},
"dismissed_reason": {
"$ref": "#/components/schemas/code-scanning-alert-dismissed-reason"
},
"dismissed_comment": {
"$ref": "#/components/schemas/code-scanning-alert-dismissed-comment"
},
"most_recent_instance": {
"$ref": "#/components/schemas/code-scanning-alert-instance"
},
"dismissal_approved_by": {
"$ref": "#/components/schemas/nullable-simple-user"
}
}
}
code-scanning-ref
{
"type": "string",
"description": "The Git reference, formatted as `refs/pull/<number>/merge`, `refs/pull/<number>/head`,\n`refs/heads/<branch name>` or simply `<branch name>`."
}
code-scanning-ref-full
{
"type": "string",
"example": "refs/heads/main",
"pattern": "^refs/(heads|tags|pull)/.*$",
"description": "The full Git reference, formatted as `refs/heads/<branch name>`,\n`refs/tags/<tag>`, `refs/pull/<number>/merge`, or `refs/pull/<number>/head`."
}
code-scanning-sarifs-receipt
{
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/code-scanning-analysis-sarif-id"
},
"url": {
"type": "string",
"format": "uri",
"readOnly": true,
"description": "The REST API URL for checking the status of the upload."
}
}
}
code-scanning-sarifs-status
{
"type": "object",
"properties": {
"errors": {
"type": "array",
"items": {
"type": "string"
},
"nullable": true,
"readOnly": true,
"description": "Any errors that ocurred during processing of the delivery."
},
"analyses_url": {
"type": "string",
"format": "uri",
"nullable": true,
"readOnly": true,
"description": "The REST API URL for getting the analyses associated with the upload."
},
"processing_status": {
"enum": [
"pending",
"complete",
"failed"
],
"type": "string",
"description": "`pending` files have not yet been processed, while `complete` means results from the SARIF have been stored. `failed` files have either not been processed at all, or could only be partially processed."
}
}
}
code-scanning-variant-analysis
{
"type": "object",
"title": "Variant Analysis",
"required": [
"id",
"controller_repo",
"actor",
"query_language",
"query_pack_url",
"status"
],
"properties": {
"id": {
"type": "integer",
"description": "The ID of the variant analysis."
},
"actor": {
"$ref": "#/components/schemas/simple-user"
},
"status": {
"enum": [
"in_progress",
"succeeded",
"failed",
"cancelled"
],
"type": "string"
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "The date and time at which the variant analysis was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ."
},
"updated_at": {
"type": "string",
"format": "date-time",
"description": "The date and time at which the variant analysis was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ."
},
"completed_at": {
"type": "string",
"format": "date-time",
"nullable": true,
"description": "The date and time at which the variant analysis was completed, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. Will be null if the variant analysis has not yet completed or this information is not available."
},
"failure_reason": {
"enum": [
"no_repos_queried",
"actions_workflow_run_failed",
"internal_error"
],
"type": "string",
"description": "The reason for a failure of the variant analysis. This is only available if the variant analysis has failed."
},
"query_language": {
"$ref": "#/components/schemas/code-scanning-variant-analysis-language"
},
"query_pack_url": {
"type": "string",
"description": "The download url for the query pack."
},
"controller_repo": {
"$ref": "#/components/schemas/simple-repository"
},
"scanned_repositories": {
"type": "array",
"items": {
"type": "object",
"required": [
"repository",
"analysis_status"
],
"properties": {
"repository": {
"$ref": "#/components/schemas/code-scanning-variant-analysis-repository"
},
"result_count": {
"type": "integer",
"description": "The number of results in the case of a successful analysis. This is only available for successful analyses."
},
"analysis_status": {
"$ref": "#/components/schemas/code-scanning-variant-analysis-status"
},
"failure_message": {
"type": "string",
"description": "The reason of the failure of this repo task. This is only available if the repository task has failed."
},
"artifact_size_in_bytes": {
"type": "integer",
"description": "The size of the artifact. This is only available for successful analyses."
}
}
}
},
"skipped_repositories": {
"type": "object",
"required": [
"access_mismatch_repos",
"not_found_repos",
"no_codeql_db_repos",
"over_limit_repos"
],
"properties": {
"not_found_repos": {
"type": "object",
"required": [
"repository_count",
"repository_full_names"
],
"properties": {
"repository_count": {
"type": "integer",
"example": 2,
"description": "The total number of repositories that were skipped for this reason."
},
"repository_full_names": {
"type": "array",
"items": {
"type": "string"
},
"description": "A list of full repository names that were skipped. This list may not include all repositories that were skipped."
}
}
},
"over_limit_repos": {
"$ref": "#/components/schemas/code-scanning-variant-analysis-skipped-repo-group"
},
"no_codeql_db_repos": {
"$ref": "#/components/schemas/code-scanning-variant-analysis-skipped-repo-group"
},
"access_mismatch_repos": {
"$ref": "#/components/schemas/code-scanning-variant-analysis-skipped-repo-group"
}
},
"description": "Information about repositories that were skipped from processing. This information is only available to the user that initiated the variant analysis."
},
"actions_workflow_run_id": {
"type": "integer",
"description": "The GitHub Actions workflow run used to execute this variant analysis. This is only available if the workflow run has started."
}
},
"description": "A run of a CodeQL query against one or more repositories."
}
code-scanning-variant-analysis-language
{
"enum": [
"actions",
"cpp",
"csharp",
"go",
"java",
"javascript",
"python",
"ruby",
"rust",
"swift"
],
"type": "string",
"description": "The language targeted by the CodeQL query"
}
code-scanning-variant-analysis-repo-task
{
"type": "object",
"required": [
"repository",
"analysis_status"
],
"properties": {
"repository": {
"$ref": "#/components/schemas/simple-repository"
},
"artifact_url": {
"type": "string",
"description": "The URL of the artifact. This is only available for successful analyses."
},
"result_count": {
"type": "integer",
"description": "The number of results in the case of a successful analysis. This is only available for successful analyses."
},
"analysis_status": {
"$ref": "#/components/schemas/code-scanning-variant-analysis-status"
},
"failure_message": {
"type": "string",
"description": "The reason of the failure of this repo task. This is only available if the repository task has failed."
},
"database_commit_sha": {
"type": "string",
"description": "The SHA of the commit the CodeQL database was built against. This is only available for successful analyses."
},
"artifact_size_in_bytes": {
"type": "integer",
"description": "The size of the artifact. This is only available for successful analyses."
},
"source_location_prefix": {
"type": "string",
"description": "The source location prefix to use. This is only available for successful analyses."
}
}
}
code-scanning-variant-analysis-repository
{
"type": "object",
"title": "Repository Identifier",
"required": [
"full_name",
"id",
"name",
"private",
"stargazers_count",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"example": 1296269,
"description": "A unique identifier of the repository."
},
"name": {
"type": "string",
"example": "Hello-World",
"description": "The name of the repository."
},
"private": {
"type": "boolean",
"description": "Whether the repository is private."
},
"full_name": {
"type": "string",
"example": "octocat/Hello-World",
"description": "The full, globally unique, name of the repository."
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2011-01-26T19:14:43Z",
"nullable": true
},
"stargazers_count": {
"type": "integer",
"example": 80
}
},
"description": "Repository Identifier"
}
code-scanning-variant-analysis-skipped-repo-group
{
"type": "object",
"required": [
"repository_count",
"repositories"
],
"properties": {
"repositories": {
"type": "array",
"items": {
"$ref": "#/components/schemas/code-scanning-variant-analysis-repository"
},
"description": "A list of repositories that were skipped. This list may not include all repositories that were skipped. This is only available when the repository was found and the user has access to it."
},
"repository_count": {
"type": "integer",
"example": 2,
"description": "The total number of repositories that were skipped for this reason."
}
}
}
code-scanning-variant-analysis-status
{
"enum": [
"pending",
"in_progress",
"succeeded",
"failed",
"canceled",
"timed_out"
],
"type": "string",
"description": "The new status of the CodeQL variant analysis repository task."
}
code-search-result-item
{
"type": "object",
"title": "Code Search Result Item",
"required": [
"score",
"name",
"path",
"sha",
"git_url",
"html_url",
"url",
"repository"
],
"properties": {
"sha": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"path": {
"type": "string"
},
"score": {
"type": "number"
},
"git_url": {
"type": "string",
"format": "uri"
},
"html_url": {
"type": "string",
"format": "uri"
},
"language": {
"type": "string",
"nullable": true
},
"file_size": {
"type": "integer"
},
"repository": {
"$ref": "#/components/schemas/minimal-repository"
},
"line_numbers": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"73..77",
"77..78"
]
},
"text_matches": {
"$ref": "#/components/schemas/search-result-text-matches"
},
"last_modified_at": {
"type": "string",
"format": "date-time"
}
},
"description": "Code Search Result Item"
}
code-security-configuration
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "The ID of the code security configuration"
},
"url": {
"type": "string",
"format": "uri",
"description": "The URL of the configuration"
},
"name": {
"type": "string",
"description": "The name of the code security configuration. Must be unique within the organization."
},
"html_url": {
"type": "string",
"format": "uri",
"description": "The URL of the configuration"
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string",
"description": "A description of the code security configuration"
},
"enforcement": {
"enum": [
"enforced",
"unenforced"
],
"type": "string",
"description": "The enforcement status for a security configuration"
},
"target_type": {
"enum": [
"global",
"organization",
"enterprise"
],
"type": "string",
"description": "The type of the code security configuration."
},
"secret_scanning": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"description": "The enablement status of secret scanning"
},
"dependency_graph": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"description": "The enablement status of Dependency Graph"
},
"advanced_security": {
"enum": [
"enabled",
"disabled",
"code_security",
"secret_protection"
],
"type": "string",
"description": "The enablement status of GitHub Advanced Security"
},
"dependabot_alerts": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"description": "The enablement status of Dependabot alerts"
},
"code_scanning_options": {
"type": "object",
"nullable": true,
"properties": {
"allow_advanced": {
"type": "boolean",
"nullable": true,
"description": "Whether to allow repos which use advanced setup"
}
},
"description": "Feature options for code scanning"
},
"code_scanning_default_setup": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"description": "The enablement status of code scanning default setup"
},
"dependabot_security_updates": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"description": "The enablement status of Dependabot security updates"
},
"private_vulnerability_reporting": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"description": "The enablement status of private vulnerability reporting"
},
"secret_scanning_generic_secrets": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"description": "The enablement status of Copilot secret scanning"
},
"secret_scanning_push_protection": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"description": "The enablement status of secret scanning push protection"
},
"secret_scanning_validity_checks": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"description": "The enablement status of secret scanning validity checks"
},
"secret_scanning_delegated_bypass": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"description": "The enablement status of secret scanning delegated bypass"
},
"secret_scanning_extended_metadata": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"description": "The enablement status of secret scanning extended metadata"
},
"dependency_graph_autosubmit_action": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"description": "The enablement status of Automatic dependency submission"
},
"code_scanning_default_setup_options": {
"type": "object",
"nullable": true,
"properties": {
"runner_type": {
"enum": [
"standard",
"labeled",
"not_set"
],
"type": "string",
"nullable": true,
"description": "Whether to use labeled runners or standard GitHub runners."
},
"runner_label": {
"type": "string",
"nullable": true,
"description": "The label of the runner to use for code scanning when runner_type is 'labeled'."
}
},
"description": "Feature options for code scanning default setup"
},
"dependabot_delegated_alert_dismissal": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"nullable": true,
"description": "The enablement status of Dependabot delegated alert dismissal"
},
"secret_scanning_non_provider_patterns": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"description": "The enablement status of secret scanning non-provider patterns"
},
"code_scanning_delegated_alert_dismissal": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"description": "The enablement status of code scanning delegated alert dismissal"
},
"secret_scanning_delegated_bypass_options": {
"type": "object",
"properties": {
"reviewers": {
"type": "array",
"items": {
"type": "object",
"required": [
"reviewer_id",
"reviewer_type"
],
"properties": {
"mode": {
"enum": [
"ALWAYS",
"EXEMPT"
],
"type": "string",
"default": "ALWAYS",
"description": "The bypass mode for the reviewer"
},
"reviewer_id": {
"type": "integer",
"description": "The ID of the team or role selected as a bypass reviewer"
},
"reviewer_type": {
"enum": [
"TEAM",
"ROLE"
],
"type": "string",
"description": "The type of the bypass reviewer"
},
"security_configuration_id": {
"type": "integer",
"description": "The ID of the security configuration associated with this bypass reviewer"
}
}
},
"description": "The bypass reviewers for secret scanning delegated bypass"
}
},
"description": "Feature options for secret scanning delegated bypass"
},
"secret_scanning_delegated_alert_dismissal": {
"enum": [
"enabled",
"disabled",
"not_set"
],
"type": "string",
"description": "The enablement status of secret scanning delegated alert dismissal"
},
"dependency_graph_autosubmit_action_options": {
"type": "object",
"properties": {
"labeled_runners": {
"type": "boolean",
"description": "Whether to use runners labeled with 'dependency-submission' or standard GitHub runners."
}
},
"description": "Feature options for Automatic dependency submission"
}
},
"description": "A code security configuration"
}
code-security-configuration-for-repository
{
"type": "object",
"properties": {
"status": {
"enum": [
"attached",
"attaching",
"detached",
"removed",
"enforced",
"failed",
"updating",
"removed_by_enterprise"
],
"type": "string",
"description": "The attachment status of the code security configuration on the repository."
},
"configuration": {
"$ref": "#/components/schemas/code-security-configuration"
}
},
"description": "Code security configuration associated with a repository and attachment status"
}
code-security-configuration-repositories
{
"type": "object",
"properties": {
"status": {
"enum": [
"attached",
"attaching",
"detached",
"removed",
"enforced",
"failed",
"updating",
"removed_by_enterprise"
],
"type": "string",
"description": "The attachment status of the code security configuration on the repository."
},
"repository": {
"$ref": "#/components/schemas/simple-repository"
}
},
"description": "Repositories associated with a code security configuration and attachment status"
}
code-security-default-configurations
{
"type": "array",
"items": {
"type": "object",
"properties": {
"configuration": {
"$ref": "#/components/schemas/code-security-configuration"
},
"default_for_new_repos": {
"enum": [
"public",
"private_and_internal",
"all"
],
"description": "The visibility of newly created repositories for which the code security configuration will be applied to by default"
}
}
},
"description": "A list of default code security configurations"
}
codeowners-errors
{
"type": "object",
"title": "CODEOWNERS errors",
"required": [
"errors"
],
"properties": {
"errors": {
"type": "array",
"items": {
"type": "object",
"required": [
"line",
"column",
"kind",
"message",
"path"
],
"properties": {
"kind": {
"type": "string",
"example": "Invalid owner",
"description": "The type of error."
},
"line": {
"type": "integer",
"example": 7,
"description": "The line number where this errors occurs."
},
"path": {
"type": "string",
"example": ".github/CODEOWNERS",
"description": "The path of the file where the error occured."
},
"column": {
"type": "integer",
"example": 3,
"description": "The column number where this errors occurs."
},
"source": {
"type": "string",
"example": "* user",
"description": "The contents of the line where the error occurs."
},
"message": {
"type": "string",
"example": "Invalid owner on line 7:\n\n * user\n ^",
"description": "A human-readable description of the error, combining information from multiple fields, laid out for display in a monospaced typeface (for example, a command-line setting)."
},
"suggestion": {
"type": "string",
"example": "The pattern `/` will never match anything, did you mean `*` instead?",
"nullable": true,
"description": "Suggested action to fix the error. This will usually be `null`, but is provided for some common errors."
}
}
}
}
},
"description": "A list of errors found in a repo's CODEOWNERS file"
}
codespace
{
"type": "object",
"title": "Codespace",
"required": [
"id",
"name",
"environment_id",
"owner",
"billable_owner",
"repository",
"machine",
"prebuild",
"created_at",
"updated_at",
"last_used_at",
"state",
"url",
"git_status",
"location",
"idle_timeout_minutes",
"web_url",
"machines_url",
"start_url",
"stop_url",
"pulls_url",
"recent_folders"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 1
},
"url": {
"type": "string",
"format": "uri",
"description": "API URL for this codespace."
},
"name": {
"type": "string",
"example": "monalisa-octocat-hello-world-g4wpq6h95q",
"description": "Automatically generated name of this codespace."
},
"owner": {
"$ref": "#/components/schemas/simple-user"
},
"state": {
"enum": [
"Unknown",
"Created",
"Queued",
"Provisioning",
"Available",
"Awaiting",
"Unavailable",
"Deleted",
"Moved",
"Shutdown",
"Archived",
"Starting",
"ShuttingDown",
"Failed",
"Exporting",
"Updating",
"Rebuilding"
],
"type": "string",
"example": "Available",
"description": "State of this codespace."
},
"machine": {
"$ref": "#/components/schemas/nullable-codespace-machine"
},
"web_url": {
"type": "string",
"format": "uri",
"description": "URL to access this codespace on the web."
},
"location": {
"enum": [
"EastUs",
"SouthEastAsia",
"WestEurope",
"WestUs2"
],
"type": "string",
"example": "WestUs2",
"description": "The initally assigned location of a new codespace."
},
"prebuild": {
"type": "boolean",
"example": false,
"nullable": true,
"description": "Whether the codespace was created from a prebuild."
},
"stop_url": {
"type": "string",
"format": "uri",
"description": "API URL to stop this codespace."
},
"pulls_url": {
"type": "string",
"format": "uri",
"nullable": true,
"description": "API URL for the Pull Request associated with this codespace, if any."
},
"start_url": {
"type": "string",
"format": "uri",
"description": "API URL to start this codespace."
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2011-01-26T19:01:12Z"
},
"git_status": {
"type": "object",
"properties": {
"ref": {
"type": "string",
"example": "main",
"description": "The current branch (or SHA if in detached HEAD state) of the local repository."
},
"ahead": {
"type": "integer",
"example": 0,
"description": "The number of commits the local repository is ahead of the remote."
},
"behind": {
"type": "integer",
"example": 0,
"description": "The number of commits the local repository is behind the remote."
},
"has_unpushed_changes": {
"type": "boolean",
"description": "Whether the local repository has unpushed changes."
},
"has_uncommitted_changes": {
"type": "boolean",
"description": "Whether the local repository has uncommitted changes."
}
},
"description": "Details about the codespace's git repository."
},
"repository": {
"$ref": "#/components/schemas/minimal-repository"
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2011-01-26T19:01:12Z"
},
"publish_url": {
"type": "string",
"format": "uri",
"nullable": true,
"description": "API URL to publish this codespace to a new repository."
},
"display_name": {
"type": "string",
"example": "bookish space pancake",
"nullable": true,
"description": "Display name for this codespace."
},
"last_used_at": {
"type": "string",
"format": "date-time",
"example": "2011-01-26T19:01:12Z",
"description": "Last known time this codespace was started."
},
"machines_url": {
"type": "string",
"format": "uri",
"description": "API URL to access available alternate machine types for this codespace."
},
"billable_owner": {
"$ref": "#/components/schemas/simple-user"
},
"environment_id": {
"type": "string",
"example": "26a7c758-7299-4a73-b978-5a92a7ae98a0",
"nullable": true,
"description": "UUID identifying this codespace's environment."
},
"recent_folders": {
"type": "array",
"items": {
"type": "string"
}
},
"devcontainer_path": {
"type": "string",
"example": ".devcontainer/example/devcontainer.json",
"nullable": true,
"description": "Path to devcontainer.json from repo root used to create Codespace."
},
"pending_operation": {
"type": "boolean",
"nullable": true,
"description": "Whether or not a codespace has a pending async operation. This would mean that the codespace is temporarily unavailable. The only thing that you can do with a codespace in this state is delete it."
},
"idle_timeout_notice": {
"type": "string",
"nullable": true,
"description": "Text to show user when codespace idle timeout minutes has been overriden by an organization policy"
},
"runtime_constraints": {
"type": "object",
"properties": {
"allowed_port_privacy_settings": {
"type": "array",
"items": {
"type": "string"
},
"nullable": true,
"description": "The privacy settings a user can select from when forwarding a port."
}
}
},
"idle_timeout_minutes": {
"type": "integer",
"example": 60,
"nullable": true,
"description": "The number of minutes of inactivity after which this codespace will be automatically stopped."
},
"retention_expires_at": {
"type": "string",
"format": "date-time",
"example": "2011-01-26T20:01:12Z",
"nullable": true,
"description": "When a codespace will be auto-deleted based on the \"retention_period_minutes\" and \"last_used_at\""
},
"last_known_stop_notice": {
"type": "string",
"example": "you've used 100% of your spending limit for Codespaces",
"nullable": true,
"description": "The text to display to a user when a codespace has been stopped for a potentially actionable reason."
},
"retention_period_minutes": {
"type": "integer",
"example": 60,
"nullable": true,
"description": "Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days)."
},
"pending_operation_disabled_reason": {
"type": "string",
"nullable": true,
"description": "Text to show user when codespace is disabled by a pending operation"
}
},
"description": "A codespace."
}
codespace-export-details
{
"type": "object",
"title": "Fetches information about an export of a codespace.",
"properties": {
"id": {
"type": "string",
"example": "latest",
"description": "Id for the export details"
},
"sha": {
"type": "string",
"example": "fd95a81ca01e48ede9f39c799ecbcef817b8a3b2",
"nullable": true,
"description": "Git commit SHA of the exported branch"
},
"state": {
"type": "string",
"example": "succeeded | failed | in_progress",
"nullable": true,
"description": "State of the latest export"
},
"branch": {
"type": "string",
"example": "codespace-monalisa-octocat-hello-world-g4wpq6h95q",
"nullable": true,
"description": "Name of the exported branch"
},
"html_url": {
"type": "string",
"example": "https://github.com/octocat/hello-world/tree/:branch",
"nullable": true,
"description": "Web url for the exported branch"
},
"export_url": {
"type": "string",
"example": "https://api.github.com/user/codespaces/:name/exports/latest",
"description": "Url for fetching export details"
},
"completed_at": {
"type": "string",
"format": "date-time",
"example": "2021-01-01T19:01:12Z",
"nullable": true,
"description": "Completion time of the last export operation"
}
},
"description": "An export of a codespace. Also, latest export details for a codespace can be fetched with id = latest"
}
codespace-machine
{
"type": "object",
"title": "Codespace machine",
"required": [
"name",
"display_name",
"operating_system",
"storage_in_bytes",
"memory_in_bytes",
"cpus",
"prebuild_availability"
],
"properties": {
"cpus": {
"type": "integer",
"example": 4,
"description": "How many cores are available to the codespace."
},
"name": {
"type": "string",
"example": "standardLinux",
"description": "The name of the machine."
},
"display_name": {
"type": "string",
"example": "4 cores, 16 GB RAM, 64 GB storage",
"description": "The display name of the machine includes cores, memory, and storage."
},
"memory_in_bytes": {
"type": "integer",
"example": 17179869184,
"description": "How much memory is available to the codespace."
},
"operating_system": {
"type": "string",
"example": "linux",
"description": "The operating system of the machine."
},
"storage_in_bytes": {
"type": "integer",
"example": 68719476736,
"description": "How much storage is available to the codespace."
},
"prebuild_availability": {
"enum": [
"none",
"ready",
"in_progress"
],
"type": "string",
"example": "ready",
"nullable": true,
"description": "Whether a prebuild is currently available when creating a codespace for this machine and repository. If a branch was not specified as a ref, the default branch will be assumed. Value will be \"null\" if prebuilds are not supported or prebuild availability could not be determined. Value will be \"none\" if no prebuild is available. Latest values \"ready\" and \"in_progress\" indicate the prebuild availability status."
}
},
"description": "A description of the machine powering a codespace."
}
codespace-with-full-repository
{
"type": "object",
"title": "Codespace",
"required": [
"id",
"name",
"environment_id",
"owner",
"billable_owner",
"repository",
"machine",
"prebuild",
"created_at",
"updated_at",
"last_used_at",
"state",
"url",
"git_status",
"location",
"idle_timeout_minutes",
"web_url",
"machines_url",
"start_url",
"stop_url",
"pulls_url",
"recent_folders"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 1
},
"url": {
"type": "string",
"format": "uri",
"description": "API URL for this codespace."
},
"name": {
"type": "string",
"example": "monalisa-octocat-hello-world-g4wpq6h95q",
"description": "Automatically generated name of this codespace."
},
"owner": {
"$ref": "#/components/schemas/simple-user"
},
"state": {
"enum": [
"Unknown",
"Created",
"Queued",
"Provisioning",
"Available",
"Awaiting",
"Unavailable",
"Deleted",
"Moved",
"Shutdown",
"Archived",
"Starting",
"ShuttingDown",
"Failed",
"Exporting",
"Updating",
"Rebuilding"
],
"type": "string",
"example": "Available",
"description": "State of this codespace."
},
"machine": {
"$ref": "#/components/schemas/nullable-codespace-machine"
},
"web_url": {
"type": "string",
"format": "uri",
"description": "URL to access this codespace on the web."
},
"location": {
"enum": [
"EastUs",
"SouthEastAsia",
"WestEurope",
"WestUs2"
],
"type": "string",
"example": "WestUs2",
"description": "The initally assigned location of a new codespace."
},
"prebuild": {
"type": "boolean",
"example": false,
"nullable": true,
"description": "Whether the codespace was created from a prebuild."
},
"stop_url": {
"type": "string",
"format": "uri",
"description": "API URL to stop this codespace."
},
"pulls_url": {
"type": "string",
"format": "uri",
"nullable": true,
"description": "API URL for the Pull Request associated with this codespace, if any."
},
"start_url": {
"type": "string",
"format": "uri",
"description": "API URL to start this codespace."
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2011-01-26T19:01:12Z"
},
"git_status": {
"type": "object",
"properties": {
"ref": {
"type": "string",
"example": "main",
"description": "The current branch (or SHA if in detached HEAD state) of the local repository."
},
"ahead": {
"type": "integer",
"example": 0,
"description": "The number of commits the local repository is ahead of the remote."
},
"behind": {
"type": "integer",
"example": 0,
"description": "The number of commits the local repository is behind the remote."
},
"has_unpushed_changes": {
"type": "boolean",
"description": "Whether the local repository has unpushed changes."
},
"has_uncommitted_changes": {
"type": "boolean",
"description": "Whether the local repository has uncommitted changes."
}
},
"description": "Details about the codespace's git repository."
},
"repository": {
"$ref": "#/components/schemas/full-repository"
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2011-01-26T19:01:12Z"
},
"publish_url": {
"type": "string",
"format": "uri",
"nullable": true,
"description": "API URL to publish this codespace to a new repository."
},
"display_name": {
"type": "string",
"example": "bookish space pancake",
"nullable": true,
"description": "Display name for this codespace."
},
"last_used_at": {
"type": "string",
"format": "date-time",
"example": "2011-01-26T19:01:12Z",
"description": "Last known time this codespace was started."
},
"machines_url": {
"type": "string",
"format": "uri",
"description": "API URL to access available alternate machine types for this codespace."
},
"billable_owner": {
"$ref": "#/components/schemas/simple-user"
},
"environment_id": {
"type": "string",
"example": "26a7c758-7299-4a73-b978-5a92a7ae98a0",
"nullable": true,
"description": "UUID identifying this codespace's environment."
},
"recent_folders": {
"type": "array",
"items": {
"type": "string"
}
},
"devcontainer_path": {
"type": "string",
"example": ".devcontainer/example/devcontainer.json",
"nullable": true,
"description": "Path to devcontainer.json from repo root used to create Codespace."
},
"pending_operation": {
"type": "boolean",
"nullable": true,
"description": "Whether or not a codespace has a pending async operation. This would mean that the codespace is temporarily unavailable. The only thing that you can do with a codespace in this state is delete it."
},
"idle_timeout_notice": {
"type": "string",
"nullable": true,
"description": "Text to show user when codespace idle timeout minutes has been overriden by an organization policy"
},
"runtime_constraints": {
"type": "object",
"properties": {
"allowed_port_privacy_settings": {
"type": "array",
"items": {
"type": "string"
},
"nullable": true,
"description": "The privacy settings a user can select from when forwarding a port."
}
}
},
"idle_timeout_minutes": {
"type": "integer",
"example": 60,
"nullable": true,
"description": "The number of minutes of inactivity after which this codespace will be automatically stopped."
},
"retention_expires_at": {
"type": "string",
"format": "date-time",
"example": "2011-01-26T20:01:12Z",
"nullable": true,
"description": "When a codespace will be auto-deleted based on the \"retention_period_minutes\" and \"last_used_at\""
},
"retention_period_minutes": {
"type": "integer",
"example": 60,
"nullable": true,
"description": "Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days)."
},
"pending_operation_disabled_reason": {
"type": "string",
"nullable": true,
"description": "Text to show user when codespace is disabled by a pending operation"
}
},
"description": "A codespace."
}
codespaces-org-secret
{
"type": "object",
"title": "Codespaces Secret",
"required": [
"name",
"created_at",
"updated_at",
"visibility"
],
"properties": {
"name": {
"type": "string",
"example": "SECRET_NAME",
"description": "The name of the secret"
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "The date and time at which the secret was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ."
},
"updated_at": {
"type": "string",
"format": "date-time",
"description": "The date and time at which the secret was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ."
},
"visibility": {
"enum": [
"all",
"private",
"selected"
],
"type": "string",
"description": "The type of repositories in the organization that the secret is visible to"
},
"selected_repositories_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/orgs/ORGANIZATION/codespaces/secrets/SECRET_NAME/repositories",
"description": "The API URL at which the list of repositories this secret is visible to can be retrieved"
}
},
"description": "Secrets for a GitHub Codespace."
}
codespaces-permissions-check-for-devcontainer
{
"type": "object",
"title": "Codespaces Permissions Check",
"required": [
"accepted"
],
"properties": {
"accepted": {
"type": "boolean",
"example": true,
"description": "Whether the user has accepted the permissions defined by the devcontainer config"
}
},
"description": "Permission check result for a given devcontainer config."
}
codespaces-public-key
{
"type": "object",
"title": "CodespacesPublicKey",
"required": [
"key_id",
"key"
],
"properties": {
"id": {
"type": "integer",
"example": 2
},
"key": {
"type": "string",
"example": "hBT5WZEj8ZoOv6TYJsfWq7MxTEQopZO5/IT3ZCVQPzs=",
"description": "The Base64 encoded public key."
},
"url": {
"type": "string",
"example": "https://api.github.com/user/keys/2"
},
"title": {
"type": "string",
"example": "ssh-rsa AAAAB3NzaC1yc2EAAA"
},
"key_id": {
"type": "string",
"example": "1234567",
"description": "The identifier for the key."
},
"created_at": {
"type": "string",
"example": "2011-01-26T19:01:12Z"
}
},
"description": "The public key used for setting Codespaces secrets."
}
codespaces-secret
{
"type": "object",
"title": "Codespaces Secret",
"required": [
"name",
"created_at",
"updated_at",
"visibility",
"selected_repositories_url"
],
"properties": {
"name": {
"type": "string",
"example": "SECRET_NAME",
"description": "The name of the secret"
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "The date and time at which the secret was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ."
},
"updated_at": {
"type": "string",
"format": "date-time",
"description": "The date and time at which the secret was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ."
},
"visibility": {
"enum": [
"all",
"private",
"selected"
],
"type": "string",
"description": "The type of repositories in the organization that the secret is visible to"
},
"selected_repositories_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/user/secrets/SECRET_NAME/repositories",
"description": "The API URL at which the list of repositories this secret is visible to can be retrieved"
}
},
"description": "Secrets for a GitHub Codespace."
}
codespaces-user-public-key
{
"type": "object",
"title": "CodespacesUserPublicKey",
"required": [
"key_id",
"key"
],
"properties": {
"key": {
"type": "string",
"example": "hBT5WZEj8ZoOv6TYJsfWq7MxTEQopZO5/IT3ZCVQPzs=",
"description": "The Base64 encoded public key."
},
"key_id": {
"type": "string",
"example": "1234567",
"description": "The identifier for the key."
}
},
"description": "The public key used for setting user Codespaces' Secrets."
}
collaborator
{
"type": "object",
"title": "Collaborator",
"required": [
"avatar_url",
"events_url",
"followers_url",
"following_url",
"gists_url",
"gravatar_id",
"html_url",
"id",
"node_id",
"login",
"organizations_url",
"received_events_url",
"repos_url",
"site_admin",
"starred_url",
"subscriptions_url",
"type",
"url",
"role_name"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 1
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/users/octocat"
},
"name": {
"type": "string",
"nullable": true
},
"type": {
"type": "string",
"example": "User"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string",
"example": "octocat"
},
"node_id": {
"type": "string",
"example": "MDQ6VXNlcjE="
},
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/octocat"
},
"gists_url": {
"type": "string",
"example": "https://api.github.com/users/octocat/gists{/gist_id}"
},
"repos_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/users/octocat/repos"
},
"role_name": {
"type": "string",
"example": "admin"
},
"avatar_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/images/error/octocat_happy.gif"
},
"events_url": {
"type": "string",
"example": "https://api.github.com/users/octocat/events{/privacy}"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string",
"example": "41d064eb2195891e12d0413f63227ea7",
"nullable": true
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"starred_url": {
"type": "string",
"example": "https://api.github.com/users/octocat/starred{/owner}{/repo}"
},
"followers_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/users/octocat/followers"
},
"following_url": {
"type": "string",
"example": "https://api.github.com/users/octocat/following{/other_user}"
},
"user_view_type": {
"type": "string",
"example": "public"
},
"organizations_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/users/octocat/orgs"
},
"subscriptions_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/users/octocat/subscriptions"
},
"received_events_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/users/octocat/received_events"
}
},
"description": "Collaborator"
}
combined-commit-status
{
"type": "object",
"title": "Combined Commit Status",
"required": [
"state",
"sha",
"total_count",
"statuses",
"repository",
"commit_url",
"url"
],
"properties": {
"sha": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"state": {
"type": "string"
},
"statuses": {
"type": "array",
"items": {
"$ref": "#/components/schemas/simple-commit-status"
}
},
"commit_url": {
"type": "string",
"format": "uri"
},
"repository": {
"$ref": "#/components/schemas/minimal-repository"
},
"total_count": {
"type": "integer"
}
},
"description": "Combined Commit Status"
}
commit
{
"type": "object",
"title": "Commit",
"required": [
"url",
"sha",
"node_id",
"html_url",
"comments_url",
"commit",
"author",
"committer",
"parents"
],
"properties": {
"sha": {
"type": "string",
"example": "6dcb09b5b57875f334f61aebed695e2e4193db5e"
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e"
},
"files": {
"type": "array",
"items": {
"$ref": "#/components/schemas/diff-entry"
}
},
"stats": {
"type": "object",
"properties": {
"total": {
"type": "integer"
},
"additions": {
"type": "integer"
},
"deletions": {
"type": "integer"
}
}
},
"author": {
"oneOf": [
{
"$ref": "#/components/schemas/simple-user"
},
{
"$ref": "#/components/schemas/empty-object"
}
],
"nullable": true
},
"commit": {
"type": "object",
"required": [
"author",
"committer",
"comment_count",
"message",
"tree",
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e"
},
"tree": {
"type": "object",
"required": [
"sha",
"url"
],
"properties": {
"sha": {
"type": "string",
"example": "827efc6d56897b048c772eb4087f854f46256132"
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/tree/827efc6d56897b048c772eb4087f854f46256132"
}
}
},
"author": {
"$ref": "#/components/schemas/nullable-git-user"
},
"message": {
"type": "string",
"example": "Fix all the bugs"
},
"committer": {
"$ref": "#/components/schemas/nullable-git-user"
},
"verification": {
"$ref": "#/components/schemas/verification"
},
"comment_count": {
"type": "integer",
"example": 0
}
}
},
"node_id": {
"type": "string",
"example": "MDY6Q29tbWl0NmRjYjA5YjViNTc4NzVmMzM0ZjYxYWViZWQ2OTVlMmU0MTkzZGI1ZQ=="
},
"parents": {
"type": "array",
"items": {
"type": "object",
"required": [
"sha",
"url"
],
"properties": {
"sha": {
"type": "string",
"example": "7638417db6d59f3c431d3e1f261cc637155684cd"
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/commits/7638417db6d59f3c431d3e1f261cc637155684cd"
},
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/octocat/Hello-World/commit/7638417db6d59f3c431d3e1f261cc637155684cd"
}
}
}
},
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/octocat/Hello-World/commit/6dcb09b5b57875f334f61aebed695e2e4193db5e"
},
"committer": {
"oneOf": [
{
"$ref": "#/components/schemas/simple-user"
},
{
"$ref": "#/components/schemas/empty-object"
}
],
"nullable": true
},
"comments_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e/comments"
}
},
"description": "Commit"
}
commit-activity
{
"type": "object",
"title": "Commit Activity",
"required": [
"days",
"total",
"week"
],
"properties": {
"days": {
"type": "array",
"items": {
"type": "integer"
},
"example": [
0,
3,
26,
20,
39,
1,
0
]
},
"week": {
"type": "integer",
"example": 1336280400
},
"total": {
"type": "integer",
"example": 89
}
},
"description": "Commit Activity"
}
commit-comment
{
"type": "object",
"title": "Commit Comment",
"required": [
"url",
"html_url",
"id",
"node_id",
"user",
"position",
"line",
"path",
"commit_id",
"body",
"author_association",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"body": {
"type": "string"
},
"line": {
"type": "integer",
"nullable": true
},
"path": {
"type": "string",
"nullable": true
},
"user": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"position": {
"type": "integer",
"nullable": true
},
"commit_id": {
"type": "string"
},
"reactions": {
"$ref": "#/components/schemas/reaction-rollup"
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"author_association": {
"$ref": "#/components/schemas/author-association"
}
},
"description": "Commit Comment"
}
commit-comment-event
{
"type": "object",
"title": "CommitCommentEvent",
"required": [
"action",
"comment"
],
"properties": {
"action": {
"type": "string"
},
"comment": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"body": {
"type": "string"
},
"line": {
"type": "integer",
"nullable": true
},
"path": {
"type": "string",
"nullable": true
},
"user": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"position": {
"type": "integer",
"nullable": true
},
"commit_id": {
"type": "string"
},
"reactions": {
"$ref": "#/components/schemas/reaction-rollup"
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
}
}
}
}
}
commit-comparison
{
"type": "object",
"title": "Commit Comparison",
"required": [
"url",
"html_url",
"permalink_url",
"diff_url",
"patch_url",
"base_commit",
"merge_base_commit",
"status",
"ahead_by",
"behind_by",
"total_commits",
"commits"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/compare/master...topic"
},
"files": {
"type": "array",
"items": {
"$ref": "#/components/schemas/diff-entry"
}
},
"status": {
"enum": [
"diverged",
"ahead",
"behind",
"identical"
],
"type": "string",
"example": "ahead"
},
"commits": {
"type": "array",
"items": {
"$ref": "#/components/schemas/commit"
}
},
"ahead_by": {
"type": "integer",
"example": 4
},
"diff_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/octocat/Hello-World/compare/master...topic.diff"
},
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/octocat/Hello-World/compare/master...topic"
},
"behind_by": {
"type": "integer",
"example": 5
},
"patch_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/octocat/Hello-World/compare/master...topic.patch"
},
"base_commit": {
"$ref": "#/components/schemas/commit"
},
"permalink_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/octocat/Hello-World/compare/octocat:bbcd538c8e72b8c175046e27cc8f907076331401...octocat:0328041d1152db8ae77652d1618a02e57f745f17"
},
"total_commits": {
"type": "integer",
"example": 6
},
"merge_base_commit": {
"$ref": "#/components/schemas/commit"
}
},
"description": "Commit Comparison"
}
commit-search-result-item
{
"type": "object",
"title": "Commit Search Result Item",
"required": [
"sha",
"node_id",
"url",
"html_url",
"author",
"committer",
"parents",
"comments_url",
"commit",
"repository",
"score"
],
"properties": {
"sha": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"score": {
"type": "number"
},
"author": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"commit": {
"type": "object",
"required": [
"author",
"committer",
"comment_count",
"message",
"tree",
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"tree": {
"type": "object",
"required": [
"sha",
"url"
],
"properties": {
"sha": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
}
}
},
"author": {
"type": "object",
"required": [
"name",
"email",
"date"
],
"properties": {
"date": {
"type": "string",
"format": "date-time"
},
"name": {
"type": "string"
},
"email": {
"type": "string"
}
}
},
"message": {
"type": "string"
},
"committer": {
"$ref": "#/components/schemas/nullable-git-user"
},
"verification": {
"$ref": "#/components/schemas/verification"
},
"comment_count": {
"type": "integer"
}
}
},
"node_id": {
"type": "string"
},
"parents": {
"type": "array",
"items": {
"type": "object",
"properties": {
"sha": {
"type": "string"
},
"url": {
"type": "string"
},
"html_url": {
"type": "string"
}
}
}
},
"html_url": {
"type": "string",
"format": "uri"
},
"committer": {
"$ref": "#/components/schemas/nullable-git-user"
},
"repository": {
"$ref": "#/components/schemas/minimal-repository"
},
"comments_url": {
"type": "string",
"format": "uri"
},
"text_matches": {
"$ref": "#/components/schemas/search-result-text-matches"
}
},
"description": "Commit Search Result Item"
}
community-profile
{
"type": "object",
"title": "Community Profile",
"required": [
"health_percentage",
"description",
"documentation",
"files",
"updated_at"
],
"properties": {
"files": {
"type": "object",
"required": [
"code_of_conduct",
"code_of_conduct_file",
"license",
"contributing",
"readme",
"issue_template",
"pull_request_template"
],
"properties": {
"readme": {
"$ref": "#/components/schemas/nullable-community-health-file"
},
"license": {
"$ref": "#/components/schemas/nullable-license-simple"
},
"contributing": {
"$ref": "#/components/schemas/nullable-community-health-file"
},
"issue_template": {
"$ref": "#/components/schemas/nullable-community-health-file"
},
"code_of_conduct": {
"$ref": "#/components/schemas/nullable-code-of-conduct-simple"
},
"code_of_conduct_file": {
"$ref": "#/components/schemas/nullable-community-health-file"
},
"pull_request_template": {
"$ref": "#/components/schemas/nullable-community-health-file"
}
}
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2017-02-28T19:09:29Z",
"nullable": true
},
"description": {
"type": "string",
"example": "My first repository on GitHub!",
"nullable": true
},
"documentation": {
"type": "string",
"example": "example.com",
"nullable": true
},
"health_percentage": {
"type": "integer",
"example": 100
},
"content_reports_enabled": {
"type": "boolean",
"example": true
}
},
"description": "Community Profile"
}
content-directory
{
"type": "array",
"items": {
"type": "object",
"required": [
"_links",
"git_url",
"html_url",
"download_url",
"name",
"path",
"sha",
"size",
"type",
"url"
],
"properties": {
"sha": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"path": {
"type": "string"
},
"size": {
"type": "integer"
},
"type": {
"enum": [
"dir",
"file",
"submodule",
"symlink"
],
"type": "string"
},
"_links": {
"type": "object",
"required": [
"git",
"html",
"self"
],
"properties": {
"git": {
"type": "string",
"format": "uri",
"nullable": true
},
"html": {
"type": "string",
"format": "uri",
"nullable": true
},
"self": {
"type": "string",
"format": "uri"
}
}
},
"content": {
"type": "string"
},
"git_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"download_url": {
"type": "string",
"format": "uri",
"nullable": true
}
}
},
"title": "Content Directory",
"description": "A list of directory items"
}
content-file
{
"type": "object",
"title": "Content File",
"required": [
"_links",
"git_url",
"html_url",
"download_url",
"name",
"path",
"sha",
"size",
"type",
"url",
"content",
"encoding"
],
"properties": {
"sha": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"path": {
"type": "string"
},
"size": {
"type": "integer"
},
"type": {
"enum": [
"file"
],
"type": "string"
},
"_links": {
"type": "object",
"required": [
"git",
"html",
"self"
],
"properties": {
"git": {
"type": "string",
"format": "uri",
"nullable": true
},
"html": {
"type": "string",
"format": "uri",
"nullable": true
},
"self": {
"type": "string",
"format": "uri"
}
}
},
"target": {
"type": "string",
"example": "\"actual/actual.md\""
},
"content": {
"type": "string"
},
"git_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"encoding": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"download_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"submodule_git_url": {
"type": "string",
"example": "\"git://example.com/defunkt/dotjs.git\""
}
},
"description": "Content File"
}
content-submodule
{
"type": "object",
"title": "Submodule Content",
"required": [
"_links",
"git_url",
"html_url",
"download_url",
"name",
"path",
"sha",
"size",
"type",
"url",
"submodule_git_url"
],
"properties": {
"sha": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"path": {
"type": "string"
},
"size": {
"type": "integer"
},
"type": {
"enum": [
"submodule"
],
"type": "string"
},
"_links": {
"type": "object",
"required": [
"git",
"html",
"self"
],
"properties": {
"git": {
"type": "string",
"format": "uri",
"nullable": true
},
"html": {
"type": "string",
"format": "uri",
"nullable": true
},
"self": {
"type": "string",
"format": "uri"
}
}
},
"git_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"download_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"submodule_git_url": {
"type": "string",
"format": "uri"
}
},
"description": "An object describing a submodule"
}
content-symlink
{
"type": "object",
"title": "Symlink Content",
"required": [
"_links",
"git_url",
"html_url",
"download_url",
"name",
"path",
"sha",
"size",
"type",
"url",
"target"
],
"properties": {
"sha": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"path": {
"type": "string"
},
"size": {
"type": "integer"
},
"type": {
"enum": [
"symlink"
],
"type": "string"
},
"_links": {
"type": "object",
"required": [
"git",
"html",
"self"
],
"properties": {
"git": {
"type": "string",
"format": "uri",
"nullable": true
},
"html": {
"type": "string",
"format": "uri",
"nullable": true
},
"self": {
"type": "string",
"format": "uri"
}
}
},
"target": {
"type": "string"
},
"git_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"download_url": {
"type": "string",
"format": "uri",
"nullable": true
}
},
"description": "An object describing a symlink"
}
content-traffic
{
"type": "object",
"title": "Content Traffic",
"required": [
"path",
"title",
"uniques",
"count"
],
"properties": {
"path": {
"type": "string",
"example": "/github/hubot"
},
"count": {
"type": "integer",
"example": 3542
},
"title": {
"type": "string",
"example": "github/hubot: A customizable life embetterment robot."
},
"uniques": {
"type": "integer",
"example": 2225
}
},
"description": "Content Traffic"
}
content-tree
{
"type": "object",
"title": "Content Tree",
"required": [
"_links",
"git_url",
"html_url",
"download_url",
"name",
"path",
"sha",
"size",
"type",
"url"
],
"properties": {
"sha": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"path": {
"type": "string"
},
"size": {
"type": "integer"
},
"type": {
"type": "string"
},
"_links": {
"type": "object",
"required": [
"git",
"html",
"self"
],
"properties": {
"git": {
"type": "string",
"format": "uri",
"nullable": true
},
"html": {
"type": "string",
"format": "uri",
"nullable": true
},
"self": {
"type": "string",
"format": "uri"
}
}
},
"content": {
"type": "string"
},
"entries": {
"type": "array",
"items": {
"type": "object",
"required": [
"_links",
"git_url",
"html_url",
"download_url",
"name",
"path",
"sha",
"size",
"type",
"url"
],
"properties": {
"sha": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"path": {
"type": "string"
},
"size": {
"type": "integer"
},
"type": {
"type": "string"
},
"_links": {
"type": "object",
"required": [
"git",
"html",
"self"
],
"properties": {
"git": {
"type": "string",
"format": "uri",
"nullable": true
},
"html": {
"type": "string",
"format": "uri",
"nullable": true
},
"self": {
"type": "string",
"format": "uri"
}
}
},
"git_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"download_url": {
"type": "string",
"format": "uri",
"nullable": true
}
}
}
},
"git_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"encoding": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"download_url": {
"type": "string",
"format": "uri",
"nullable": true
}
},
"description": "Content Tree"
}
contributor
{
"type": "object",
"title": "Contributor",
"required": [
"contributions",
"type"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"type": "string"
},
"email": {
"type": "string"
},
"login": {
"type": "string"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string",
"nullable": true
},
"starred_url": {
"type": "string"
},
"contributions": {
"type": "integer"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
},
"description": "Contributor"
}
contributor-activity
{
"type": "object",
"title": "Contributor Activity",
"required": [
"author",
"total",
"weeks"
],
"properties": {
"total": {
"type": "integer",
"example": 135
},
"weeks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"a": {
"type": "integer"
},
"c": {
"type": "integer"
},
"d": {
"type": "integer"
},
"w": {
"type": "integer"
}
}
},
"example": [
{
"a": 6898,
"c": 10,
"d": 77,
"w": "1367712000"
}
]
},
"author": {
"$ref": "#/components/schemas/nullable-simple-user"
}
},
"description": "Contributor Activity"
}
converted-note-to-issue-issue-event
{
"type": "object",
"title": "Converted Note to Issue Issue Event",
"required": [
"id",
"node_id",
"url",
"actor",
"event",
"commit_id",
"commit_url",
"created_at",
"performed_via_github_app"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"actor": {
"$ref": "#/components/schemas/simple-user"
},
"event": {
"type": "string"
},
"node_id": {
"type": "string"
},
"commit_id": {
"type": "string",
"nullable": true
},
"commit_url": {
"type": "string",
"nullable": true
},
"created_at": {
"type": "string"
},
"project_card": {
"type": "object",
"required": [
"id",
"url",
"project_id",
"project_url",
"column_name"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"project_id": {
"type": "integer"
},
"column_name": {
"type": "string"
},
"project_url": {
"type": "string",
"format": "uri"
},
"previous_column_name": {
"type": "string"
}
}
},
"performed_via_github_app": {
"$ref": "#/components/schemas/integration"
}
},
"description": "Converted Note to Issue Issue Event"
}
copilot-dotcom-chat
{
"type": "object",
"nullable": true,
"properties": {
"models": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the model used for Copilot Chat. If the default model is used will appear as 'default'."
},
"total_chats": {
"type": "integer",
"description": "Total number of chats initiated by users on github.com."
},
"is_custom_model": {
"type": "boolean",
"description": "Indicates whether a model is custom or default."
},
"total_engaged_users": {
"type": "integer",
"description": "Total number of users who prompted Copilot Chat on github.com at least once for each model."
},
"custom_model_training_date": {
"type": "string",
"nullable": true,
"description": "The training date for the custom model (if applicable)."
}
}
},
"description": "List of model metrics for a custom models and the default model."
},
"total_engaged_users": {
"type": "integer",
"description": "Total number of users who prompted Copilot Chat on github.com at least once."
}
},
"description": "Usage metrics for Copilot Chat in GitHub.com",
"additionalProperties": true
}
copilot-dotcom-pull-requests
{
"type": "object",
"nullable": true,
"properties": {
"repositories": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Repository name"
},
"models": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the model used for Copilot pull request summaries. If the default model is used will appear as 'default'."
},
"is_custom_model": {
"type": "boolean",
"description": "Indicates whether a model is custom or default."
},
"total_engaged_users": {
"type": "integer",
"description": "The number of users who generated pull request summaries using Copilot for Pull Requests in the given repository and model."
},
"custom_model_training_date": {
"type": "string",
"nullable": true,
"description": "The training date for the custom model."
},
"total_pr_summaries_created": {
"type": "integer",
"description": "The number of pull request summaries generated using Copilot for Pull Requests in the given repository."
}
}
},
"description": "List of model metrics for custom models and the default model."
},
"total_engaged_users": {
"type": "integer",
"description": "The number of users who generated pull request summaries using Copilot for Pull Requests in the given repository."
}
}
},
"description": "Repositories in which users used Copilot for Pull Requests to generate pull request summaries"
},
"total_engaged_users": {
"type": "integer",
"description": "The number of users who used Copilot for Pull Requests on github.com to generate a pull request summary at least once."
}
},
"description": "Usage metrics for Copilot for pull requests.",
"additionalProperties": true
}
copilot-ide-chat
{
"type": "object",
"nullable": true,
"properties": {
"editors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the given editor."
},
"models": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the model used for Copilot Chat. If the default model is used will appear as 'default'."
},
"total_chats": {
"type": "integer",
"description": "The total number of chats initiated by users in the given editor and model."
},
"is_custom_model": {
"type": "boolean",
"description": "Indicates whether a model is custom or default."
},
"total_engaged_users": {
"type": "integer",
"description": "The number of users who prompted Copilot Chat in the given editor and model."
},
"total_chat_copy_events": {
"type": "integer",
"description": "The number of times users copied a code suggestion from Copilot Chat using the keyboard, or the 'Copy' UI element, for the given editor."
},
"custom_model_training_date": {
"type": "string",
"nullable": true,
"description": "The training date for the custom model."
},
"total_chat_insertion_events": {
"type": "integer",
"description": "The number of times users accepted a code suggestion from Copilot Chat using the 'Insert Code' UI element, for the given editor."
}
}
},
"description": "List of model metrics for custom models and the default model."
},
"total_engaged_users": {
"type": "integer",
"description": "The number of users who prompted Copilot Chat in the specified editor."
}
},
"description": "Copilot Chat metrics, for active editors."
}
},
"total_engaged_users": {
"type": "integer",
"description": "Total number of users who prompted Copilot Chat in the IDE."
}
},
"description": "Usage metrics for Copilot Chat in the IDE.",
"additionalProperties": true
}
copilot-ide-code-completions
{
"type": "object",
"nullable": true,
"properties": {
"editors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the given editor."
},
"models": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the model used for Copilot code completion suggestions. If the default model is used will appear as 'default'."
},
"languages": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the language used for Copilot code completion suggestions, for the given editor."
},
"total_engaged_users": {
"type": "integer",
"description": "Number of users who accepted at least one Copilot code completion suggestion for the given editor, for the given language. Includes both full and partial acceptances."
},
"total_code_acceptances": {
"type": "integer",
"description": "The number of Copilot code suggestions accepted for the given editor, for the given language. Includes both full and partial acceptances."
},
"total_code_suggestions": {
"type": "integer",
"description": "The number of Copilot code suggestions generated for the given editor, for the given language."
},
"total_code_lines_accepted": {
"type": "integer",
"description": "The number of lines of code accepted from Copilot code suggestions for the given editor, for the given language."
},
"total_code_lines_suggested": {
"type": "integer",
"description": "The number of lines of code suggested by Copilot code completions for the given editor, for the given language."
}
},
"description": "Usage metrics for a given language for the given editor for Copilot code completions."
},
"description": "Code completion metrics for active languages, for the given editor."
},
"is_custom_model": {
"type": "boolean",
"description": "Indicates whether a model is custom or default."
},
"total_engaged_users": {
"type": "integer",
"description": "Number of users who accepted at least one Copilot code completion suggestion for the given editor, for the given language and model. Includes both full and partial acceptances."
},
"custom_model_training_date": {
"type": "string",
"nullable": true,
"description": "The training date for the custom model."
}
}
},
"description": "List of model metrics for custom models and the default model."
},
"total_engaged_users": {
"type": "integer",
"description": "Number of users who accepted at least one Copilot code completion suggestion for the given editor. Includes both full and partial acceptances."
}
},
"description": "Copilot code completion metrics for active editors.",
"additionalProperties": true
}
},
"languages": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the language used for Copilot code completion suggestions."
},
"total_engaged_users": {
"type": "integer",
"description": "Number of users who accepted at least one Copilot code completion suggestion for the given language. Includes both full and partial acceptances."
}
},
"description": "Usage metrics for a given language for the given editor for Copilot code completions."
},
"description": "Code completion metrics for active languages."
},
"total_engaged_users": {
"type": "integer",
"description": "Number of users who accepted at least one Copilot code suggestion, across all active editors. Includes both full and partial acceptances."
}
},
"description": "Usage metrics for Copilot editor code completions in the IDE.",
"additionalProperties": true
}
copilot-organization-content-exclusion-details
{
"type": "object",
"title": "Copilot Organization Content Exclusion Details",
"description": "List all Copilot Content Exclusion rules for an organization.",
"additionalProperties": {
"type": "array",
"items": {
"type": "string",
"description": "The path to the file that will be excluded."
}
}
}
copilot-organization-details
{
"type": "object",
"title": "Copilot Organization Details",
"required": [
"seat_breakdown",
"public_code_suggestions",
"seat_management_setting"
],
"properties": {
"cli": {
"enum": [
"enabled",
"disabled",
"unconfigured"
],
"type": "string",
"description": "The organization policy for allowing or disallowing Copilot CLI."
},
"ide_chat": {
"enum": [
"enabled",
"disabled",
"unconfigured"
],
"type": "string",
"description": "The organization policy for allowing or disallowing Copilot Chat in the IDE."
},
"plan_type": {
"enum": [
"business",
"enterprise"
],
"type": "string",
"description": "The Copilot plan of the organization, or the parent enterprise, when applicable."
},
"platform_chat": {
"enum": [
"enabled",
"disabled",
"unconfigured"
],
"type": "string",
"description": "The organization policy for allowing or disallowing Copilot features on GitHub.com."
},
"seat_breakdown": {
"$ref": "#/components/schemas/copilot-organization-seat-breakdown"
},
"public_code_suggestions": {
"enum": [
"allow",
"block",
"unconfigured"
],
"type": "string",
"description": "The organization policy for allowing or blocking suggestions matching public code (duplication detection filter)."
},
"seat_management_setting": {
"enum": [
"assign_all",
"assign_selected",
"disabled",
"unconfigured"
],
"type": "string",
"description": "The mode of assigning new seats."
}
},
"description": "Information about the seat breakdown and policies set for an organization with a Copilot Business or Copilot Enterprise subscription.",
"additionalProperties": true
}
copilot-organization-seat-breakdown
{
"type": "object",
"title": "Copilot Seat Breakdown",
"properties": {
"total": {
"type": "integer",
"description": "The total number of seats being billed for the organization as of the current billing cycle."
},
"added_this_cycle": {
"type": "integer",
"description": "Seats added during the current billing cycle."
},
"active_this_cycle": {
"type": "integer",
"description": "The number of seats that have used Copilot during the current billing cycle."
},
"pending_invitation": {
"type": "integer",
"description": "The number of users who have been invited to receive a Copilot seat through this organization."
},
"inactive_this_cycle": {
"type": "integer",
"description": "The number of seats that have not used Copilot during the current billing cycle."
},
"pending_cancellation": {
"type": "integer",
"description": "The number of seats that are pending cancellation at the end of the current billing cycle."
}
},
"description": "The breakdown of Copilot Business seats for the organization."
}
copilot-seat-details
{
"type": "object",
"title": "Copilot Business Seat Detail",
"required": [
"created_at"
],
"properties": {
"assignee": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"plan_type": {
"enum": [
"business",
"enterprise",
"unknown"
],
"type": "string",
"description": "The Copilot plan of the organization, or the parent enterprise, when applicable."
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "Timestamp of when the assignee was last granted access to GitHub Copilot, in ISO 8601 format."
},
"updated_at": {
"type": "string",
"format": "date-time",
"deprecated": true,
"description": "**Closing down notice:** This field is no longer relevant and is closing down. Use the `created_at` field to determine when the assignee was last granted access to GitHub Copilot. Timestamp of when the assignee's GitHub Copilot access was last updated, in ISO 8601 format."
},
"organization": {
"$ref": "#/components/schemas/nullable-organization-simple"
},
"assigning_team": {
"oneOf": [
{
"$ref": "#/components/schemas/team"
},
{
"$ref": "#/components/schemas/enterprise-team"
}
],
"nullable": true,
"description": "The team through which the assignee is granted access to GitHub Copilot, if applicable."
},
"last_activity_at": {
"type": "string",
"format": "date-time",
"nullable": true,
"description": "Timestamp of user's last GitHub Copilot activity, in ISO 8601 format."
},
"last_activity_editor": {
"type": "string",
"nullable": true,
"description": "Last editor that was used by the user for a GitHub Copilot completion."
},
"last_authenticated_at": {
"type": "string",
"format": "date-time",
"nullable": true,
"description": "Timestamp of the last time the user authenticated with GitHub Copilot, in ISO 8601 format."
},
"pending_cancellation_date": {
"type": "string",
"format": "date",
"nullable": true,
"description": "The pending cancellation date for the seat, in `YYYY-MM-DD` format. This will be null unless the assignee's Copilot access has been canceled during the current billing cycle. If the seat has been cancelled, this corresponds to the start of the organization's next billing cycle."
}
},
"description": "Information about a Copilot Business seat assignment for a user, team, or organization.",
"additionalProperties": false
}
copilot-usage-metrics-1-day-report
{
"type": "object",
"title": "Copilot Metrics 1 Day Report",
"required": [
"download_links",
"report_day"
],
"properties": {
"report_day": {
"type": "string",
"format": "date",
"description": "The day of the report in `YYYY-MM-DD` format."
},
"download_links": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
},
"description": "The URLs to download the Copilot usage metrics report for the enterprise/organization for the specified day."
}
},
"description": "Links to download the Copilot usage metrics report for an enterprise/organization for a specific day."
}
copilot-usage-metrics-28-day-report
{
"type": "object",
"title": "Copilot Metrics 28 Day Report",
"required": [
"download_links",
"report_start_day",
"report_end_day"
],
"properties": {
"download_links": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
},
"description": "The URLs to download the latest Copilot usage metrics report for the enterprise/organization."
},
"report_end_day": {
"type": "string",
"format": "date",
"description": "The end date of the report period in `YYYY-MM-DD` format."
},
"report_start_day": {
"type": "string",
"format": "date",
"description": "The start date of the report period in `YYYY-MM-DD` format."
}
},
"description": "Links to download the latest Copilot usage metrics report for an enterprise/organization."
}
copilot-usage-metrics-day
{
"type": "object",
"title": "Copilot Usage Metrics",
"required": [
"date"
],
"properties": {
"date": {
"type": "string",
"format": "date",
"description": "The date for which the usage metrics are aggregated, in `YYYY-MM-DD` format."
},
"copilot_ide_chat": {
"$ref": "#/components/schemas/copilot-ide-chat"
},
"total_active_users": {
"type": "integer",
"description": "The total number of Copilot users with activity belonging to any Copilot feature, globally, for the given day. Includes passive activity such as receiving a code suggestion, as well as engagement activity such as accepting a code suggestion or prompting chat. Does not include authentication events. Is not limited to the individual features detailed on the endpoint."
},
"copilot_dotcom_chat": {
"$ref": "#/components/schemas/copilot-dotcom-chat"
},
"total_engaged_users": {
"type": "integer",
"description": "The total number of Copilot users who engaged with any Copilot feature, for the given day. Examples include but are not limited to accepting a code suggestion, prompting Copilot chat, or triggering a PR Summary. Does not include authentication events. Is not limited to the individual features detailed on the endpoint."
},
"copilot_dotcom_pull_requests": {
"$ref": "#/components/schemas/copilot-dotcom-pull-requests"
},
"copilot_ide_code_completions": {
"$ref": "#/components/schemas/copilot-ide-code-completions"
}
},
"description": "Copilot usage metrics for a given day.",
"additionalProperties": true
}
create-event
{
"type": "object",
"title": "CreateEvent",
"required": [
"ref",
"ref_type",
"full_ref",
"master_branch",
"pusher_type"
],
"properties": {
"ref": {
"type": "string"
},
"full_ref": {
"type": "string"
},
"ref_type": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
},
"pusher_type": {
"type": "string"
},
"master_branch": {
"type": "string"
}
}
}
custom-deployment-rule-app
{
"type": "object",
"title": "Custom deployment protection rule app",
"required": [
"id",
"slug",
"integration_url",
"node_id"
],
"properties": {
"id": {
"type": "integer",
"example": 3515,
"description": "The unique identifier of the deployment protection rule integration."
},
"slug": {
"type": "string",
"example": "my-custom-app",
"description": "The slugified name of the deployment protection rule integration."
},
"node_id": {
"type": "string",
"example": "MDQ6R2F0ZTM1MTU=",
"description": "The node ID for the deployment protection rule integration."
},
"integration_url": {
"type": "string",
"example": "https://api.github.com/apps/custom-app-slug",
"description": "The URL for the endpoint to get details about the app."
}
},
"description": "A GitHub App that is providing a custom deployment protection rule."
}
custom-property
{
"type": "object",
"title": "Organization Custom Property",
"required": [
"property_name",
"value_type"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "The URL that can be used to fetch, update, or delete info about this property via the API."
},
"required": {
"type": "boolean",
"description": "Whether the property is required."
},
"value_type": {
"enum": [
"string",
"single_select",
"multi_select",
"true_false",
"url"
],
"type": "string",
"example": "single_select",
"description": "The type of the value for the property"
},
"description": {
"type": "string",
"nullable": true,
"description": "Short description of the property"
},
"source_type": {
"enum": [
"organization",
"enterprise"
],
"type": "string",
"example": "organization",
"description": "The source type of the property"
},
"default_value": {
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
],
"nullable": true,
"description": "Default value of the property"
},
"property_name": {
"type": "string",
"description": "The name of the property"
},
"allowed_values": {
"type": "array",
"items": {
"type": "string"
},
"nullable": true,
"description": "An ordered list of the allowed values of the property.\nThe property can have up to 200 allowed values."
},
"values_editable_by": {
"enum": [
"org_actors",
"org_and_repo_actors"
],
"type": "string",
"example": "org_actors",
"nullable": true,
"description": "Who can edit the values of the property"
},
"require_explicit_values": {
"type": "boolean",
"description": "Whether setting properties values is mandatory"
}
},
"description": "Custom property defined on an organization"
}
custom-property-set-payload
{
"type": "object",
"title": "Custom Property Set Payload",
"required": [
"value_type"
],
"properties": {
"required": {
"type": "boolean",
"description": "Whether the property is required."
},
"value_type": {
"enum": [
"string",
"single_select",
"multi_select",
"true_false",
"url"
],
"type": "string",
"example": "single_select",
"description": "The type of the value for the property"
},
"description": {
"type": "string",
"nullable": true,
"description": "Short description of the property"
},
"default_value": {
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
],
"nullable": true,
"description": "Default value of the property"
},
"allowed_values": {
"type": "array",
"items": {
"type": "string"
},
"nullable": true,
"description": "An ordered list of the allowed values of the property.\nThe property can have up to 200 allowed values."
},
"values_editable_by": {
"enum": [
"org_actors",
"org_and_repo_actors"
],
"type": "string",
"example": "org_actors",
"nullable": true,
"description": "Who can edit the values of the property"
},
"require_explicit_values": {
"type": "boolean",
"description": "Whether setting properties values is mandatory"
}
},
"description": "Custom property set payload"
}
custom-property-value
{
"type": "object",
"title": "Custom Property Value",
"required": [
"property_name",
"value"
],
"properties": {
"value": {
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
],
"nullable": true,
"description": "The value assigned to the property"
},
"property_name": {
"type": "string",
"description": "The name of the property"
}
},
"description": "Custom property name and associated value"
}
cvss-severities
{
"type": "object",
"nullable": true,
"properties": {
"cvss_v3": {
"type": "object",
"nullable": true,
"required": [
"vector_string",
"score"
],
"properties": {
"score": {
"type": "number",
"maximum": 10,
"minimum": 0,
"nullable": true,
"readOnly": true,
"description": "The CVSS 3 score."
},
"vector_string": {
"type": "string",
"nullable": true,
"description": "The CVSS 3 vector string."
}
}
},
"cvss_v4": {
"type": "object",
"nullable": true,
"required": [
"vector_string",
"score"
],
"properties": {
"score": {
"type": "number",
"maximum": 10,
"minimum": 0,
"nullable": true,
"readOnly": true,
"description": "The CVSS 4 score."
},
"vector_string": {
"type": "string",
"nullable": true,
"description": "The CVSS 4 vector string."
}
}
}
}
}
delete-budget
{
"type": "object",
"required": [
"message",
"id"
],
"properties": {
"id": {
"type": "string",
"description": "The ID of the deleted budget"
},
"message": {
"type": "string",
"description": "A message indicating the result of the deletion operation"
}
}
}
delete-event
{
"type": "object",
"title": "DeleteEvent",
"required": [
"ref",
"ref_type",
"full_ref",
"pusher_type"
],
"properties": {
"ref": {
"type": "string"
},
"full_ref": {
"type": "string"
},
"ref_type": {
"type": "string"
},
"pusher_type": {
"type": "string"
}
}
}
demilestoned-issue-event
{
"type": "object",
"title": "Demilestoned Issue Event",
"required": [
"milestone",
"id",
"node_id",
"url",
"actor",
"event",
"commit_id",
"commit_url",
"created_at",
"performed_via_github_app"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"actor": {
"$ref": "#/components/schemas/simple-user"
},
"event": {
"type": "string"
},
"node_id": {
"type": "string"
},
"commit_id": {
"type": "string",
"nullable": true
},
"milestone": {
"type": "object",
"required": [
"title"
],
"properties": {
"title": {
"type": "string"
}
}
},
"commit_url": {
"type": "string",
"nullable": true
},
"created_at": {
"type": "string"
},
"performed_via_github_app": {
"$ref": "#/components/schemas/nullable-integration"
}
},
"description": "Demilestoned Issue Event"
}
dependabot-alert
{
"type": "object",
"required": [
"number",
"state",
"dependency",
"security_advisory",
"security_vulnerability",
"url",
"html_url",
"created_at",
"updated_at",
"dismissed_at",
"dismissed_by",
"dismissed_reason",
"dismissed_comment",
"fixed_at"
],
"properties": {
"url": {
"$ref": "#/components/schemas/alert-url"
},
"state": {
"enum": [
"auto_dismissed",
"dismissed",
"fixed",
"open"
],
"type": "string",
"readOnly": true,
"description": "The state of the Dependabot alert."
},
"number": {
"$ref": "#/components/schemas/alert-number"
},
"fixed_at": {
"$ref": "#/components/schemas/alert-fixed-at"
},
"html_url": {
"$ref": "#/components/schemas/alert-html-url"
},
"assignees": {
"type": "array",
"items": {
"$ref": "#/components/schemas/simple-user"
},
"readOnly": true,
"description": "The users assigned to this alert."
},
"created_at": {
"$ref": "#/components/schemas/alert-created-at"
},
"dependency": {
"type": "object",
"readOnly": true,
"properties": {
"scope": {
"enum": [
"development",
"runtime"
],
"type": "string",
"nullable": true,
"readOnly": true,
"description": "The execution scope of the vulnerable dependency."
},
"package": {
"$ref": "#/components/schemas/dependabot-alert-package"
},
"relationship": {
"enum": [
"unknown",
"direct",
"transitive",
"inconclusive"
],
"type": "string",
"nullable": true,
"readOnly": true,
"description": "The vulnerable dependency's relationship to your project.\n\n> [!NOTE]\n> We are rolling out support for dependency relationship across ecosystems. This value will be \"unknown\" for all dependencies in unsupported ecosystems.\n"
},
"manifest_path": {
"type": "string",
"readOnly": true,
"description": "The full path to the dependency manifest file, relative to the root of the repository."
}
},
"description": "Details for the vulnerable dependency."
},
"updated_at": {
"$ref": "#/components/schemas/alert-updated-at"
},
"dismissed_at": {
"$ref": "#/components/schemas/alert-dismissed-at"
},
"dismissed_by": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"dismissed_reason": {
"enum": [
"fix_started",
"inaccurate",
"no_bandwidth",
"not_used",
"tolerable_risk"
],
"type": "string",
"nullable": true,
"description": "The reason that the alert was dismissed."
},
"auto_dismissed_at": {
"$ref": "#/components/schemas/alert-auto-dismissed-at"
},
"dismissal_request": {
"$ref": "#/components/schemas/dependabot-alert-dismissal-request-simple"
},
"dismissed_comment": {
"type": "string",
"nullable": true,
"maxLength": 280,
"description": "An optional comment associated with the alert's dismissal."
},
"security_advisory": {
"$ref": "#/components/schemas/dependabot-alert-security-advisory"
},
"security_vulnerability": {
"$ref": "#/components/schemas/dependabot-alert-security-vulnerability"
}
},
"description": "A Dependabot alert.",
"additionalProperties": false
}
dependabot-alert-dismissal-request-simple
{
"type": "object",
"title": "Dependabot alert dismissal request",
"nullable": true,
"properties": {
"id": {
"type": "integer",
"description": "The unique identifier of the dismissal request."
},
"url": {
"type": "string",
"format": "uri",
"description": "The API URL to get more information about this dismissal request."
},
"status": {
"enum": [
"pending",
"approved",
"rejected",
"cancelled"
],
"type": "string",
"description": "The current status of the dismissal request."
},
"requester": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "The unique identifier of the user."
},
"login": {
"type": "string",
"description": "The login name of the user."
}
},
"description": "The user who requested the dismissal."
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "The date and time when the dismissal request was created."
}
},
"description": "Information about an active dismissal request for this Dependabot alert."
}
dependabot-alert-package
{
"type": "object",
"readOnly": true,
"required": [
"ecosystem",
"name"
],
"properties": {
"name": {
"type": "string",
"readOnly": true,
"description": "The unique package name within its ecosystem."
},
"ecosystem": {
"type": "string",
"readOnly": true,
"description": "The package's language or package management ecosystem."
}
},
"description": "Details for the vulnerable package.",
"additionalProperties": false
}
dependabot-alert-security-advisory
{
"type": "object",
"readOnly": true,
"required": [
"ghsa_id",
"cve_id",
"summary",
"description",
"vulnerabilities",
"severity",
"cvss",
"cwes",
"identifiers",
"references",
"published_at",
"updated_at",
"withdrawn_at"
],
"properties": {
"cvss": {
"type": "object",
"readOnly": true,
"required": [
"score",
"vector_string"
],
"properties": {
"score": {
"type": "number",
"maximum": 10,
"minimum": 0,
"readOnly": true,
"description": "The overall CVSS score of the advisory."
},
"vector_string": {
"type": "string",
"nullable": true,
"readOnly": true,
"description": "The full CVSS vector string for the advisory."
}
},
"description": "Details for the advisory pertaining to the Common Vulnerability Scoring System.",
"additionalProperties": false
},
"cwes": {
"type": "array",
"items": {
"type": "object",
"readOnly": true,
"required": [
"cwe_id",
"name"
],
"properties": {
"name": {
"type": "string",
"readOnly": true,
"description": "The short, plain text name of the CWE."
},
"cwe_id": {
"type": "string",
"readOnly": true,
"description": "The unique CWE ID."
}
},
"description": "A CWE weakness assigned to the advisory.",
"additionalProperties": false
},
"readOnly": true,
"description": "Details for the advisory pertaining to Common Weakness Enumeration."
},
"epss": {
"$ref": "#/components/schemas/security-advisory-epss"
},
"cve_id": {
"type": "string",
"nullable": true,
"readOnly": true,
"description": "The unique CVE ID assigned to the advisory."
},
"ghsa_id": {
"type": "string",
"readOnly": true,
"description": "The unique GitHub Security Advisory ID assigned to the advisory."
},
"summary": {
"type": "string",
"readOnly": true,
"maxLength": 1024,
"description": "A short, plain text summary of the advisory."
},
"severity": {
"enum": [
"low",
"medium",
"high",
"critical"
],
"type": "string",
"readOnly": true,
"description": "The severity of the advisory."
},
"references": {
"type": "array",
"items": {
"type": "object",
"readOnly": true,
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"readOnly": true,
"description": "The URL of the reference."
}
},
"description": "A link to additional advisory information.",
"additionalProperties": false
},
"readOnly": true,
"description": "Links to additional advisory information."
},
"updated_at": {
"type": "string",
"format": "date-time",
"readOnly": true,
"description": "The time that the advisory was last modified in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`."
},
"description": {
"type": "string",
"readOnly": true,
"description": "A long-form Markdown-supported description of the advisory."
},
"identifiers": {
"type": "array",
"items": {
"type": "object",
"readOnly": true,
"required": [
"value",
"type"
],
"properties": {
"type": {
"enum": [
"CVE",
"GHSA"
],
"type": "string",
"readOnly": true,
"description": "The type of advisory identifier."
},
"value": {
"type": "string",
"readOnly": true,
"description": "The value of the advisory identifer."
}
},
"description": "An advisory identifier.",
"additionalProperties": false
},
"readOnly": true,
"description": "Values that identify this advisory among security information sources."
},
"published_at": {
"type": "string",
"format": "date-time",
"readOnly": true,
"description": "The time that the advisory was published in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`."
},
"withdrawn_at": {
"type": "string",
"format": "date-time",
"nullable": true,
"readOnly": true,
"description": "The time that the advisory was withdrawn in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`."
},
"classification": {
"enum": [
"general",
"malware"
],
"type": "string",
"readOnly": true,
"description": "The classification of the advisory."
},
"cvss_severities": {
"$ref": "#/components/schemas/cvss-severities"
},
"vulnerabilities": {
"type": "array",
"items": {
"$ref": "#/components/schemas/dependabot-alert-security-vulnerability"
},
"readOnly": true,
"description": "Vulnerable version range information for the advisory."
}
},
"description": "Details for the GitHub Security Advisory.",
"additionalProperties": false,
"x-github-breaking-changes": [
{
"patch": {
"required": [
"ghsa_id",
"cve_id",
"summary",
"description",
"vulnerabilities",
"severity",
"cwes",
"identifiers",
"references",
"published_at",
"updated_at",
"withdrawn_at"
],
"properties": {
"cvss": null
}
},
"version": "2026-03-10",
"changeset": "deprecate_cvss"
}
]
}
dependabot-alert-security-vulnerability
{
"type": "object",
"readOnly": true,
"required": [
"package",
"severity",
"vulnerable_version_range",
"first_patched_version"
],
"properties": {
"package": {
"$ref": "#/components/schemas/dependabot-alert-package"
},
"severity": {
"enum": [
"low",
"medium",
"high",
"critical"
],
"type": "string",
"readOnly": true,
"description": "The severity of the vulnerability."
},
"first_patched_version": {
"type": "object",
"nullable": true,
"readOnly": true,
"required": [
"identifier"
],
"properties": {
"identifier": {
"type": "string",
"readOnly": true,
"description": "The package version that patches this vulnerability."
}
},
"description": "Details pertaining to the package version that patches this vulnerability.",
"additionalProperties": false
},
"vulnerable_version_range": {
"type": "string",
"readOnly": true,
"description": "Conditions that identify vulnerable versions of this vulnerability's package."
}
},
"description": "Details pertaining to one vulnerable version range for the advisory.",
"additionalProperties": false
}
dependabot-alert-with-repository
{
"type": "object",
"required": [
"number",
"state",
"dependency",
"security_advisory",
"security_vulnerability",
"url",
"html_url",
"created_at",
"updated_at",
"dismissed_at",
"dismissed_by",
"dismissed_reason",
"dismissed_comment",
"fixed_at",
"repository"
],
"properties": {
"url": {
"$ref": "#/components/schemas/alert-url"
},
"state": {
"enum": [
"auto_dismissed",
"dismissed",
"fixed",
"open"
],
"type": "string",
"readOnly": true,
"description": "The state of the Dependabot alert."
},
"number": {
"$ref": "#/components/schemas/alert-number"
},
"fixed_at": {
"$ref": "#/components/schemas/alert-fixed-at"
},
"html_url": {
"$ref": "#/components/schemas/alert-html-url"
},
"assignees": {
"type": "array",
"items": {
"$ref": "#/components/schemas/simple-user"
},
"readOnly": true,
"description": "The users assigned to this alert."
},
"created_at": {
"$ref": "#/components/schemas/alert-created-at"
},
"dependency": {
"type": "object",
"readOnly": true,
"properties": {
"scope": {
"enum": [
"development",
"runtime"
],
"type": "string",
"nullable": true,
"readOnly": true,
"description": "The execution scope of the vulnerable dependency."
},
"package": {
"$ref": "#/components/schemas/dependabot-alert-package"
},
"relationship": {
"enum": [
"unknown",
"direct",
"transitive",
"inconclusive"
],
"type": "string",
"nullable": true,
"readOnly": true,
"description": "The vulnerable dependency's relationship to your project.\n\n> [!NOTE]\n> We are rolling out support for dependency relationship across ecosystems. This value will be \"unknown\" for all dependencies in unsupported ecosystems.\n"
},
"manifest_path": {
"type": "string",
"readOnly": true,
"description": "The full path to the dependency manifest file, relative to the root of the repository."
}
},
"description": "Details for the vulnerable dependency."
},
"repository": {
"$ref": "#/components/schemas/simple-repository"
},
"updated_at": {
"$ref": "#/components/schemas/alert-updated-at"
},
"dismissed_at": {
"$ref": "#/components/schemas/alert-dismissed-at"
},
"dismissed_by": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"dismissed_reason": {
"enum": [
"fix_started",
"inaccurate",
"no_bandwidth",
"not_used",
"tolerable_risk"
],
"type": "string",
"nullable": true,
"description": "The reason that the alert was dismissed."
},
"auto_dismissed_at": {
"$ref": "#/components/schemas/alert-auto-dismissed-at"
},
"dismissal_request": {
"$ref": "#/components/schemas/dependabot-alert-dismissal-request-simple"
},
"dismissed_comment": {
"type": "string",
"nullable": true,
"maxLength": 280,
"description": "An optional comment associated with the alert's dismissal."
},
"security_advisory": {
"$ref": "#/components/schemas/dependabot-alert-security-advisory"
},
"security_vulnerability": {
"$ref": "#/components/schemas/dependabot-alert-security-vulnerability"
}
},
"description": "A Dependabot alert.",
"additionalProperties": false
}
dependabot-public-key
{
"type": "object",
"title": "DependabotPublicKey",
"required": [
"key_id",
"key"
],
"properties": {
"key": {
"type": "string",
"example": "hBT5WZEj8ZoOv6TYJsfWq7MxTEQopZO5/IT3ZCVQPzs=",
"description": "The Base64 encoded public key."
},
"key_id": {
"type": "string",
"example": "1234567",
"description": "The identifier for the key."
}
},
"description": "The public key used for setting Dependabot Secrets."
}
dependabot-repository-access-details
{
"type": "object",
"title": "Dependabot Repository Access Details",
"properties": {
"default_level": {
"enum": [
"public",
"internal"
],
"type": "string",
"example": "internal",
"nullable": true,
"description": "The default repository access level for Dependabot updates."
},
"accessible_repositories": {
"type": "array",
"items": {
"$ref": "#/components/schemas/nullable-simple-repository"
}
}
},
"description": "Information about repositories that Dependabot is able to access in an organization",
"additionalProperties": false
}
dependabot-secret
{
"type": "object",
"title": "Dependabot Secret",
"required": [
"name",
"created_at",
"updated_at"
],
"properties": {
"name": {
"type": "string",
"example": "MY_ARTIFACTORY_PASSWORD",
"description": "The name of the secret."
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
}
},
"description": "Set secrets for Dependabot."
}
dependency
{
"type": "object",
"properties": {
"scope": {
"enum": [
"runtime",
"development"
],
"type": "string",
"example": "runtime",
"description": "A notation of whether the dependency is required for the primary build artifact (runtime) or is only used for development. Future versions of this specification may allow for more granular scopes."
},
"metadata": {
"$ref": "#/components/schemas/metadata"
},
"package_url": {
"type": "string",
"example": "pkg:/npm/%40actions/http-client@1.0.11",
"pattern": "^pkg",
"description": "Package-url (PURL) of dependency. See https://github.com/package-url/purl-spec for more details."
},
"dependencies": {
"type": "array",
"items": {
"type": "string"
},
"example": "@actions/http-client",
"description": "Array of package-url (PURLs) of direct child dependencies."
},
"relationship": {
"enum": [
"direct",
"indirect"
],
"type": "string",
"example": "direct",
"description": "A notation of whether a dependency is requested directly by this manifest or is a dependency of another dependency."
}
},
"additionalProperties": false
}
dependency-graph-diff
{
"type": "array",
"items": {
"type": "object",
"required": [
"change_type",
"manifest",
"ecosystem",
"name",
"version",
"package_url",
"license",
"source_repository_url",
"vulnerabilities",
"scope"
],
"properties": {
"name": {
"type": "string",
"example": "@actions/core"
},
"scope": {
"enum": [
"unknown",
"runtime",
"development"
],
"type": "string",
"description": "Where the dependency is utilized. `development` means that the dependency is only utilized in the development environment. `runtime` means that the dependency is utilized at runtime and in the development environment."
},
"license": {
"type": "string",
"example": "MIT",
"nullable": true
},
"version": {
"type": "string",
"example": "1.0.0"
},
"manifest": {
"type": "string",
"example": "path/to/package-lock.json"
},
"ecosystem": {
"type": "string",
"example": "npm"
},
"change_type": {
"enum": [
"added",
"removed"
],
"type": "string"
},
"package_url": {
"type": "string",
"example": "pkg:/npm/%40actions/core@1.1.0",
"nullable": true
},
"vulnerabilities": {
"type": "array",
"items": {
"type": "object",
"required": [
"severity",
"advisory_ghsa_id",
"advisory_summary",
"advisory_url"
],
"properties": {
"severity": {
"type": "string",
"example": "critical"
},
"advisory_url": {
"type": "string",
"example": "https://github.com/advisories/GHSA-rf4j-j272-fj86"
},
"advisory_ghsa_id": {
"type": "string",
"example": "GHSA-rf4j-j272-fj86"
},
"advisory_summary": {
"type": "string",
"example": "A summary of the advisory."
}
}
}
},
"source_repository_url": {
"type": "string",
"example": "https://github.com/github/actions",
"nullable": true
}
}
},
"title": "Dependency Graph Diff",
"description": "A diff of the dependencies between two commits."
}
dependency-graph-spdx-sbom
{
"type": "object",
"title": "Dependency Graph SPDX SBOM",
"required": [
"sbom"
],
"properties": {
"sbom": {
"type": "object",
"required": [
"SPDXID",
"spdxVersion",
"creationInfo",
"name",
"dataLicense",
"documentNamespace",
"packages"
],
"properties": {
"name": {
"type": "string",
"example": "github/github",
"description": "The name of the SPDX document."
},
"SPDXID": {
"type": "string",
"example": "SPDXRef-DOCUMENT",
"description": "The SPDX identifier for the SPDX document."
},
"comment": {
"type": "string",
"example": "Exact versions could not be resolved for some packages. For more information: https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/",
"description": "An optional comment about the SPDX document."
},
"packages": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"example": "github/github",
"description": "The name of the package."
},
"SPDXID": {
"type": "string",
"example": "SPDXRef-Package",
"description": "A unique SPDX identifier for the package."
},
"supplier": {
"type": "string",
"example": "NOASSERTION",
"description": "The distribution source of this package, or NOASSERTION if this was not determined."
},
"versionInfo": {
"type": "string",
"example": "1.0.0",
"description": "The version of the package. If the package does not have an exact version specified,\na version range is given."
},
"externalRefs": {
"type": "array",
"items": {
"type": "object",
"required": [
"referenceCategory",
"referenceLocator",
"referenceType"
],
"properties": {
"referenceType": {
"type": "string",
"example": "purl",
"description": "The category of reference to an external resource this reference refers to."
},
"referenceLocator": {
"type": "string",
"example": "pkg:gem/rails@6.0.1",
"description": "A locator for the particular external resource this reference refers to."
},
"referenceCategory": {
"type": "string",
"example": "PACKAGE-MANAGER",
"description": "The category of reference to an external resource this reference refers to."
}
}
}
},
"copyrightText": {
"type": "string",
"example": "Copyright (c) 1985 GitHub.com",
"description": "The copyright holders of the package, and any dates present with those notices, if available."
},
"filesAnalyzed": {
"type": "boolean",
"example": false,
"description": "Whether the package's file content has been subjected to\nanalysis during the creation of the SPDX document."
},
"licenseDeclared": {
"type": "string",
"example": "NOASSERTION",
"description": "The license of the package as declared by its author, or NOASSERTION if this information\nwas not available when the SPDX document was created."
},
"downloadLocation": {
"type": "string",
"example": "NOASSERTION",
"description": "The location where the package can be downloaded,\nor NOASSERTION if this has not been determined."
},
"licenseConcluded": {
"type": "string",
"example": "MIT",
"description": "The license of the package as determined while creating the SPDX document."
}
}
},
"required": [
"SPDXID",
"name",
"versionInfo",
"downloadLocation",
"filesAnalyzed"
]
},
"dataLicense": {
"type": "string",
"example": "CC0-1.0",
"description": "The license under which the SPDX document is licensed."
},
"spdxVersion": {
"type": "string",
"example": "SPDX-2.3",
"description": "The version of the SPDX specification that this document conforms to."
},
"creationInfo": {
"type": "object",
"required": [
"created",
"creators"
],
"properties": {
"created": {
"type": "string",
"example": "2021-11-03T00:00:00Z",
"description": "The date and time the SPDX document was created."
},
"creators": {
"type": "array",
"items": {
"type": "string",
"example": "GitHub"
},
"description": "The tools that were used to generate the SPDX document."
}
}
},
"relationships": {
"type": "array",
"items": {
"type": "object",
"properties": {
"spdxElementId": {
"type": "string",
"description": "The SPDX identifier of the package that is the source of the relationship."
},
"relationshipType": {
"type": "string",
"example": "DEPENDS_ON",
"description": "The type of relationship between the two SPDX elements."
},
"relatedSpdxElement": {
"type": "string",
"description": "The SPDX identifier of the package that is the target of the relationship."
}
}
},
"required": [
"relationshipType",
"spdxElementId",
"relatedSpdxElement"
]
},
"documentNamespace": {
"type": "string",
"example": "https://spdx.org/spdxdocs/protobom/15e41dd2-f961-4f4d-b8dc-f8f57ad70d57",
"description": "The namespace for the SPDX document."
}
}
}
},
"description": "A schema for the SPDX JSON format returned by the Dependency Graph."
}
deploy-key
{
"type": "object",
"title": "Deploy Key",
"required": [
"id",
"key",
"url",
"title",
"verified",
"created_at",
"read_only"
],
"properties": {
"id": {
"type": "integer"
},
"key": {
"type": "string"
},
"url": {
"type": "string"
},
"title": {
"type": "string"
},
"enabled": {
"type": "boolean"
},
"added_by": {
"type": "string",
"nullable": true
},
"verified": {
"type": "boolean"
},
"last_used": {
"type": "string",
"format": "date-time",
"nullable": true
},
"read_only": {
"type": "boolean"
},
"created_at": {
"type": "string"
}
},
"description": "An SSH key granting access to a single repository."
}
deployment
{
"type": "object",
"title": "Deployment",
"required": [
"id",
"node_id",
"sha",
"ref",
"task",
"environment",
"creator",
"payload",
"description",
"statuses_url",
"repository_url",
"url",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"description": "Unique identifier of the deployment"
},
"ref": {
"type": "string",
"example": "topic-branch",
"description": "The ref to deploy. This can be a branch, tag, or sha."
},
"sha": {
"type": "string",
"example": "a84d88e7554fc1fa21bcbc4efae3c782a70d2b9d"
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/example/deployments/1"
},
"task": {
"type": "string",
"example": "deploy",
"description": "Parameter to specify a task to execute"
},
"creator": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"node_id": {
"type": "string",
"example": "MDEwOkRlcGxveW1lbnQx"
},
"payload": {
"oneOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "string"
}
]
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2012-07-20T01:19:13Z"
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2012-07-20T01:19:13Z"
},
"description": {
"type": "string",
"example": "Deploy request from hubot",
"nullable": true
},
"environment": {
"type": "string",
"example": "production",
"description": "Name for the target deployment environment."
},
"statuses_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/example/deployments/1/statuses"
},
"repository_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/example"
},
"original_environment": {
"type": "string",
"example": "staging"
},
"transient_environment": {
"type": "boolean",
"example": true,
"description": "Specifies if the given environment is will no longer exist at some point in the future. Default: false."
},
"production_environment": {
"type": "boolean",
"example": true,
"description": "Specifies if the given environment is one that end-users directly interact with. Default: false."
},
"performed_via_github_app": {
"$ref": "#/components/schemas/nullable-integration"
}
},
"description": "A request for a specific ref(branch,sha,tag) to be deployed"
}
deployment-branch-policy
{
"type": "object",
"title": "Deployment branch policy",
"properties": {
"id": {
"type": "integer",
"example": 361471,
"description": "The unique identifier of the branch or tag policy."
},
"name": {
"type": "string",
"example": "release/*",
"description": "The name pattern that branches or tags must match in order to deploy to the environment."
},
"type": {
"enum": [
"branch",
"tag"
],
"type": "string",
"example": "branch",
"description": "Whether this rule targets a branch or tag."
},
"node_id": {
"type": "string",
"example": "MDE2OkdhdGVCcmFuY2hQb2xpY3kzNjE0NzE="
}
},
"description": "Details of a deployment branch or tag policy."
}
deployment-branch-policy-name-pattern
{
"type": "object",
"title": "Deployment branch policy name pattern",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"example": "release/*",
"description": "The name pattern that branches must match in order to deploy to the environment.\n\nWildcard characters will not match `/`. For example, to match branches that begin with `release/` and contain an additional single slash, use `release/*/*`.\nFor more information about pattern matching syntax, see the [Ruby File.fnmatch documentation](https://ruby-doc.org/core-2.5.1/File.html#method-c-fnmatch)."
}
}
}
deployment-branch-policy-name-pattern-with-type
{
"type": "object",
"title": "Deployment branch and tag policy name pattern",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"example": "release/*",
"description": "The name pattern that branches or tags must match in order to deploy to the environment.\n\nWildcard characters will not match `/`. For example, to match branches that begin with `release/` and contain an additional single slash, use `release/*/*`.\nFor more information about pattern matching syntax, see the [Ruby File.fnmatch documentation](https://ruby-doc.org/core-2.5.1/File.html#method-c-fnmatch)."
},
"type": {
"enum": [
"branch",
"tag"
],
"type": "string",
"example": "branch",
"description": "Whether this rule targets a branch or tag"
}
}
}
deployment-branch-policy-settings
{
"type": "object",
"nullable": true,
"required": [
"protected_branches",
"custom_branch_policies"
],
"properties": {
"protected_branches": {
"type": "boolean",
"description": "Whether only branches with branch protection rules can deploy to this environment. If `protected_branches` is `true`, `custom_branch_policies` must be `false`; if `protected_branches` is `false`, `custom_branch_policies` must be `true`."
},
"custom_branch_policies": {
"type": "boolean",
"description": "Whether only branches that match the specified name patterns can deploy to this environment. If `custom_branch_policies` is `true`, `protected_branches` must be `false`; if `custom_branch_policies` is `false`, `protected_branches` must be `true`."
}
},
"description": "The type of deployment branch policy for this environment. To allow all branches to deploy, set to `null`."
}
deployment-protection-rule
{
"type": "object",
"title": "Deployment protection rule",
"required": [
"id",
"node_id",
"enabled",
"app"
],
"properties": {
"id": {
"type": "integer",
"example": 3515,
"description": "The unique identifier for the deployment protection rule."
},
"app": {
"$ref": "#/components/schemas/custom-deployment-rule-app"
},
"enabled": {
"type": "boolean",
"example": true,
"description": "Whether the deployment protection rule is enabled for the environment."
},
"node_id": {
"type": "string",
"example": "MDQ6R2F0ZTM1MTU=",
"description": "The node ID for the deployment protection rule."
}
},
"description": "Deployment protection rule"
}
deployment-reviewer-type
{
"enum": [
"User",
"Team"
],
"type": "string",
"example": "User",
"description": "The type of reviewer."
}
deployment-simple
{
"type": "object",
"title": "Deployment",
"required": [
"id",
"node_id",
"task",
"environment",
"description",
"statuses_url",
"repository_url",
"url",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"example": 42,
"description": "Unique identifier of the deployment"
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/example/deployments/1"
},
"task": {
"type": "string",
"example": "deploy",
"description": "Parameter to specify a task to execute"
},
"node_id": {
"type": "string",
"example": "MDEwOkRlcGxveW1lbnQx"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2012-07-20T01:19:13Z"
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2012-07-20T01:19:13Z"
},
"description": {
"type": "string",
"example": "Deploy request from hubot",
"nullable": true
},
"environment": {
"type": "string",
"example": "production",
"description": "Name for the target deployment environment."
},
"statuses_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/example/deployments/1/statuses"
},
"repository_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/example"
},
"original_environment": {
"type": "string",
"example": "staging"
},
"transient_environment": {
"type": "boolean",
"example": true,
"description": "Specifies if the given environment is will no longer exist at some point in the future. Default: false."
},
"production_environment": {
"type": "boolean",
"example": true,
"description": "Specifies if the given environment is one that end-users directly interact with. Default: false."
},
"performed_via_github_app": {
"$ref": "#/components/schemas/nullable-integration"
}
},
"description": "A deployment created as the result of an Actions check run from a workflow that references an environment"
}
deployment-status
{
"type": "object",
"title": "Deployment Status",
"required": [
"id",
"node_id",
"state",
"creator",
"description",
"deployment_url",
"target_url",
"repository_url",
"url",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 1
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/example/deployments/42/statuses/1"
},
"state": {
"enum": [
"error",
"failure",
"inactive",
"pending",
"success",
"queued",
"in_progress"
],
"type": "string",
"example": "success",
"description": "The state of the status."
},
"creator": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"log_url": {
"type": "string",
"format": "uri",
"default": "",
"example": "https://example.com/deployment/42/output",
"description": "The URL to associate with this status."
},
"node_id": {
"type": "string",
"example": "MDE2OkRlcGxveW1lbnRTdGF0dXMx"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2012-07-20T01:19:13Z"
},
"target_url": {
"type": "string",
"format": "uri",
"default": "",
"example": "https://example.com/deployment/42/output",
"description": "Closing down notice: the URL to associate with this status."
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2012-07-20T01:19:13Z"
},
"description": {
"type": "string",
"default": "",
"example": "Deployment finished successfully.",
"maxLength": 140,
"description": "A short description of the status."
},
"environment": {
"type": "string",
"default": "",
"example": "production",
"description": "The environment of the deployment that the status is for."
},
"deployment_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/example/deployments/42"
},
"repository_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/example"
},
"environment_url": {
"type": "string",
"format": "uri",
"default": "",
"example": "https://staging.example.com/",
"description": "The URL for accessing your environment."
},
"performed_via_github_app": {
"$ref": "#/components/schemas/nullable-integration"
}
},
"description": "The status of a deployment."
}
diff-entry
{
"type": "object",
"title": "Diff Entry",
"required": [
"additions",
"blob_url",
"changes",
"contents_url",
"deletions",
"filename",
"raw_url",
"sha",
"status"
],
"properties": {
"sha": {
"type": "string",
"example": "bbcd538c8e72b8c175046e27cc8f907076331401",
"nullable": true
},
"patch": {
"type": "string",
"example": "@@ -132,7 +132,7 @@ module Test @@ -1000,7 +1000,7 @@ module Test"
},
"status": {
"enum": [
"added",
"removed",
"modified",
"renamed",
"copied",
"changed",
"unchanged"
],
"type": "string",
"example": "added"
},
"changes": {
"type": "integer",
"example": 124
},
"raw_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/octocat/Hello-World/raw/6dcb09b5b57875f334f61aebed695e2e4193db5e/file1.txt"
},
"blob_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/octocat/Hello-World/blob/6dcb09b5b57875f334f61aebed695e2e4193db5e/file1.txt"
},
"filename": {
"type": "string",
"example": "file1.txt"
},
"additions": {
"type": "integer",
"example": 103
},
"deletions": {
"type": "integer",
"example": 21
},
"contents_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/contents/file1.txt?ref=6dcb09b5b57875f334f61aebed695e2e4193db5e"
},
"previous_filename": {
"type": "string",
"example": "file.txt"
}
},
"description": "Diff Entry"
}
discussion
{
"type": "object",
"title": "Discussion",
"required": [
"repository_url",
"category",
"answer_html_url",
"answer_chosen_at",
"answer_chosen_by",
"html_url",
"id",
"node_id",
"number",
"title",
"user",
"state",
"state_reason",
"locked",
"comments",
"created_at",
"updated_at",
"active_lock_reason",
"body"
],
"properties": {
"id": {
"type": "integer"
},
"body": {
"type": "string"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"state": {
"enum": [
"open",
"closed",
"locked",
"converting",
"transferring"
],
"type": "string",
"description": "The current state of the discussion.\n`converting` means that the discussion is being converted from an issue.\n`transferring` means that the discussion is being transferred from another repository."
},
"title": {
"type": "string"
},
"labels": {
"type": "array",
"items": {
"$ref": "#/components/schemas/label"
}
},
"locked": {
"type": "boolean"
},
"number": {
"type": "integer"
},
"node_id": {
"type": "string"
},
"category": {
"type": "object",
"required": [
"id",
"repository_id",
"emoji",
"name",
"description",
"created_at",
"updated_at",
"slug",
"is_answerable"
],
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"slug": {
"type": "string"
},
"emoji": {
"type": "string"
},
"node_id": {
"type": "string"
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string"
},
"description": {
"type": "string"
},
"is_answerable": {
"type": "boolean"
},
"repository_id": {
"type": "integer"
}
}
},
"comments": {
"type": "integer"
},
"html_url": {
"type": "string"
},
"reactions": {
"type": "object",
"title": "Reactions",
"required": [
"url",
"total_count",
"+1",
"-1",
"laugh",
"confused",
"heart",
"hooray",
"eyes",
"rocket"
],
"properties": {
"+1": {
"type": "integer"
},
"-1": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"eyes": {
"type": "integer"
},
"heart": {
"type": "integer"
},
"laugh": {
"type": "integer"
},
"hooray": {
"type": "integer"
},
"rocket": {
"type": "integer"
},
"confused": {
"type": "integer"
},
"total_count": {
"type": "integer"
}
}
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"state_reason": {
"enum": [
"resolved",
"outdated",
"duplicate",
"reopened"
],
"type": "string",
"example": "resolved",
"nullable": true,
"description": "The reason for the current state"
},
"timeline_url": {
"type": "string"
},
"repository_url": {
"type": "string"
},
"answer_html_url": {
"type": "string",
"nullable": true
},
"answer_chosen_at": {
"type": "string",
"nullable": true
},
"answer_chosen_by": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"active_lock_reason": {
"type": "string",
"nullable": true
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
}
},
"description": "A Discussion in a repository."
}
discussion-event
{
"type": "object",
"title": "DiscussionEvent",
"required": [
"action",
"discussion"
],
"properties": {
"action": {
"type": "string"
},
"discussion": {
"$ref": "#/components/schemas/discussion"
}
}
}
email
{
"type": "object",
"title": "Email",
"required": [
"email",
"primary",
"verified",
"visibility"
],
"properties": {
"email": {
"type": "string",
"format": "email",
"example": "octocat@github.com"
},
"primary": {
"type": "boolean",
"example": true
},
"verified": {
"type": "boolean",
"example": true
},
"visibility": {
"type": "string",
"example": "public",
"nullable": true
}
},
"description": "Email"
}
empty-object
{
"type": "object",
"title": "Empty Object",
"properties": {},
"description": "An object without any properties.",
"additionalProperties": false
}
enabled-repositories
{
"enum": [
"all",
"none",
"selected"
],
"type": "string",
"description": "The policy that controls the repositories in the organization that are allowed to run GitHub Actions."
}
enterprise
{
"type": "object",
"title": "Enterprise",
"required": [
"id",
"node_id",
"name",
"slug",
"html_url",
"created_at",
"updated_at",
"avatar_url"
],
"properties": {
"id": {
"type": "integer",
"example": 42,
"description": "Unique identifier of the enterprise"
},
"name": {
"type": "string",
"example": "Octo Business",
"description": "The name of the enterprise."
},
"slug": {
"type": "string",
"example": "octo-business",
"description": "The slug url identifier for the enterprise."
},
"node_id": {
"type": "string",
"example": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5"
},
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/enterprises/octo-business"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2019-01-26T19:01:12Z",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2019-01-26T19:14:43Z",
"nullable": true
},
"description": {
"type": "string",
"nullable": true,
"description": "A short description of the enterprise."
},
"website_url": {
"type": "string",
"format": "uri",
"nullable": true,
"description": "The enterprise's website URL."
}
},
"description": "An enterprise on GitHub."
}
enterprise-team
{
"type": "object",
"title": "Enterprise Team",
"required": [
"id",
"url",
"members_url",
"name",
"html_url",
"slug",
"created_at",
"updated_at",
"group_id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"slug": {
"type": "string"
},
"group_id": {
"type": "string",
"example": "62ab9291-fae2-468e-974b-7e45096d5021",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/enterprises/dc/teams/justice-league"
},
"created_at": {
"type": "string",
"format": "date-time"
},
"group_name": {
"type": "string",
"example": "Justice League",
"nullable": true,
"description": "Retired: this field will not be returned with GHEC enterprise teams."
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string"
},
"members_url": {
"type": "string"
},
"sync_to_organizations": {
"type": "string",
"example": "disabled | all",
"description": "Retired: this field will not be returned with GHEC enterprise teams."
},
"organization_selection_type": {
"type": "string",
"example": "disabled | selected | all"
}
},
"description": "Group of enterprise owners and/or members"
}
enterprise-webhooks
{
"type": "object",
"title": "Enterprise",
"required": [
"id",
"node_id",
"name",
"slug",
"html_url",
"created_at",
"updated_at",
"avatar_url"
],
"properties": {
"id": {
"type": "integer",
"example": 42,
"description": "Unique identifier of the enterprise"
},
"name": {
"type": "string",
"example": "Octo Business",
"description": "The name of the enterprise."
},
"slug": {
"type": "string",
"example": "octo-business",
"description": "The slug url identifier for the enterprise."
},
"node_id": {
"type": "string",
"example": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5"
},
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/enterprises/octo-business"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2019-01-26T19:01:12Z",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2019-01-26T19:14:43Z",
"nullable": true
},
"description": {
"type": "string",
"nullable": true,
"description": "A short description of the enterprise."
},
"website_url": {
"type": "string",
"format": "uri",
"nullable": true,
"description": "The enterprise's website URL."
}
},
"description": "An enterprise on GitHub. Webhook payloads contain the `enterprise` property when the webhook is configured\non an enterprise account or an organization that's part of an enterprise account. For more information,\nsee \"[About enterprise accounts](https://docs.github.com/admin/overview/about-enterprise-accounts).\""
}
environment
{
"type": "object",
"title": "Environment",
"required": [
"id",
"node_id",
"name",
"url",
"html_url",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 56780428,
"description": "The id of the environment."
},
"url": {
"type": "string",
"example": "https://api.github.com/repos/github/hello-world/environments/staging"
},
"name": {
"type": "string",
"example": "staging",
"description": "The name of the environment."
},
"node_id": {
"type": "string",
"example": "MDExOkVudmlyb25tZW50NTY3ODA0Mjg="
},
"html_url": {
"type": "string",
"example": "https://github.com/github/hello-world/deployments/activity_log?environments_filter=staging"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2020-11-23T22:00:40Z",
"description": "The time that the environment was created, in ISO 8601 format."
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2020-11-23T22:00:40Z",
"description": "The time that the environment was last updated, in ISO 8601 format."
},
"protection_rules": {
"type": "array",
"items": {
"anyOf": [
{
"type": "object",
"required": [
"id",
"node_id",
"type"
],
"properties": {
"id": {
"type": "integer",
"example": 3515
},
"type": {
"type": "string",
"example": "wait_timer"
},
"node_id": {
"type": "string",
"example": "MDQ6R2F0ZTM1MTU="
},
"wait_timer": {
"$ref": "#/components/schemas/wait-timer"
}
}
},
{
"type": "object",
"required": [
"id",
"node_id",
"type"
],
"properties": {
"id": {
"type": "integer",
"example": 3755
},
"type": {
"type": "string",
"example": "required_reviewers"
},
"node_id": {
"type": "string",
"example": "MDQ6R2F0ZTM3NTU="
},
"reviewers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"$ref": "#/components/schemas/deployment-reviewer-type"
},
"reviewer": {
"anyOf": [
{
"$ref": "#/components/schemas/simple-user"
},
{
"$ref": "#/components/schemas/team"
}
]
}
}
},
"description": "The people or teams that may approve jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed."
},
"prevent_self_review": {
"type": "boolean",
"example": false,
"description": "Whether deployments to this environment can be approved by the user who created the deployment."
}
}
},
{
"type": "object",
"required": [
"id",
"node_id",
"type"
],
"properties": {
"id": {
"type": "integer",
"example": 3515
},
"type": {
"type": "string",
"example": "branch_policy"
},
"node_id": {
"type": "string",
"example": "MDQ6R2F0ZTM1MTU="
}
}
}
]
},
"description": "Built-in deployment protection rules for the environment."
},
"deployment_branch_policy": {
"$ref": "#/components/schemas/deployment-branch-policy-settings"
}
},
"description": "Details of a deployment environment"
}
environment-approvals
{
"type": "object",
"title": "Environment Approval",
"required": [
"environments",
"state",
"user",
"comment"
],
"properties": {
"user": {
"$ref": "#/components/schemas/simple-user"
},
"state": {
"enum": [
"approved",
"rejected",
"pending"
],
"type": "string",
"example": "approved",
"description": "Whether deployment to the environment(s) was approved or rejected or pending (with comments)"
},
"comment": {
"type": "string",
"example": "Ship it!",
"description": "The comment submitted with the deployment review"
},
"environments": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"example": 56780428,
"description": "The id of the environment."
},
"url": {
"type": "string",
"example": "https://api.github.com/repos/github/hello-world/environments/staging"
},
"name": {
"type": "string",
"example": "staging",
"description": "The name of the environment."
},
"node_id": {
"type": "string",
"example": "MDExOkVudmlyb25tZW50NTY3ODA0Mjg="
},
"html_url": {
"type": "string",
"example": "https://github.com/github/hello-world/deployments/activity_log?environments_filter=staging"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2020-11-23T22:00:40Z",
"description": "The time that the environment was created, in ISO 8601 format."
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2020-11-23T22:00:40Z",
"description": "The time that the environment was last updated, in ISO 8601 format."
}
}
},
"description": "The list of environments that were approved or rejected"
}
},
"description": "An entry in the reviews log for environment deployments"
}
event
{
"type": "object",
"title": "Event",
"required": [
"id",
"type",
"actor",
"repo",
"payload",
"public",
"created_at"
],
"properties": {
"id": {
"type": "string"
},
"org": {
"$ref": "#/components/schemas/actor"
},
"repo": {
"type": "object",
"required": [
"id",
"name",
"url"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
}
}
},
"type": {
"type": "string",
"nullable": true
},
"actor": {
"$ref": "#/components/schemas/actor"
},
"public": {
"type": "boolean"
},
"payload": {
"oneOf": [
{
"$ref": "#/components/schemas/create-event"
},
{
"$ref": "#/components/schemas/delete-event"
},
{
"$ref": "#/components/schemas/discussion-event"
},
{
"$ref": "#/components/schemas/issues-event"
},
{
"$ref": "#/components/schemas/issue-comment-event"
},
{
"$ref": "#/components/schemas/fork-event"
},
{
"$ref": "#/components/schemas/gollum-event"
},
{
"$ref": "#/components/schemas/member-event"
},
{
"$ref": "#/components/schemas/public-event"
},
{
"$ref": "#/components/schemas/push-event"
},
{
"$ref": "#/components/schemas/pull-request-event"
},
{
"$ref": "#/components/schemas/pull-request-review-comment-event"
},
{
"$ref": "#/components/schemas/pull-request-review-event"
},
{
"$ref": "#/components/schemas/commit-comment-event"
},
{
"$ref": "#/components/schemas/release-event"
},
{
"$ref": "#/components/schemas/watch-event"
}
]
},
"created_at": {
"type": "string",
"format": "date-time",
"nullable": true
}
},
"description": "Event"
}
feed
{
"type": "object",
"title": "Feed",
"required": [
"_links",
"timeline_url",
"user_url"
],
"properties": {
"_links": {
"type": "object",
"required": [
"timeline",
"user"
],
"properties": {
"user": {
"$ref": "#/components/schemas/link-with-type"
},
"timeline": {
"$ref": "#/components/schemas/link-with-type"
},
"current_user": {
"$ref": "#/components/schemas/link-with-type"
},
"current_user_actor": {
"$ref": "#/components/schemas/link-with-type"
},
"current_user_public": {
"$ref": "#/components/schemas/link-with-type"
},
"security_advisories": {
"$ref": "#/components/schemas/link-with-type"
},
"repository_discussions": {
"$ref": "#/components/schemas/link-with-type"
},
"current_user_organization": {
"$ref": "#/components/schemas/link-with-type"
},
"current_user_organizations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/link-with-type"
}
},
"repository_discussions_category": {
"$ref": "#/components/schemas/link-with-type"
}
}
},
"user_url": {
"type": "string",
"example": "https://github.com/{user}"
},
"timeline_url": {
"type": "string",
"example": "https://github.com/timeline"
},
"current_user_url": {
"type": "string",
"example": "https://github.com/octocat.private?token=abc123"
},
"current_user_actor_url": {
"type": "string",
"example": "https://github.com/octocat.private.actor?token=abc123"
},
"current_user_public_url": {
"type": "string",
"example": "https://github.com/octocat"
},
"security_advisories_url": {
"type": "string",
"example": "https://github.com/security-advisories"
},
"repository_discussions_url": {
"type": "string",
"example": "https://github.com/{user}/{repo}/discussions",
"description": "A feed of discussions for a given repository."
},
"current_user_organization_url": {
"type": "string",
"example": "https://github.com/octocat-org"
},
"current_user_organization_urls": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
},
"example": [
"https://github.com/organizations/github/octocat.private.atom?token=abc123"
]
},
"repository_discussions_category_url": {
"type": "string",
"example": "https://github.com/{user}/{repo}/discussions/categories/{category}",
"description": "A feed of discussions for a given repository and category."
}
},
"description": "Feed"
}
file-commit
{
"type": "object",
"title": "File Commit",
"required": [
"content",
"commit"
],
"properties": {
"commit": {
"type": "object",
"properties": {
"sha": {
"type": "string"
},
"url": {
"type": "string"
},
"tree": {
"type": "object",
"properties": {
"sha": {
"type": "string"
},
"url": {
"type": "string"
}
}
},
"author": {
"type": "object",
"properties": {
"date": {
"type": "string"
},
"name": {
"type": "string"
},
"email": {
"type": "string"
}
}
},
"message": {
"type": "string"
},
"node_id": {
"type": "string"
},
"parents": {
"type": "array",
"items": {
"type": "object",
"properties": {
"sha": {
"type": "string"
},
"url": {
"type": "string"
},
"html_url": {
"type": "string"
}
}
}
},
"html_url": {
"type": "string"
},
"committer": {
"type": "object",
"properties": {
"date": {
"type": "string"
},
"name": {
"type": "string"
},
"email": {
"type": "string"
}
}
},
"verification": {
"type": "object",
"properties": {
"reason": {
"type": "string"
},
"payload": {
"type": "string",
"nullable": true
},
"verified": {
"type": "boolean"
},
"signature": {
"type": "string",
"nullable": true
},
"verified_at": {
"type": "string",
"nullable": true
}
}
}
}
},
"content": {
"type": "object",
"nullable": true,
"properties": {
"sha": {
"type": "string"
},
"url": {
"type": "string"
},
"name": {
"type": "string"
},
"path": {
"type": "string"
},
"size": {
"type": "integer"
},
"type": {
"type": "string"
},
"_links": {
"type": "object",
"properties": {
"git": {
"type": "string"
},
"html": {
"type": "string"
},
"self": {
"type": "string"
}
}
},
"git_url": {
"type": "string"
},
"html_url": {
"type": "string"
},
"download_url": {
"type": "string"
}
}
}
},
"description": "File Commit"
}
fork-event
{
"type": "object",
"title": "ForkEvent",
"required": [
"action",
"forkee"
],
"properties": {
"action": {
"type": "string"
},
"forkee": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string"
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"$ref": "#/components/schemas/simple-user"
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string"
},
"license": {
"$ref": "#/components/schemas/nullable-license-simple"
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean"
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string"
},
"archived": {
"type": "boolean"
},
"disabled": {
"type": "boolean"
},
"has_wiki": {
"type": "boolean"
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string"
},
"keys_url": {
"type": "string"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string"
},
"clone_url": {
"type": "string"
},
"forks_url": {
"type": "string"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string"
},
"pulls_url": {
"type": "string"
},
"pushed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"teams_url": {
"type": "string"
},
"trees_url": {
"type": "string"
},
"created_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"events_url": {
"type": "string"
},
"has_issues": {
"type": "boolean"
},
"issues_url": {
"type": "string"
},
"labels_url": {
"type": "string"
},
"merges_url": {
"type": "string"
},
"mirror_url": {
"type": "string",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"visibility": {
"type": "string"
},
"archive_url": {
"type": "string"
},
"commits_url": {
"type": "string"
},
"compare_url": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"branches_url": {
"type": "string"
},
"comments_url": {
"type": "string"
},
"contents_url": {
"type": "string"
},
"git_refs_url": {
"type": "string"
},
"git_tags_url": {
"type": "string"
},
"has_projects": {
"type": "boolean"
},
"releases_url": {
"type": "string"
},
"statuses_url": {
"type": "string"
},
"allow_forking": {
"type": "boolean"
},
"assignees_url": {
"type": "string"
},
"downloads_url": {
"type": "string"
},
"has_downloads": {
"type": "boolean"
},
"languages_url": {
"type": "string"
},
"default_branch": {
"type": "string"
},
"milestones_url": {
"type": "string"
},
"stargazers_url": {
"type": "string"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string"
},
"git_commits_url": {
"type": "string"
},
"has_discussions": {
"type": "boolean"
},
"subscribers_url": {
"type": "string"
},
"contributors_url": {
"type": "string"
},
"issue_events_url": {
"type": "string"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string"
},
"collaborators_url": {
"type": "string"
},
"has_pull_requests": {
"type": "boolean"
},
"issue_comment_url": {
"type": "string"
},
"notifications_url": {
"type": "string"
},
"open_issues_count": {
"type": "integer"
},
"web_commit_signoff_required": {
"type": "boolean"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
}
}
}
}
}
full-repository
{
"type": "object",
"title": "Full Repository",
"required": [
"archive_url",
"assignees_url",
"blobs_url",
"branches_url",
"collaborators_url",
"comments_url",
"commits_url",
"compare_url",
"contents_url",
"contributors_url",
"deployments_url",
"description",
"downloads_url",
"events_url",
"fork",
"forks_url",
"full_name",
"git_commits_url",
"git_refs_url",
"git_tags_url",
"hooks_url",
"html_url",
"id",
"node_id",
"issue_comment_url",
"issue_events_url",
"issues_url",
"keys_url",
"labels_url",
"languages_url",
"merges_url",
"milestones_url",
"name",
"notifications_url",
"owner",
"private",
"pulls_url",
"releases_url",
"stargazers_url",
"statuses_url",
"subscribers_url",
"subscription_url",
"tags_url",
"teams_url",
"trees_url",
"url",
"clone_url",
"default_branch",
"forks",
"forks_count",
"git_url",
"has_issues",
"has_projects",
"has_wiki",
"has_pages",
"has_discussions",
"homepage",
"language",
"archived",
"disabled",
"mirror_url",
"open_issues",
"open_issues_count",
"license",
"pushed_at",
"size",
"ssh_url",
"stargazers_count",
"svn_url",
"watchers",
"watchers_count",
"created_at",
"updated_at",
"network_count",
"subscribers_count"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 1296269
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"example": "Hello-World"
},
"size": {
"type": "integer",
"example": 108,
"description": "The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0."
},
"forks": {
"type": "integer"
},
"owner": {
"$ref": "#/components/schemas/simple-user"
},
"parent": {
"$ref": "#/components/schemas/repository"
},
"source": {
"$ref": "#/components/schemas/repository"
},
"topics": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"octocat",
"atom",
"electron",
"API"
]
},
"git_url": {
"type": "string",
"example": "git:github.com/octocat/Hello-World.git"
},
"license": {
"$ref": "#/components/schemas/nullable-license-simple"
},
"node_id": {
"type": "string",
"example": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5"
},
"private": {
"type": "boolean"
},
"ssh_url": {
"type": "string",
"example": "git@github.com:octocat/Hello-World.git"
},
"svn_url": {
"type": "string",
"format": "uri",
"example": "https://svn.github.com/octocat/Hello-World"
},
"archived": {
"type": "boolean"
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository disabled."
},
"has_wiki": {
"type": "boolean",
"example": true
},
"homepage": {
"type": "string",
"format": "uri",
"example": "https://github.com",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/octocat/Hello-World"
},
"keys_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/keys{/key_id}"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/tags"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}"
},
"clone_url": {
"type": "string",
"example": "https://github.com/octocat/Hello-World.git"
},
"forks_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/forks"
},
"full_name": {
"type": "string",
"example": "octocat/Hello-World"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/hooks"
},
"pulls_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/pulls{/number}"
},
"pushed_at": {
"type": "string",
"format": "date-time",
"example": "2011-01-26T19:06:43Z"
},
"teams_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/teams"
},
"trees_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/git/trees{/sha}"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2011-01-26T19:01:12Z"
},
"events_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/events"
},
"has_issues": {
"type": "boolean",
"example": true
},
"issues_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/issues{/number}"
},
"labels_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/labels{/name}"
},
"merges_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/merges"
},
"mirror_url": {
"type": "string",
"format": "uri",
"example": "git:git.example.com/octocat/Hello-World",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2011-01-26T19:14:43Z"
},
"visibility": {
"type": "string",
"example": "public",
"description": "The repository visibility: public, private, or internal."
},
"archive_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}"
},
"commits_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/commits{/sha}"
},
"compare_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}"
},
"description": {
"type": "string",
"example": "This your first repo!",
"nullable": true
},
"forks_count": {
"type": "integer",
"example": 9
},
"is_template": {
"type": "boolean",
"example": true
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"admin",
"pull",
"push"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/branches{/branch}"
},
"comments_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/comments{/number}"
},
"contents_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/contents/{+path}"
},
"git_refs_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/git/refs{/sha}"
},
"git_tags_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/git/tags{/sha}"
},
"has_projects": {
"type": "boolean",
"example": true
},
"organization": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"releases_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/releases{/id}"
},
"statuses_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/statuses/{sha}"
},
"allow_forking": {
"type": "boolean",
"example": true
},
"assignees_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/assignees{/user}"
},
"downloads_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/downloads"
},
"has_downloads": {
"type": "boolean",
"example": true
},
"languages_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/languages"
},
"master_branch": {
"type": "string"
},
"network_count": {
"type": "integer",
"example": 0
},
"default_branch": {
"type": "string",
"example": "master"
},
"milestones_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/milestones{/number}"
},
"stargazers_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/stargazers"
},
"watchers_count": {
"type": "integer",
"example": 80
},
"code_of_conduct": {
"$ref": "#/components/schemas/code-of-conduct-simple"
},
"deployments_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/deployments"
},
"git_commits_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/git/commits{/sha}"
},
"has_discussions": {
"type": "boolean",
"example": true
},
"subscribers_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/subscribers"
},
"allow_auto_merge": {
"type": "boolean",
"example": false
},
"contributors_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/contributors"
},
"issue_events_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/issues/events{/number}"
},
"stargazers_count": {
"type": "integer",
"example": 80
},
"subscription_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/subscription"
},
"temp_clone_token": {
"type": "string",
"nullable": true
},
"collaborators_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}"
},
"custom_properties": {
"type": "object",
"description": "The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values.",
"additionalProperties": true
},
"has_pull_requests": {
"type": "boolean",
"example": true
},
"issue_comment_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/issues/comments{/number}"
},
"notifications_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}"
},
"open_issues_count": {
"type": "integer",
"example": 0
},
"subscribers_count": {
"type": "integer",
"example": 42
},
"allow_merge_commit": {
"type": "boolean",
"example": true
},
"allow_rebase_merge": {
"type": "boolean",
"example": true
},
"allow_squash_merge": {
"type": "boolean",
"example": true
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"example": "PR_TITLE",
"description": "The default value for a merge commit title.\n\n - `PR_TITLE` - default to the pull request's title.\n - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
},
"allow_update_branch": {
"type": "boolean",
"example": true
},
"template_repository": {
"$ref": "#/components/schemas/nullable-repository"
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"example": "PR_BODY",
"description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
},
"security_and_analysis": {
"$ref": "#/components/schemas/security-and-analysis"
},
"delete_branch_on_merge": {
"type": "boolean",
"example": false
},
"anonymous_access_enabled": {
"type": "boolean",
"default": true,
"description": "Whether anonymous git access is allowed."
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"example": "PR_TITLE",
"description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"example": "PR_BODY",
"description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
},
"web_commit_signoff_required": {
"type": "boolean",
"example": false
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"example": "all",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
},
"use_squash_pr_title_as_default": {
"type": "boolean",
"example": false
}
},
"description": "Full Repository",
"x-github-breaking-changes": [
{
"patch": {
"properties": {
"use_squash_pr_title_as_default": null
}
},
"version": "2026-03-10",
"changeset": "remove_use_squash_pr_title_as_default"
},
{
"patch": {
"properties": {
"has_downloads": null
}
},
"version": "2026-03-10",
"changeset": "remove_has_downloads"
}
]
}
get-budget
{
"type": "object",
"required": [
"id",
"budget_amount",
"prevent_further_usage",
"budget_product_sku",
"budget_type",
"budget_alerting",
"budget_scope",
"budget_entity_name"
],
"properties": {
"id": {
"type": "string",
"description": "ID of the budget."
},
"budget_type": {
"oneOf": [
{
"enum": [
"ProductPricing"
],
"type": "string"
},
{
"enum": [
"SkuPricing"
],
"type": "string"
}
],
"example": "ProductPricing",
"description": "The type of pricing for the budget"
},
"budget_scope": {
"enum": [
"enterprise",
"organization",
"repository",
"cost_center"
],
"type": "string",
"example": "enterprise",
"description": "The type of scope for the budget"
},
"budget_amount": {
"type": "integer",
"description": "The budget amount in whole dollars. For license-based products, this represents the number of licenses."
},
"budget_alerting": {
"type": "object",
"properties": {
"will_alert": {
"type": "boolean",
"example": true,
"description": "Whether alerts are enabled for this budget"
},
"alert_recipients": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"mona",
"lisa"
],
"description": "Array of user login names who will receive alerts"
}
}
},
"budget_entity_name": {
"type": "string",
"example": "octocat/hello-world",
"description": "The name of the entity to apply the budget to"
},
"budget_product_sku": {
"type": "string",
"example": "actions_linux",
"description": "A single product or sku to apply the budget to."
},
"prevent_further_usage": {
"type": "boolean",
"example": true,
"description": "Whether to prevent additional spending once the budget is exceeded"
}
}
}
get_all_budgets
{
"type": "object",
"required": [
"budgets"
],
"properties": {
"budgets": {
"type": "array",
"items": {
"$ref": "#/components/schemas/budget"
},
"description": "Array of budget objects for the enterprise"
},
"total_count": {
"type": "integer",
"description": "Total number of budgets matching the query"
},
"has_next_page": {
"type": "boolean",
"description": "Indicates if there are more pages of results available (maps to hasNextPage from billing platform)"
}
}
}
gist-comment
{
"type": "object",
"title": "Gist Comment",
"required": [
"url",
"id",
"node_id",
"user",
"body",
"author_association",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"example": 1
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/gists/a6db0bec360bb87e9418/comments/1"
},
"body": {
"type": "string",
"example": "Body of the attachment",
"maxLength": 65535,
"description": "The comment text."
},
"user": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"node_id": {
"type": "string",
"example": "MDExOkdpc3RDb21tZW50MQ=="
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2011-04-18T23:23:56Z"
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2011-04-18T23:23:56Z"
},
"author_association": {
"$ref": "#/components/schemas/author-association"
}
},
"description": "A comment made to a gist."
}
gist-commit
{
"type": "object",
"title": "Gist Commit",
"required": [
"url",
"user",
"version",
"committed_at",
"change_status"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/gists/aa5a315d61ae9438b18d/57a7f021a713b1c5a6a199b54cc514735d2d462f"
},
"user": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"version": {
"type": "string",
"example": "57a7f021a713b1c5a6a199b54cc514735d2d462f"
},
"committed_at": {
"type": "string",
"format": "date-time",
"example": "2010-04-14T02:15:15Z"
},
"change_status": {
"type": "object",
"properties": {
"total": {
"type": "integer"
},
"additions": {
"type": "integer"
},
"deletions": {
"type": "integer"
}
}
}
},
"description": "Gist Commit"
}
gist-history
{
"type": "object",
"title": "Gist History",
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"user": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"version": {
"type": "string"
},
"committed_at": {
"type": "string",
"format": "date-time"
},
"change_status": {
"type": "object",
"properties": {
"total": {
"type": "integer"
},
"additions": {
"type": "integer"
},
"deletions": {
"type": "integer"
}
}
}
},
"description": "Gist History"
}
gist-simple
{
"type": "object",
"title": "Gist Simple",
"properties": {
"id": {
"type": "string"
},
"url": {
"type": "string"
},
"user": {
"type": "string",
"nullable": true
},
"files": {
"type": "object",
"additionalProperties": {
"type": "object",
"nullable": true,
"properties": {
"size": {
"type": "integer"
},
"type": {
"type": "string"
},
"content": {
"type": "string"
},
"raw_url": {
"type": "string"
},
"encoding": {
"type": "string",
"default": "utf-8",
"description": "The encoding used for `content`. Currently, `\"utf-8\"` and `\"base64\"` are supported."
},
"filename": {
"type": "string"
},
"language": {
"type": "string"
},
"truncated": {
"type": "boolean"
}
}
}
},
"forks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"user": {
"$ref": "#/components/schemas/public-user"
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
}
}
},
"nullable": true,
"deprecated": true
},
"owner": {
"$ref": "#/components/schemas/simple-user"
},
"public": {
"type": "boolean"
},
"fork_of": {
"type": "object",
"title": "Gist",
"nullable": true,
"required": [
"id",
"node_id",
"url",
"forks_url",
"commits_url",
"git_pull_url",
"git_push_url",
"html_url",
"comments_url",
"public",
"description",
"comments",
"user",
"files",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"user": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"files": {
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"size": {
"type": "integer"
},
"type": {
"type": "string"
},
"raw_url": {
"type": "string"
},
"filename": {
"type": "string"
},
"language": {
"type": "string"
}
}
}
},
"forks": {
"type": "array",
"items": {}
},
"owner": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"public": {
"type": "boolean"
},
"history": {
"type": "array",
"items": {}
},
"node_id": {
"type": "string"
},
"comments": {
"type": "integer"
},
"html_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"truncated": {
"type": "boolean"
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"commits_url": {
"type": "string",
"format": "uri"
},
"description": {
"type": "string",
"nullable": true
},
"comments_url": {
"type": "string",
"format": "uri"
},
"git_pull_url": {
"type": "string",
"format": "uri"
},
"git_push_url": {
"type": "string",
"format": "uri"
},
"comments_enabled": {
"type": "boolean"
}
},
"description": "Gist"
},
"history": {
"type": "array",
"items": {
"$ref": "#/components/schemas/gist-history"
},
"nullable": true,
"deprecated": true
},
"node_id": {
"type": "string"
},
"comments": {
"type": "integer"
},
"html_url": {
"type": "string"
},
"forks_url": {
"type": "string"
},
"truncated": {
"type": "boolean"
},
"created_at": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"commits_url": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
},
"comments_url": {
"type": "string"
},
"git_pull_url": {
"type": "string"
},
"git_push_url": {
"type": "string"
},
"comments_enabled": {
"type": "boolean"
}
},
"description": "Gist Simple",
"x-github-breaking-changes": [
{
"patch": [
{
"op": "remove",
"path": "/properties/forks"
},
{
"op": "remove",
"path": "/properties/history"
}
],
"version": "2026-03-10",
"changeset": "remove_forks_history_from_base_gist"
}
]
}
git-commit
{
"type": "object",
"title": "Git Commit",
"required": [
"sha",
"node_id",
"url",
"html_url",
"author",
"committer",
"tree",
"message",
"parents",
"verification"
],
"properties": {
"sha": {
"type": "string",
"example": "7638417db6d59f3c431d3e1f261cc637155684cd",
"description": "SHA for the commit"
},
"url": {
"type": "string",
"format": "uri"
},
"tree": {
"type": "object",
"required": [
"sha",
"url"
],
"properties": {
"sha": {
"type": "string",
"example": "7638417db6d59f3c431d3e1f261cc637155684cd",
"description": "SHA for the commit"
},
"url": {
"type": "string",
"format": "uri"
}
}
},
"author": {
"type": "object",
"required": [
"email",
"name",
"date"
],
"properties": {
"date": {
"type": "string",
"format": "date-time",
"example": "2014-08-09T08:02:04+12:00",
"description": "Timestamp of the commit"
},
"name": {
"type": "string",
"example": "Monalisa Octocat",
"description": "Name of the git user"
},
"email": {
"type": "string",
"example": "monalisa.octocat@example.com",
"description": "Git email address of the user"
}
},
"description": "Identifying information for the git-user"
},
"message": {
"type": "string",
"example": "Fix #42",
"description": "Message describing the purpose of the commit"
},
"node_id": {
"type": "string"
},
"parents": {
"type": "array",
"items": {
"type": "object",
"required": [
"sha",
"url",
"html_url"
],
"properties": {
"sha": {
"type": "string",
"example": "7638417db6d59f3c431d3e1f261cc637155684cd",
"description": "SHA for the commit"
},
"url": {
"type": "string",
"format": "uri"
},
"html_url": {
"type": "string",
"format": "uri"
}
}
}
},
"html_url": {
"type": "string",
"format": "uri"
},
"committer": {
"type": "object",
"required": [
"email",
"name",
"date"
],
"properties": {
"date": {
"type": "string",
"format": "date-time",
"example": "2014-08-09T08:02:04+12:00",
"description": "Timestamp of the commit"
},
"name": {
"type": "string",
"example": "Monalisa Octocat",
"description": "Name of the git user"
},
"email": {
"type": "string",
"example": "monalisa.octocat@example.com",
"description": "Git email address of the user"
}
},
"description": "Identifying information for the git-user"
},
"verification": {
"type": "object",
"required": [
"verified",
"reason",
"signature",
"payload",
"verified_at"
],
"properties": {
"reason": {
"type": "string"
},
"payload": {
"type": "string",
"nullable": true
},
"verified": {
"type": "boolean"
},
"signature": {
"type": "string",
"nullable": true
},
"verified_at": {
"type": "string",
"nullable": true
}
}
}
},
"description": "Low-level Git commit operations within a repository"
}
git-ref
{
"type": "object",
"title": "Git Reference",
"required": [
"ref",
"node_id",
"url",
"object"
],
"properties": {
"ref": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"object": {
"type": "object",
"required": [
"type",
"sha",
"url"
],
"properties": {
"sha": {
"type": "string",
"example": "7638417db6d59f3c431d3e1f261cc637155684cd",
"maxLength": 40,
"minLength": 40,
"description": "SHA for the reference"
},
"url": {
"type": "string",
"format": "uri"
},
"type": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
}
},
"description": "Git references within a repository"
}
git-tag
{
"type": "object",
"title": "Git Tag",
"required": [
"sha",
"url",
"node_id",
"tagger",
"object",
"tag",
"message"
],
"properties": {
"sha": {
"type": "string",
"example": "940bd336248efae0f9ee5bc7b2d5c985887b16ac"
},
"tag": {
"type": "string",
"example": "v0.0.1",
"description": "Name of the tag"
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repositories/42/git/tags/940bd336248efae0f9ee5bc7b2d5c985887b16ac",
"description": "URL for the tag"
},
"object": {
"type": "object",
"required": [
"sha",
"type",
"url"
],
"properties": {
"sha": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"type": {
"type": "string"
}
}
},
"tagger": {
"type": "object",
"required": [
"date",
"email",
"name"
],
"properties": {
"date": {
"type": "string"
},
"name": {
"type": "string"
},
"email": {
"type": "string"
}
}
},
"message": {
"type": "string",
"example": "Initial public release",
"description": "Message describing the purpose of the tag"
},
"node_id": {
"type": "string",
"example": "MDM6VGFnOTQwYmQzMzYyNDhlZmFlMGY5ZWU1YmM3YjJkNWM5ODU4ODdiMTZhYw=="
},
"verification": {
"$ref": "#/components/schemas/verification"
}
},
"description": "Metadata for a Git tag"
}
git-tree
{
"type": "object",
"title": "Git Tree",
"required": [
"sha",
"tree",
"truncated"
],
"properties": {
"sha": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"tree": {
"type": "array",
"items": {
"type": "object",
"required": [
"path",
"mode",
"type",
"sha"
],
"properties": {
"sha": {
"type": "string",
"example": "23f6827669e43831def8a7ad935069c8bd418261"
},
"url": {
"type": "string",
"example": "https://api.github.com/repos/owner-482f3203ecf01f67e9deb18e/BBB_Private_Repo/git/blobs/23f6827669e43831def8a7ad935069c8bd418261"
},
"mode": {
"type": "string",
"example": "040000"
},
"path": {
"type": "string",
"example": "test/file.rb"
},
"size": {
"type": "integer",
"example": 12
},
"type": {
"type": "string",
"example": "tree"
}
}
},
"example": [
{
"sha": "44b4fc6d56897b048c772eb4087f854f46256132",
"url": "https://api.github.com/repos/octocat/Hello-World/git/blobs/44b4fc6d56897b048c772eb4087f854f46256132",
"mode": "100644",
"path": "file.rb",
"size": 30,
"type": "blob"
}
],
"description": "Objects specifying a tree structure"
},
"truncated": {
"type": "boolean"
}
},
"description": "The hierarchy between files in a Git repository."
}
gitignore-template
{
"type": "object",
"title": "Gitignore Template",
"required": [
"name",
"source"
],
"properties": {
"name": {
"type": "string",
"example": "C"
},
"source": {
"type": "string",
"example": "# Object files\n*.o\n\n# Libraries\n*.lib\n*.a\n\n# Shared objects (inc. Windows DLLs)\n*.dll\n*.so\n*.so.*\n*.dylib\n\n# Executables\n*.exe\n*.out\n*.app\n"
}
},
"description": "Gitignore Template"
}
global-advisory
{
"type": "object",
"required": [
"ghsa_id",
"cve_id",
"url",
"html_url",
"repository_advisory_url",
"summary",
"description",
"type",
"severity",
"source_code_location",
"identifiers",
"references",
"published_at",
"updated_at",
"github_reviewed_at",
"nvd_published_at",
"withdrawn_at",
"vulnerabilities",
"cvss",
"cwes",
"credits"
],
"properties": {
"url": {
"type": "string",
"readOnly": true,
"description": "The API URL for the advisory."
},
"cvss": {
"type": "object",
"nullable": true,
"required": [
"vector_string",
"score"
],
"properties": {
"score": {
"type": "number",
"maximum": 10,
"minimum": 0,
"nullable": true,
"readOnly": true,
"description": "The CVSS score."
},
"vector_string": {
"type": "string",
"nullable": true,
"description": "The CVSS vector."
}
}
},
"cwes": {
"type": "array",
"items": {
"type": "object",
"required": [
"cwe_id",
"name"
],
"properties": {
"name": {
"type": "string",
"readOnly": true,
"description": "The name of the CWE."
},
"cwe_id": {
"type": "string",
"description": "The Common Weakness Enumeration (CWE) identifier."
}
}
},
"nullable": true
},
"epss": {
"$ref": "#/components/schemas/security-advisory-epss"
},
"type": {
"enum": [
"reviewed",
"unreviewed",
"malware"
],
"type": "string",
"readOnly": true,
"description": "The type of advisory."
},
"cve_id": {
"type": "string",
"nullable": true,
"readOnly": true,
"description": "The Common Vulnerabilities and Exposures (CVE) ID."
},
"credits": {
"type": "array",
"items": {
"type": "object",
"required": [
"user",
"type"
],
"properties": {
"type": {
"$ref": "#/components/schemas/security-advisory-credit-types"
},
"user": {
"$ref": "#/components/schemas/simple-user"
}
}
},
"nullable": true,
"readOnly": true,
"description": "The users who contributed to the advisory."
},
"ghsa_id": {
"type": "string",
"readOnly": true,
"description": "The GitHub Security Advisory ID."
},
"summary": {
"type": "string",
"maxLength": 1024,
"description": "A short summary of the advisory."
},
"html_url": {
"type": "string",
"format": "uri",
"readOnly": true,
"description": "The URL for the advisory."
},
"severity": {
"enum": [
"critical",
"high",
"medium",
"low",
"unknown"
],
"type": "string",
"description": "The severity of the advisory."
},
"references": {
"type": "array",
"items": {
"type": "string",
"description": "URLs with more information regarding the advisory."
},
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time",
"readOnly": true,
"description": "The date and time of when the advisory was last updated, in ISO 8601 format."
},
"description": {
"type": "string",
"nullable": true,
"maxLength": 65535,
"description": "A detailed description of what the advisory entails."
},
"identifiers": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"value"
],
"properties": {
"type": {
"enum": [
"CVE",
"GHSA"
],
"type": "string",
"description": "The type of identifier."
},
"value": {
"type": "string",
"description": "The identifier value."
}
}
},
"nullable": true,
"readOnly": true
},
"published_at": {
"type": "string",
"format": "date-time",
"readOnly": true,
"description": "The date and time of when the advisory was published, in ISO 8601 format."
},
"withdrawn_at": {
"type": "string",
"format": "date-time",
"nullable": true,
"readOnly": true,
"description": "The date and time of when the advisory was withdrawn, in ISO 8601 format."
},
"cvss_severities": {
"$ref": "#/components/schemas/cvss-severities"
},
"vulnerabilities": {
"type": "array",
"items": {
"$ref": "#/components/schemas/vulnerability"
},
"nullable": true,
"description": "The products and respective version ranges affected by the advisory."
},
"nvd_published_at": {
"type": "string",
"format": "date-time",
"nullable": true,
"readOnly": true,
"description": "The date and time when the advisory was published in the National Vulnerability Database, in ISO 8601 format.\nThis field is only populated when the advisory is imported from the National Vulnerability Database."
},
"github_reviewed_at": {
"type": "string",
"format": "date-time",
"nullable": true,
"readOnly": true,
"description": "The date and time of when the advisory was reviewed by GitHub, in ISO 8601 format."
},
"source_code_location": {
"type": "string",
"format": "uri",
"nullable": true,
"description": "The URL of the advisory's source code."
},
"repository_advisory_url": {
"type": "string",
"format": "uri",
"nullable": true,
"readOnly": true,
"description": "The API URL for the repository advisory."
}
},
"description": "A GitHub Security Advisory.",
"additionalProperties": false,
"x-github-breaking-changes": [
{
"patch": {
"required": [
"ghsa_id",
"cve_id",
"url",
"html_url",
"repository_advisory_url",
"summary",
"description",
"type",
"severity",
"source_code_location",
"identifiers",
"references",
"published_at",
"updated_at",
"github_reviewed_at",
"nvd_published_at",
"withdrawn_at",
"vulnerabilities",
"cwes",
"credits"
],
"properties": {
"cvss": null
}
},
"version": "2026-03-10",
"changeset": "deprecate_cvss"
}
]
}
gollum-event
{
"type": "object",
"title": "GollumEvent",
"required": [
"pages"
],
"properties": {
"pages": {
"type": "array",
"items": {
"type": "object",
"properties": {
"sha": {
"type": "string"
},
"title": {
"type": "string",
"nullable": true
},
"action": {
"type": "string"
},
"summary": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string"
},
"page_name": {
"type": "string",
"nullable": true
}
}
}
}
}
}
gpg-key
{
"type": "object",
"title": "GPG Key",
"required": [
"id",
"primary_key_id",
"key_id",
"raw_key",
"public_key",
"created_at",
"expires_at",
"can_sign",
"can_encrypt_comms",
"can_encrypt_storage",
"can_certify",
"emails",
"subkeys",
"revoked"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 3
},
"name": {
"type": "string",
"example": "Octocat's GPG Key",
"nullable": true
},
"emails": {
"type": "array",
"items": {
"type": "object",
"properties": {
"email": {
"type": "string"
},
"verified": {
"type": "boolean"
}
}
},
"example": [
{
"email": "octocat@users.noreply.github.com",
"verified": true
}
]
},
"key_id": {
"type": "string",
"example": "3262EFF25BA0D270"
},
"raw_key": {
"type": "string",
"nullable": true
},
"revoked": {
"type": "boolean",
"example": true
},
"subkeys": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"emails": {
"type": "array",
"items": {
"type": "object",
"properties": {
"email": {
"type": "string"
},
"verified": {
"type": "boolean"
}
}
}
},
"key_id": {
"type": "string"
},
"raw_key": {
"type": "string",
"nullable": true
},
"revoked": {
"type": "boolean"
},
"subkeys": {
"type": "array",
"items": {}
},
"can_sign": {
"type": "boolean"
},
"created_at": {
"type": "string"
},
"expires_at": {
"type": "string",
"nullable": true
},
"public_key": {
"type": "string"
},
"can_certify": {
"type": "boolean"
},
"primary_key_id": {
"type": "integer"
},
"can_encrypt_comms": {
"type": "boolean"
},
"can_encrypt_storage": {
"type": "boolean"
}
}
},
"example": [
{
"id": 4,
"emails": [],
"key_id": "4A595D4C72EE49C7",
"revoked": false,
"can_sign": false,
"created_at": "2016-03-24T11:31:04-06:00",
"expires_at": null,
"public_key": "zsBNBFayYZ...",
"can_certify": false,
"primary_key_id": 3,
"can_encrypt_comms": true,
"can_encrypt_storage": true
}
]
},
"can_sign": {
"type": "boolean",
"example": true
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2016-03-24T11:31:04-06:00"
},
"expires_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"public_key": {
"type": "string",
"example": "xsBNBFayYZ..."
},
"can_certify": {
"type": "boolean",
"example": true
},
"primary_key_id": {
"type": "integer",
"nullable": true
},
"can_encrypt_comms": {
"type": "boolean"
},
"can_encrypt_storage": {
"type": "boolean"
}
},
"description": "A unique encryption key"
}
hook
{
"type": "object",
"title": "Webhook",
"required": [
"id",
"url",
"type",
"name",
"active",
"events",
"config",
"ping_url",
"created_at",
"updated_at",
"last_response",
"test_url"
],
"properties": {
"id": {
"type": "integer",
"example": 42,
"description": "Unique identifier of the webhook."
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/hooks/1"
},
"name": {
"type": "string",
"example": "web",
"description": "The name of a valid service, use 'web' for a webhook."
},
"type": {
"type": "string"
},
"active": {
"type": "boolean",
"example": true,
"description": "Determines whether the hook is actually triggered on pushes."
},
"config": {
"$ref": "#/components/schemas/webhook-config"
},
"events": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"push",
"pull_request"
],
"description": "Determines what events the hook is triggered for. Default: ['push']."
},
"ping_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/hooks/1/pings"
},
"test_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/hooks/1/test"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2011-09-06T17:26:27Z"
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2011-09-06T20:39:23Z"
},
"last_response": {
"$ref": "#/components/schemas/hook-response"
},
"deliveries_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/hooks/1/deliveries"
}
},
"description": "Webhooks for repositories."
}
hook-delivery
{
"type": "object",
"title": "Webhook delivery",
"required": [
"id",
"guid",
"delivered_at",
"redelivery",
"duration",
"status",
"status_code",
"event",
"action",
"installation_id",
"repository_id",
"request",
"response"
],
"properties": {
"id": {
"type": "integer",
"example": 42,
"description": "Unique identifier of the delivery."
},
"url": {
"type": "string",
"example": "https://www.example.com",
"description": "The URL target of the delivery."
},
"guid": {
"type": "string",
"example": "58474f00-b361-11eb-836d-0e4f3503ccbe",
"description": "Unique identifier for the event (shared with all deliveries for all webhooks that subscribe to this event)."
},
"event": {
"type": "string",
"example": "issues",
"description": "The event that triggered the delivery."
},
"action": {
"type": "string",
"example": "opened",
"nullable": true,
"description": "The type of activity for the event that triggered the delivery."
},
"status": {
"type": "string",
"example": "failed to connect",
"description": "Description of the status of the attempted delivery"
},
"request": {
"type": "object",
"required": [
"headers",
"payload"
],
"properties": {
"headers": {
"type": "object",
"nullable": true,
"description": "The request headers sent with the webhook delivery.",
"additionalProperties": true
},
"payload": {
"type": "object",
"nullable": true,
"description": "The webhook payload.",
"additionalProperties": true
}
}
},
"duration": {
"type": "number",
"example": 0.03,
"description": "Time spent delivering."
},
"response": {
"type": "object",
"required": [
"headers",
"payload"
],
"properties": {
"headers": {
"type": "object",
"nullable": true,
"description": "The response headers received when the delivery was made.",
"additionalProperties": true
},
"payload": {
"type": "string",
"nullable": true,
"description": "The response payload received.",
"additionalProperties": true
}
}
},
"redelivery": {
"type": "boolean",
"example": false,
"description": "Whether the delivery is a redelivery."
},
"status_code": {
"type": "integer",
"example": 502,
"description": "Status code received when delivery was made."
},
"delivered_at": {
"type": "string",
"format": "date-time",
"example": "2021-05-12T20:33:44Z",
"description": "Time when the delivery was delivered."
},
"throttled_at": {
"type": "string",
"format": "date-time",
"example": "2021-05-12T20:33:44Z",
"nullable": true,
"description": "Time when the webhook delivery was throttled."
},
"repository_id": {
"type": "integer",
"example": 123,
"nullable": true,
"description": "The id of the repository associated with this event."
},
"installation_id": {
"type": "integer",
"example": 123,
"nullable": true,
"description": "The id of the GitHub App installation associated with this event."
}
},
"description": "Delivery made by a webhook."
}
hook-delivery-item
{
"type": "object",
"title": "Simple webhook delivery",
"required": [
"id",
"guid",
"delivered_at",
"redelivery",
"duration",
"status",
"status_code",
"event",
"action",
"installation_id",
"repository_id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"description": "Unique identifier of the webhook delivery."
},
"guid": {
"type": "string",
"example": "58474f00-b361-11eb-836d-0e4f3503ccbe",
"description": "Unique identifier for the event (shared with all deliveries for all webhooks that subscribe to this event)."
},
"event": {
"type": "string",
"example": "issues",
"description": "The event that triggered the delivery."
},
"action": {
"type": "string",
"example": "opened",
"nullable": true,
"description": "The type of activity for the event that triggered the delivery."
},
"status": {
"type": "string",
"example": "failed to connect",
"description": "Describes the response returned after attempting the delivery."
},
"duration": {
"type": "number",
"example": 0.03,
"description": "Time spent delivering."
},
"redelivery": {
"type": "boolean",
"example": false,
"description": "Whether the webhook delivery is a redelivery."
},
"status_code": {
"type": "integer",
"example": 502,
"description": "Status code received when delivery was made."
},
"delivered_at": {
"type": "string",
"format": "date-time",
"example": "2021-05-12T20:33:44Z",
"description": "Time when the webhook delivery occurred."
},
"throttled_at": {
"type": "string",
"format": "date-time",
"example": "2021-05-12T20:33:44Z",
"nullable": true,
"description": "Time when the webhook delivery was throttled."
},
"repository_id": {
"type": "integer",
"format": "int64",
"example": 123,
"nullable": true,
"description": "The id of the repository associated with this event."
},
"installation_id": {
"type": "integer",
"format": "int64",
"example": 123,
"nullable": true,
"description": "The id of the GitHub App installation associated with this event."
}
},
"description": "Delivery made by a webhook, without request and response information."
}
hook-response
{
"type": "object",
"title": "Hook Response",
"required": [
"code",
"status",
"message"
],
"properties": {
"code": {
"type": "integer",
"nullable": true
},
"status": {
"type": "string",
"nullable": true
},
"message": {
"type": "string",
"nullable": true
}
}
}
hovercard
{
"type": "object",
"title": "Hovercard",
"required": [
"contexts"
],
"properties": {
"contexts": {
"type": "array",
"items": {
"type": "object",
"required": [
"message",
"octicon"
],
"properties": {
"message": {
"type": "string"
},
"octicon": {
"type": "string"
}
}
}
}
},
"description": "Hovercard"
}
immutable-releases-organization-settings
{
"type": "object",
"title": "Check immutable releases organization settings",
"required": [
"enforced_repositories"
],
"properties": {
"enforced_repositories": {
"enum": [
"all",
"none",
"selected"
],
"type": "string",
"example": "all",
"description": "The policy that controls how immutable releases are enforced in the organization."
},
"selected_repositories_url": {
"type": "string",
"description": "The API URL to use to get or set the selected repositories for immutable releases enforcement, when `enforced_repositories` is set to `selected`."
}
},
"description": "Check immutable releases settings for an organization."
}
import
{
"type": "object",
"title": "Import",
"required": [
"vcs",
"vcs_url",
"status",
"url",
"repository_url",
"html_url",
"authors_url"
],
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"vcs": {
"type": "string",
"nullable": true
},
"status": {
"enum": [
"auth",
"error",
"none",
"detecting",
"choose",
"auth_failed",
"importing",
"mapping",
"waiting_to_push",
"pushing",
"complete",
"setup",
"unknown",
"detection_found_multiple",
"detection_found_nothing",
"detection_needs_auth"
],
"type": "string"
},
"message": {
"type": "string"
},
"use_lfs": {
"type": "boolean"
},
"vcs_url": {
"type": "string",
"description": "The URL of the originating repository."
},
"html_url": {
"type": "string",
"format": "uri"
},
"svc_root": {
"type": "string"
},
"svn_root": {
"type": "string"
},
"authors_url": {
"type": "string",
"format": "uri"
},
"failed_step": {
"type": "string",
"nullable": true
},
"status_text": {
"type": "string",
"nullable": true
},
"commit_count": {
"type": "integer",
"nullable": true
},
"push_percent": {
"type": "integer",
"nullable": true
},
"tfvc_project": {
"type": "string"
},
"authors_count": {
"type": "integer",
"nullable": true
},
"error_message": {
"type": "string",
"nullable": true
},
"import_percent": {
"type": "integer",
"nullable": true
},
"repository_url": {
"type": "string",
"format": "uri"
},
"has_large_files": {
"type": "boolean"
},
"project_choices": {
"type": "array",
"items": {
"type": "object",
"properties": {
"vcs": {
"type": "string"
},
"human_name": {
"type": "string"
},
"tfvc_project": {
"type": "string"
}
}
}
},
"large_files_size": {
"type": "integer"
},
"large_files_count": {
"type": "integer"
}
},
"description": "A repository import from an external source."
}
installation
{
"type": "object",
"title": "Installation",
"required": [
"id",
"app_id",
"app_slug",
"target_id",
"target_type",
"single_file_name",
"repository_selection",
"access_tokens_url",
"html_url",
"repositories_url",
"events",
"account",
"permissions",
"created_at",
"updated_at",
"suspended_by",
"suspended_at"
],
"properties": {
"id": {
"type": "integer",
"example": 1,
"description": "The ID of the installation."
},
"app_id": {
"type": "integer",
"example": 1
},
"events": {
"type": "array",
"items": {
"type": "string"
}
},
"account": {
"anyOf": [
{
"$ref": "#/components/schemas/simple-user"
},
{
"$ref": "#/components/schemas/enterprise"
}
],
"nullable": true
},
"app_slug": {
"type": "string",
"example": "github-actions"
},
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/organizations/github/settings/installations/1"
},
"client_id": {
"type": "string",
"example": "Iv1.ab1112223334445c"
},
"target_id": {
"type": "integer",
"description": "The ID of the user or organization this token is being scoped to."
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"permissions": {
"$ref": "#/components/schemas/app-permissions"
},
"target_type": {
"type": "string",
"example": "Organization"
},
"suspended_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"suspended_by": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"contact_email": {
"type": "string",
"example": "\"test_13f1e99741e3e004@d7e1eb0bc0a1ba12.com\"",
"nullable": true
},
"repositories_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/installation/repositories"
},
"single_file_name": {
"type": "string",
"example": "config.yaml",
"nullable": true
},
"access_tokens_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/app/installations/1/access_tokens"
},
"single_file_paths": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"config.yml",
".github/issue_TEMPLATE.md"
]
},
"repository_selection": {
"enum": [
"all",
"selected"
],
"type": "string",
"description": "Describe whether all repositories have been selected or there's a selection involved"
},
"has_multiple_single_files": {
"type": "boolean",
"example": true
}
},
"description": "Installation"
}
installation-token
{
"type": "object",
"title": "Installation Token",
"required": [
"token",
"expires_at"
],
"properties": {
"token": {
"type": "string"
},
"expires_at": {
"type": "string"
},
"permissions": {
"$ref": "#/components/schemas/app-permissions"
},
"single_file": {
"type": "string",
"example": "README.md"
},
"repositories": {
"type": "array",
"items": {
"$ref": "#/components/schemas/repository"
}
},
"single_file_paths": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"config.yml",
".github/issue_TEMPLATE.md"
]
},
"repository_selection": {
"enum": [
"all",
"selected"
],
"type": "string"
},
"has_multiple_single_files": {
"type": "boolean",
"example": true
}
},
"description": "Authentication token for a GitHub App installed on a user or org."
}
integration
{
"type": "object",
"title": "GitHub app",
"nullable": true,
"required": [
"id",
"node_id",
"owner",
"name",
"description",
"external_url",
"html_url",
"created_at",
"updated_at",
"permissions",
"events"
],
"properties": {
"id": {
"type": "integer",
"example": 37,
"description": "Unique identifier of the GitHub app"
},
"name": {
"type": "string",
"example": "Probot Owners",
"description": "The name of the GitHub app"
},
"slug": {
"type": "string",
"example": "probot-owners",
"description": "The slug name of the GitHub app"
},
"owner": {
"oneOf": [
{
"$ref": "#/components/schemas/simple-user"
},
{
"$ref": "#/components/schemas/enterprise"
}
]
},
"events": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"label",
"deployment"
],
"description": "The list of events for the GitHub app. Note that the `installation_target`, `security_advisory`, and `meta` events are not included because they are global events and not specific to an installation."
},
"node_id": {
"type": "string",
"example": "MDExOkludGVncmF0aW9uMQ=="
},
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/apps/super-ci"
},
"client_id": {
"type": "string",
"example": "\"Iv1.25b5d1e65ffc4022\""
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2017-07-08T16:18:44-04:00"
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2017-07-08T16:18:44-04:00"
},
"description": {
"type": "string",
"example": "The description of the app.",
"nullable": true
},
"permissions": {
"type": "object",
"example": {
"issues": "read",
"deployments": "write"
},
"properties": {
"checks": {
"type": "string"
},
"issues": {
"type": "string"
},
"contents": {
"type": "string"
},
"metadata": {
"type": "string"
},
"deployments": {
"type": "string"
}
},
"description": "The set of permissions for the GitHub app",
"additionalProperties": {
"type": "string"
}
},
"external_url": {
"type": "string",
"format": "uri",
"example": "https://example.com"
},
"installations_count": {
"type": "integer",
"example": 5,
"description": "The number of installations associated with the GitHub app. Only returned when the integration is requesting details about itself."
}
},
"description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub."
}
integration-installation-request
{
"type": "object",
"title": "Integration Installation Request",
"required": [
"id",
"account",
"requester",
"created_at"
],
"properties": {
"id": {
"type": "integer",
"example": 42,
"description": "Unique identifier of the request installation."
},
"account": {
"anyOf": [
{
"$ref": "#/components/schemas/simple-user"
},
{
"$ref": "#/components/schemas/enterprise"
}
]
},
"node_id": {
"type": "string",
"example": "MDExOkludGVncmF0aW9uMQ=="
},
"requester": {
"$ref": "#/components/schemas/simple-user"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2022-07-08T16:18:44-04:00"
}
},
"description": "Request to install an integration on a target"
}
interaction-expiry
{
"enum": [
"one_day",
"three_days",
"one_week",
"one_month",
"six_months"
],
"type": "string",
"example": "one_month",
"description": "The duration of the interaction restriction. Default: `one_day`."
}
interaction-group
{
"enum": [
"existing_users",
"contributors_only",
"collaborators_only"
],
"type": "string",
"example": "collaborators_only",
"description": "The type of GitHub user that can comment, open issues, or create pull requests while the interaction limit is in effect."
}
interaction-limit
{
"type": "object",
"title": "Interaction Restrictions",
"required": [
"limit"
],
"properties": {
"limit": {
"$ref": "#/components/schemas/interaction-group"
},
"expiry": {
"$ref": "#/components/schemas/interaction-expiry"
}
},
"description": "Limit interactions to a specific type of user for a specified duration"
}
interaction-limit-response
{
"type": "object",
"title": "Interaction Limits",
"required": [
"limit",
"origin",
"expires_at"
],
"properties": {
"limit": {
"$ref": "#/components/schemas/interaction-group"
},
"origin": {
"type": "string",
"example": "repository"
},
"expires_at": {
"type": "string",
"format": "date-time",
"example": "2018-08-17T04:18:39Z"
}
},
"description": "Interaction limit settings."
}
issue
{
"type": "object",
"title": "Issue",
"required": [
"assignee",
"closed_at",
"comments",
"comments_url",
"events_url",
"html_url",
"id",
"node_id",
"labels",
"labels_url",
"milestone",
"number",
"repository_url",
"state",
"locked",
"title",
"url",
"user",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repositories/42/issues/1",
"description": "URL for the issue"
},
"body": {
"type": "string",
"example": "It looks like the new widget form is broken on Safari. When I try and create the widget, Safari crashes. This is reproducible on 10.8, but not 10.9. Maybe a browser bug?",
"nullable": true,
"description": "Contents of the issue"
},
"type": {
"$ref": "#/components/schemas/issue-type"
},
"user": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"draft": {
"type": "boolean"
},
"state": {
"type": "string",
"example": "open",
"description": "State of the issue; either 'open' or 'closed'"
},
"title": {
"type": "string",
"example": "Widget creation fails in Safari on OS X 10.8",
"description": "Title of the issue"
},
"labels": {
"type": "array",
"items": {
"oneOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"color": {
"type": "string",
"nullable": true
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
]
},
"example": [
"bug",
"registration"
],
"description": "Labels to associate with this issue; pass one or more label names to replace the set of labels on this issue; send an empty array to clear all labels from the issue; note that the labels are silently dropped for users without push access to the repository"
},
"locked": {
"type": "boolean"
},
"number": {
"type": "integer",
"example": 42,
"description": "Number uniquely identifying the issue within its repository"
},
"node_id": {
"type": "string"
},
"assignee": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"comments": {
"type": "integer"
},
"html_url": {
"type": "string",
"format": "uri"
},
"assignees": {
"type": "array",
"items": {
"$ref": "#/components/schemas/simple-user"
}
},
"body_html": {
"type": "string"
},
"body_text": {
"type": "string"
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"closed_by": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"milestone": {
"$ref": "#/components/schemas/nullable-milestone"
},
"reactions": {
"$ref": "#/components/schemas/reaction-rollup"
},
"created_at": {
"type": "string",
"format": "date-time"
},
"events_url": {
"type": "string",
"format": "uri"
},
"labels_url": {
"type": "string"
},
"repository": {
"$ref": "#/components/schemas/repository"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"comments_url": {
"type": "string",
"format": "uri"
},
"pull_request": {
"type": "object",
"required": [
"diff_url",
"html_url",
"patch_url",
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"diff_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"merged_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"patch_url": {
"type": "string",
"format": "uri",
"nullable": true
}
}
},
"state_reason": {
"enum": [
"completed",
"reopened",
"not_planned",
"duplicate"
],
"type": "string",
"example": "not_planned",
"nullable": true,
"description": "The reason for the current state"
},
"timeline_url": {
"type": "string",
"format": "uri"
},
"pinned_comment": {
"$ref": "#/components/schemas/nullable-issue-comment"
},
"repository_url": {
"type": "string",
"format": "uri"
},
"parent_issue_url": {
"type": "string",
"format": "uri",
"nullable": true,
"description": "URL to get the parent issue of this issue, if it is a sub-issue"
},
"active_lock_reason": {
"type": "string",
"nullable": true
},
"author_association": {
"$ref": "#/components/schemas/author-association"
},
"issue_field_values": {
"type": "array",
"items": {
"$ref": "#/components/schemas/issue-field-value"
}
},
"sub_issues_summary": {
"$ref": "#/components/schemas/sub-issues-summary"
},
"performed_via_github_app": {
"$ref": "#/components/schemas/nullable-integration"
},
"issue_dependencies_summary": {
"$ref": "#/components/schemas/issue-dependencies-summary"
}
},
"description": "Issues are a great way to keep track of tasks, enhancements, and bugs for your projects.",
"x-github-breaking-changes": [
{
"patch": {
"properties": {
"pull_request": {
"type": "object",
"properties": {
"url": {
"nullable": false
},
"diff_url": {
"nullable": false
},
"html_url": {
"nullable": false
},
"merged_at": {
"nullable": false
},
"patch_url": {
"nullable": false
}
}
}
}
},
"version": "2026-03-10",
"changeset": "deprecate_beta_media_type"
},
{
"patch": {
"required": [
"closed_at",
"comments",
"comments_url",
"events_url",
"html_url",
"id",
"node_id",
"labels",
"labels_url",
"milestone",
"number",
"repository_url",
"state",
"locked",
"title",
"url",
"user",
"created_at",
"updated_at"
],
"properties": {
"assignee": null
}
},
"version": "2026-03-10",
"changeset": "remove_singular_assignee_from_issues_and_pull_requests"
}
]
}
issue-comment
{
"type": "object",
"title": "Issue Comment",
"required": [
"id",
"node_id",
"html_url",
"issue_url",
"user",
"url",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"description": "Unique identifier of the issue comment"
},
"pin": {
"$ref": "#/components/schemas/nullable-pinned-issue-comment"
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repositories/42/issues/comments/1",
"description": "URL for the issue comment"
},
"body": {
"type": "string",
"example": "What version of Safari were you using when you observed this bug?",
"description": "Contents of the issue comment"
},
"user": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"body_html": {
"type": "string"
},
"body_text": {
"type": "string"
},
"issue_url": {
"type": "string",
"format": "uri"
},
"reactions": {
"$ref": "#/components/schemas/reaction-rollup"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2011-04-14T16:00:49Z"
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2011-04-14T16:00:49Z"
},
"author_association": {
"$ref": "#/components/schemas/author-association"
},
"performed_via_github_app": {
"$ref": "#/components/schemas/nullable-integration"
}
},
"description": "Comments provide a way for people to collaborate on an issue."
}
issue-comment-event
{
"type": "object",
"title": "IssueCommentEvent",
"required": [
"action",
"issue",
"comment"
],
"properties": {
"issue": {
"$ref": "#/components/schemas/issue"
},
"action": {
"type": "string"
},
"comment": {
"$ref": "#/components/schemas/issue-comment"
}
}
}
issue-dependencies-summary
{
"type": "object",
"title": "Issue Dependencies Summary",
"required": [
"blocked_by",
"blocking",
"total_blocked_by",
"total_blocking"
],
"properties": {
"blocking": {
"type": "integer"
},
"blocked_by": {
"type": "integer"
},
"total_blocking": {
"type": "integer"
},
"total_blocked_by": {
"type": "integer"
}
}
}
issue-event
{
"type": "object",
"title": "Issue Event",
"required": [
"id",
"node_id",
"url",
"actor",
"event",
"commit_id",
"commit_url",
"created_at"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 1
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/issues/events/1"
},
"actor": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"event": {
"type": "string",
"example": "closed"
},
"issue": {
"$ref": "#/components/schemas/nullable-issue"
},
"label": {
"$ref": "#/components/schemas/issue-event-label"
},
"rename": {
"$ref": "#/components/schemas/issue-event-rename"
},
"node_id": {
"type": "string",
"example": "MDEwOklzc3VlRXZlbnQx"
},
"assignee": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"assigner": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"commit_id": {
"type": "string",
"example": "6dcb09b5b57875f334f61aebed695e2e4193db5e",
"nullable": true
},
"milestone": {
"$ref": "#/components/schemas/issue-event-milestone"
},
"commit_url": {
"type": "string",
"example": "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2011-04-14T16:00:49Z"
},
"lock_reason": {
"type": "string",
"nullable": true
},
"project_card": {
"$ref": "#/components/schemas/issue-event-project-card"
},
"requested_team": {
"$ref": "#/components/schemas/team"
},
"dismissed_review": {
"$ref": "#/components/schemas/issue-event-dismissed-review"
},
"review_requester": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"author_association": {
"$ref": "#/components/schemas/author-association"
},
"requested_reviewer": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"performed_via_github_app": {
"$ref": "#/components/schemas/nullable-integration"
}
},
"description": "Issue Event"
}
issue-event-dismissed-review
{
"type": "object",
"title": "Issue Event Dismissed Review",
"required": [
"state",
"review_id",
"dismissal_message"
],
"properties": {
"state": {
"type": "string"
},
"review_id": {
"type": "integer"
},
"dismissal_message": {
"type": "string",
"nullable": true
},
"dismissal_commit_id": {
"type": "string",
"nullable": true
}
}
}
issue-event-for-issue
{
"anyOf": [
{
"$ref": "#/components/schemas/labeled-issue-event"
},
{
"$ref": "#/components/schemas/unlabeled-issue-event"
},
{
"$ref": "#/components/schemas/assigned-issue-event"
},
{
"$ref": "#/components/schemas/unassigned-issue-event"
},
{
"$ref": "#/components/schemas/milestoned-issue-event"
},
{
"$ref": "#/components/schemas/demilestoned-issue-event"
},
{
"$ref": "#/components/schemas/renamed-issue-event"
},
{
"$ref": "#/components/schemas/review-requested-issue-event"
},
{
"$ref": "#/components/schemas/review-request-removed-issue-event"
},
{
"$ref": "#/components/schemas/review-dismissed-issue-event"
},
{
"$ref": "#/components/schemas/locked-issue-event"
},
{
"$ref": "#/components/schemas/added-to-project-issue-event"
},
{
"$ref": "#/components/schemas/moved-column-in-project-issue-event"
},
{
"$ref": "#/components/schemas/removed-from-project-issue-event"
},
{
"$ref": "#/components/schemas/converted-note-to-issue-issue-event"
}
],
"title": "Issue Event for Issue",
"description": "Issue Event for Issue"
}
issue-event-label
{
"type": "object",
"title": "Issue Event Label",
"required": [
"name",
"color"
],
"properties": {
"name": {
"type": "string",
"nullable": true
},
"color": {
"type": "string",
"nullable": true
}
},
"description": "Issue Event Label"
}
issue-event-milestone
{
"type": "object",
"title": "Issue Event Milestone",
"required": [
"title"
],
"properties": {
"title": {
"type": "string"
}
},
"description": "Issue Event Milestone"
}
issue-event-project-card
{
"type": "object",
"title": "Issue Event Project Card",
"required": [
"url",
"id",
"project_url",
"project_id",
"column_name"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"project_id": {
"type": "integer"
},
"column_name": {
"type": "string"
},
"project_url": {
"type": "string",
"format": "uri"
},
"previous_column_name": {
"type": "string"
}
},
"description": "Issue Event Project Card"
}
issue-event-rename
{
"type": "object",
"title": "Issue Event Rename",
"required": [
"from",
"to"
],
"properties": {
"to": {
"type": "string"
},
"from": {
"type": "string"
}
},
"description": "Issue Event Rename"
}
issue-field
{
"type": "object",
"title": "Issue Field",
"nullable": true,
"required": [
"id",
"node_id",
"name",
"data_type"
],
"properties": {
"id": {
"type": "integer",
"description": "The unique identifier of the issue field."
},
"name": {
"type": "string",
"description": "The name of the issue field."
},
"node_id": {
"type": "string",
"description": "The node identifier of the issue field."
},
"options": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name"
],
"properties": {
"id": {
"type": "integer",
"description": "The unique identifier of the option."
},
"name": {
"type": "string",
"description": "The name of the option."
},
"color": {
"enum": [
"gray",
"blue",
"green",
"yellow",
"orange",
"red",
"pink",
"purple"
],
"type": "string",
"nullable": true,
"description": "The color of the option."
},
"priority": {
"type": "integer",
"nullable": true,
"description": "The priority of the option for ordering."
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "The time the option was created."
},
"updated_at": {
"type": "string",
"format": "date-time",
"description": "The time the option was last updated."
},
"description": {
"type": "string",
"nullable": true,
"description": "The description of the option."
}
}
},
"nullable": true,
"description": "Available options for single select fields."
},
"data_type": {
"enum": [
"text",
"date",
"single_select",
"number"
],
"type": "string",
"description": "The data type of the issue field."
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "The time the issue field was created."
},
"updated_at": {
"type": "string",
"format": "date-time",
"description": "The time the issue field was last updated."
},
"visibility": {
"enum": [
"organization_members_only",
"all"
],
"type": "string",
"description": "The visibility of the issue field. Can be `organization_members_only` (visible only within the organization) or `all` (visible to all users who can see issues)."
},
"description": {
"type": "string",
"nullable": true,
"description": "The description of the issue field."
}
},
"description": "A custom attribute defined at the organization level for attaching structured data to issues."
}
issue-field-value
{
"type": "object",
"title": "Issue Field Value",
"required": [
"issue_field_id",
"node_id",
"data_type",
"value"
],
"properties": {
"value": {
"anyOf": [
{
"type": "string",
"example": "Sample text"
},
{
"type": "number",
"example": 42.5
},
{
"type": "integer",
"example": 1
}
],
"nullable": true,
"description": "The value of the issue field"
},
"node_id": {
"type": "string",
"example": "IFT_GDKND"
},
"data_type": {
"enum": [
"text",
"single_select",
"number",
"date"
],
"type": "string",
"example": "text",
"description": "The data type of the issue field"
},
"issue_field_id": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "Unique identifier for the issue field."
},
"single_select_option": {
"type": "object",
"nullable": true,
"required": [
"id",
"name",
"color"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "Unique identifier for the option."
},
"name": {
"type": "string",
"example": "High",
"description": "The name of the option"
},
"color": {
"type": "string",
"example": "red",
"description": "The color of the option"
}
},
"description": "Details about the selected option (only present for single_select fields)"
}
},
"description": "A value assigned to an issue field"
}
issue-search-result-item
{
"type": "object",
"title": "Issue Search Result Item",
"required": [
"assignee",
"closed_at",
"comments",
"comments_url",
"events_url",
"html_url",
"id",
"node_id",
"labels",
"labels_url",
"milestone",
"number",
"repository_url",
"state",
"locked",
"title",
"url",
"user",
"author_association",
"created_at",
"updated_at",
"score"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"body": {
"type": "string"
},
"type": {
"$ref": "#/components/schemas/issue-type"
},
"user": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"draft": {
"type": "boolean"
},
"score": {
"type": "number"
},
"state": {
"type": "string"
},
"title": {
"type": "string"
},
"labels": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string"
},
"name": {
"type": "string"
},
"color": {
"type": "string"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
},
"locked": {
"type": "boolean"
},
"number": {
"type": "integer"
},
"node_id": {
"type": "string"
},
"assignee": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"comments": {
"type": "integer"
},
"html_url": {
"type": "string",
"format": "uri"
},
"assignees": {
"type": "array",
"items": {
"$ref": "#/components/schemas/simple-user"
},
"nullable": true
},
"body_html": {
"type": "string"
},
"body_text": {
"type": "string"
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"milestone": {
"$ref": "#/components/schemas/nullable-milestone"
},
"reactions": {
"$ref": "#/components/schemas/reaction-rollup"
},
"created_at": {
"type": "string",
"format": "date-time"
},
"events_url": {
"type": "string",
"format": "uri"
},
"labels_url": {
"type": "string"
},
"repository": {
"$ref": "#/components/schemas/repository"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"comments_url": {
"type": "string",
"format": "uri"
},
"pull_request": {
"type": "object",
"required": [
"diff_url",
"html_url",
"patch_url",
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"diff_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"merged_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"patch_url": {
"type": "string",
"format": "uri",
"nullable": true
}
}
},
"state_reason": {
"type": "string",
"nullable": true
},
"text_matches": {
"$ref": "#/components/schemas/search-result-text-matches"
},
"timeline_url": {
"type": "string",
"format": "uri"
},
"pinned_comment": {
"$ref": "#/components/schemas/nullable-issue-comment"
},
"repository_url": {
"type": "string",
"format": "uri"
},
"active_lock_reason": {
"type": "string",
"nullable": true
},
"author_association": {
"$ref": "#/components/schemas/author-association"
},
"issue_field_values": {
"type": "array",
"items": {
"$ref": "#/components/schemas/issue-field-value"
}
},
"sub_issues_summary": {
"$ref": "#/components/schemas/sub-issues-summary"
},
"performed_via_github_app": {
"$ref": "#/components/schemas/nullable-integration"
},
"issue_dependencies_summary": {
"$ref": "#/components/schemas/issue-dependencies-summary"
}
},
"description": "Issue Search Result Item",
"x-github-breaking-changes": [
{
"patch": {
"required": [
"closed_at",
"comments",
"comments_url",
"events_url",
"html_url",
"id",
"node_id",
"labels",
"labels_url",
"milestone",
"number",
"repository_url",
"state",
"locked",
"title",
"url",
"user",
"author_association",
"created_at",
"updated_at",
"score"
],
"properties": {
"assignee": null
}
},
"version": "2026-03-10",
"changeset": "remove_singular_assignee_from_issues_and_pull_requests"
}
]
}
issue-type
{
"type": "object",
"title": "Issue Type",
"nullable": true,
"required": [
"id",
"node_id",
"name",
"description"
],
"properties": {
"id": {
"type": "integer",
"description": "The unique identifier of the issue type."
},
"name": {
"type": "string",
"description": "The name of the issue type."
},
"color": {
"enum": [
"gray",
"blue",
"green",
"yellow",
"orange",
"red",
"pink",
"purple"
],
"type": "string",
"nullable": true,
"description": "The color of the issue type."
},
"node_id": {
"type": "string",
"description": "The node identifier of the issue type."
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "The time the issue type created."
},
"is_enabled": {
"type": "boolean",
"description": "The enabled state of the issue type."
},
"updated_at": {
"type": "string",
"format": "date-time",
"description": "The time the issue type last updated."
},
"description": {
"type": "string",
"nullable": true,
"description": "The description of the issue type."
}
},
"description": "The type of issue."
}
issues-event
{
"type": "object",
"title": "IssuesEvent",
"required": [
"action",
"issue"
],
"properties": {
"issue": {
"$ref": "#/components/schemas/issue"
},
"label": {
"$ref": "#/components/schemas/label"
},
"action": {
"type": "string"
},
"labels": {
"type": "array",
"items": {
"$ref": "#/components/schemas/label"
}
},
"assignee": {
"$ref": "#/components/schemas/simple-user"
},
"assignees": {
"type": "array",
"items": {
"$ref": "#/components/schemas/simple-user"
}
}
}
}
job
{
"type": "object",
"title": "Job",
"required": [
"id",
"node_id",
"run_id",
"run_url",
"head_sha",
"workflow_name",
"head_branch",
"name",
"url",
"html_url",
"status",
"conclusion",
"started_at",
"completed_at",
"check_run_url",
"labels",
"runner_id",
"runner_name",
"runner_group_id",
"runner_group_name",
"created_at"
],
"properties": {
"id": {
"type": "integer",
"example": 21,
"description": "The id of the job."
},
"url": {
"type": "string",
"example": "https://api.github.com/repos/github/hello-world/actions/jobs/21"
},
"name": {
"type": "string",
"example": "test-coverage",
"description": "The name of the job."
},
"steps": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"status",
"conclusion",
"number"
],
"properties": {
"name": {
"type": "string",
"example": "test-coverage",
"description": "The name of the job."
},
"number": {
"type": "integer",
"example": 1
},
"status": {
"enum": [
"queued",
"in_progress",
"completed"
],
"type": "string",
"example": "queued",
"description": "The phase of the lifecycle that the job is currently in."
},
"conclusion": {
"type": "string",
"example": "success",
"nullable": true,
"description": "The outcome of the job."
},
"started_at": {
"type": "string",
"format": "date-time",
"example": "2019-08-08T08:00:00-07:00",
"nullable": true,
"description": "The time that the step started, in ISO 8601 format."
},
"completed_at": {
"type": "string",
"format": "date-time",
"example": "2019-08-08T08:00:00-07:00",
"nullable": true,
"description": "The time that the job finished, in ISO 8601 format."
}
}
},
"description": "Steps in this job."
},
"labels": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"self-hosted",
"foo",
"bar"
],
"description": "Labels for the workflow job. Specified by the \"runs_on\" attribute in the action's workflow file."
},
"run_id": {
"type": "integer",
"example": 5,
"description": "The id of the associated workflow run."
},
"status": {
"enum": [
"queued",
"in_progress",
"completed",
"waiting",
"requested",
"pending"
],
"type": "string",
"example": "queued",
"description": "The phase of the lifecycle that the job is currently in."
},
"node_id": {
"type": "string",
"example": "MDg6Q2hlY2tSdW40"
},
"run_url": {
"type": "string",
"example": "https://api.github.com/repos/github/hello-world/actions/runs/5"
},
"head_sha": {
"type": "string",
"example": "009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d",
"description": "The SHA of the commit that is being run."
},
"html_url": {
"type": "string",
"example": "https://github.com/github/hello-world/runs/4",
"nullable": true
},
"runner_id": {
"type": "integer",
"example": 1,
"nullable": true,
"description": "The ID of the runner to which this job has been assigned. (If a runner hasn't yet been assigned, this will be null.)"
},
"conclusion": {
"enum": [
"success",
"failure",
"neutral",
"cancelled",
"skipped",
"timed_out",
"action_required"
],
"type": "string",
"example": "success",
"nullable": true,
"description": "The outcome of the job."
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2019-08-08T08:00:00-07:00",
"description": "The time that the job created, in ISO 8601 format."
},
"started_at": {
"type": "string",
"format": "date-time",
"example": "2019-08-08T08:00:00-07:00",
"description": "The time that the job started, in ISO 8601 format."
},
"head_branch": {
"type": "string",
"example": "main",
"nullable": true,
"description": "The name of the current branch."
},
"run_attempt": {
"type": "integer",
"example": 1,
"description": "Attempt number of the associated workflow run, 1 for first attempt and higher if the workflow was re-run."
},
"runner_name": {
"type": "string",
"example": "my runner",
"nullable": true,
"description": "The name of the runner to which this job has been assigned. (If a runner hasn't yet been assigned, this will be null.)"
},
"completed_at": {
"type": "string",
"format": "date-time",
"example": "2019-08-08T08:00:00-07:00",
"nullable": true,
"description": "The time that the job finished, in ISO 8601 format."
},
"check_run_url": {
"type": "string",
"example": "https://api.github.com/repos/github/hello-world/check-runs/4"
},
"workflow_name": {
"type": "string",
"example": "Build",
"nullable": true,
"description": "The name of the workflow."
},
"runner_group_id": {
"type": "integer",
"example": 2,
"nullable": true,
"description": "The ID of the runner group to which this job has been assigned. (If a runner hasn't yet been assigned, this will be null.)"
},
"runner_group_name": {
"type": "string",
"example": "my runner group",
"nullable": true,
"description": "The name of the runner group to which this job has been assigned. (If a runner hasn't yet been assigned, this will be null.)"
}
},
"description": "Information of a job execution in a workflow run"
}
key
{
"type": "object",
"title": "Key",
"required": [
"key",
"id",
"url",
"title",
"created_at",
"verified",
"read_only"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"key": {
"type": "string"
},
"url": {
"type": "string"
},
"title": {
"type": "string"
},
"verified": {
"type": "boolean"
},
"last_used": {
"type": "string",
"format": "date-time",
"nullable": true
},
"read_only": {
"type": "boolean"
},
"created_at": {
"type": "string",
"format": "date-time"
}
},
"description": "Key"
}
key-simple
{
"type": "object",
"title": "Key Simple",
"required": [
"key",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"key": {
"type": "string"
},
"last_used": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
}
},
"description": "Key Simple"
}
label
{
"type": "object",
"title": "Label",
"required": [
"id",
"node_id",
"url",
"name",
"description",
"color",
"default"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 208045946,
"description": "Unique identifier for the label."
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repositories/42/labels/bug",
"description": "URL for the label"
},
"name": {
"type": "string",
"example": "bug",
"description": "The name of the label."
},
"color": {
"type": "string",
"example": "FFFFFF",
"description": "6-character hex code, without the leading #, identifying the color"
},
"default": {
"type": "boolean",
"example": true,
"description": "Whether this label comes by default in a new repository."
},
"node_id": {
"type": "string",
"example": "MDU6TGFiZWwyMDgwNDU5NDY="
},
"description": {
"type": "string",
"example": "Something isn't working",
"nullable": true,
"description": "Optional description of the label, such as its purpose."
}
},
"description": "Color-coded labels help you categorize and filter your issues (just like labels in Gmail)."
}
label-search-result-item
{
"type": "object",
"title": "Label Search Result Item",
"required": [
"id",
"node_id",
"url",
"name",
"color",
"default",
"description",
"score"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"color": {
"type": "string"
},
"score": {
"type": "number"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
},
"text_matches": {
"$ref": "#/components/schemas/search-result-text-matches"
}
},
"description": "Label Search Result Item"
}
labeled-issue-event
{
"type": "object",
"title": "Labeled Issue Event",
"required": [
"label",
"id",
"node_id",
"url",
"actor",
"event",
"commit_id",
"commit_url",
"created_at",
"performed_via_github_app"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"actor": {
"$ref": "#/components/schemas/simple-user"
},
"event": {
"type": "string"
},
"label": {
"type": "object",
"required": [
"name",
"color"
],
"properties": {
"name": {
"type": "string"
},
"color": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"commit_id": {
"type": "string",
"nullable": true
},
"commit_url": {
"type": "string",
"nullable": true
},
"created_at": {
"type": "string"
},
"performed_via_github_app": {
"$ref": "#/components/schemas/nullable-integration"
}
},
"description": "Labeled Issue Event"
}
language
{
"type": "object",
"title": "Language",
"description": "Language",
"additionalProperties": {
"type": "integer"
}
}
ldap-dn
{
"type": "string",
"example": "cn=Enterprise Ops,ou=teams,dc=github,dc=com",
"description": "The [distinguished name](https://www.ldap.com/ldap-dns-and-rdns) (DN) of the LDAP entry to map to a team."
}
license
{
"type": "object",
"title": "License",
"required": [
"key",
"name",
"url",
"spdx_id",
"node_id",
"html_url",
"description",
"implementation",
"permissions",
"conditions",
"limitations",
"body",
"featured"
],
"properties": {
"key": {
"type": "string",
"example": "mit"
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/licenses/mit",
"nullable": true
},
"body": {
"type": "string",
"example": "\n\nThe MIT License (MIT)\n\nCopyright (c) [year] [fullname]\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
},
"name": {
"type": "string",
"example": "MIT License"
},
"node_id": {
"type": "string",
"example": "MDc6TGljZW5zZW1pdA=="
},
"spdx_id": {
"type": "string",
"example": "MIT",
"nullable": true
},
"featured": {
"type": "boolean",
"example": true
},
"html_url": {
"type": "string",
"format": "uri",
"example": "http://choosealicense.com/licenses/mit/"
},
"conditions": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"include-copyright"
]
},
"description": {
"type": "string",
"example": "A permissive license that is short and to the point. It lets people do anything with your code with proper attribution and without warranty."
},
"limitations": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"no-liability"
]
},
"permissions": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"commercial-use",
"modifications",
"distribution",
"sublicense",
"private-use"
]
},
"implementation": {
"type": "string",
"example": "Create a text file (typically named LICENSE or LICENSE.txt) in the root of your source code and copy the text of the license into the file. Replace [year] with the current year and [fullname] with the name (or names) of the copyright holders."
}
},
"description": "License"
}
license-content
{
"type": "object",
"title": "License Content",
"required": [
"_links",
"git_url",
"html_url",
"download_url",
"name",
"path",
"sha",
"size",
"type",
"url",
"content",
"encoding",
"license"
],
"properties": {
"sha": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"path": {
"type": "string"
},
"size": {
"type": "integer"
},
"type": {
"type": "string"
},
"_links": {
"type": "object",
"required": [
"git",
"html",
"self"
],
"properties": {
"git": {
"type": "string",
"format": "uri",
"nullable": true
},
"html": {
"type": "string",
"format": "uri",
"nullable": true
},
"self": {
"type": "string",
"format": "uri"
}
}
},
"content": {
"type": "string"
},
"git_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"license": {
"$ref": "#/components/schemas/nullable-license-simple"
},
"encoding": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"download_url": {
"type": "string",
"format": "uri",
"nullable": true
}
},
"description": "License Content"
}
license-simple
{
"type": "object",
"title": "License Simple",
"required": [
"key",
"name",
"url",
"spdx_id",
"node_id"
],
"properties": {
"key": {
"type": "string",
"example": "mit"
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/licenses/mit",
"nullable": true
},
"name": {
"type": "string",
"example": "MIT License"
},
"node_id": {
"type": "string",
"example": "MDc6TGljZW5zZW1pdA=="
},
"spdx_id": {
"type": "string",
"example": "MIT",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
}
},
"description": "License Simple"
}
link
{
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string"
}
},
"description": "Hypermedia Link"
}
link-with-type
{
"type": "object",
"title": "Link With Type",
"required": [
"href",
"type"
],
"properties": {
"href": {
"type": "string"
},
"type": {
"type": "string"
}
},
"description": "Hypermedia Link with Type"
}
locked-issue-event
{
"type": "object",
"title": "Locked Issue Event",
"required": [
"lock_reason",
"id",
"node_id",
"url",
"actor",
"event",
"commit_id",
"commit_url",
"created_at",
"performed_via_github_app"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"actor": {
"$ref": "#/components/schemas/simple-user"
},
"event": {
"type": "string"
},
"node_id": {
"type": "string"
},
"commit_id": {
"type": "string",
"nullable": true
},
"commit_url": {
"type": "string",
"nullable": true
},
"created_at": {
"type": "string"
},
"lock_reason": {
"type": "string",
"example": "\"off-topic\"",
"nullable": true
},
"performed_via_github_app": {
"$ref": "#/components/schemas/nullable-integration"
}
},
"description": "Locked Issue Event"
}
manifest
{
"type": "object",
"required": [
"name"
],
"properties": {
"file": {
"type": "object",
"properties": {
"source_location": {
"type": "string",
"example": "/src/build/package-lock.json",
"description": "The path of the manifest file relative to the root of the Git repository."
}
},
"additionalProperties": false
},
"name": {
"type": "string",
"example": "package-lock.json",
"description": "The name of the manifest."
},
"metadata": {
"$ref": "#/components/schemas/metadata"
},
"resolved": {
"type": "object",
"description": "A collection of resolved package dependencies.",
"additionalProperties": {
"$ref": "#/components/schemas/dependency"
}
}
},
"additionalProperties": false
}
marketplace-account
{
"type": "object",
"title": "Marketplace Account",
"required": [
"url",
"id",
"type",
"login"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"type": {
"type": "string"
},
"email": {
"type": "string",
"format": "email",
"nullable": true
},
"login": {
"type": "string"
},
"node_id": {
"type": "string"
},
"organization_billing_email": {
"type": "string",
"format": "email",
"nullable": true
}
}
}
marketplace-listing-plan
{
"type": "object",
"title": "Marketplace Listing Plan",
"required": [
"url",
"accounts_url",
"id",
"number",
"name",
"description",
"has_free_trial",
"price_model",
"unit_name",
"monthly_price_in_cents",
"state",
"yearly_price_in_cents",
"bullets"
],
"properties": {
"id": {
"type": "integer",
"example": 1313
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/marketplace_listing/plans/1313"
},
"name": {
"type": "string",
"example": "Pro"
},
"state": {
"type": "string",
"example": "published"
},
"number": {
"type": "integer",
"example": 3
},
"bullets": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"Up to 25 private repositories",
"11 concurrent builds"
]
},
"unit_name": {
"type": "string",
"nullable": true
},
"description": {
"type": "string",
"example": "A professional-grade CI solution"
},
"price_model": {
"enum": [
"FREE",
"FLAT_RATE",
"PER_UNIT"
],
"type": "string",
"example": "FLAT_RATE"
},
"accounts_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/marketplace_listing/plans/1313/accounts"
},
"has_free_trial": {
"type": "boolean",
"example": true
},
"yearly_price_in_cents": {
"type": "integer",
"example": 11870
},
"monthly_price_in_cents": {
"type": "integer",
"example": 1099
}
},
"description": "Marketplace Listing Plan"
}
marketplace-purchase
{
"type": "object",
"title": "Marketplace Purchase",
"required": [
"url",
"id",
"type",
"login",
"marketplace_purchase"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"type": {
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"marketplace_purchase": {
"type": "object",
"properties": {
"plan": {
"$ref": "#/components/schemas/marketplace-listing-plan"
},
"unit_count": {
"type": "integer",
"nullable": true
},
"updated_at": {
"type": "string"
},
"is_installed": {
"type": "boolean"
},
"billing_cycle": {
"type": "string"
},
"on_free_trial": {
"type": "boolean"
},
"next_billing_date": {
"type": "string",
"nullable": true
},
"free_trial_ends_on": {
"type": "string",
"nullable": true
}
}
},
"marketplace_pending_change": {
"type": "object",
"nullable": true,
"properties": {
"id": {
"type": "integer"
},
"plan": {
"$ref": "#/components/schemas/marketplace-listing-plan"
},
"unit_count": {
"type": "integer",
"nullable": true
},
"is_installed": {
"type": "boolean"
},
"effective_date": {
"type": "string"
}
}
},
"organization_billing_email": {
"type": "string"
}
},
"description": "Marketplace Purchase"
}
member-event
{
"type": "object",
"title": "MemberEvent",
"required": [
"action",
"member"
],
"properties": {
"action": {
"type": "string"
},
"member": {
"$ref": "#/components/schemas/simple-user"
}
}
}
merge-group
{
"type": "object",
"title": "Merge Group",
"required": [
"head_sha",
"head_ref",
"base_sha",
"base_ref",
"head_commit"
],
"properties": {
"base_ref": {
"type": "string",
"description": "The full ref of the branch the merge group will be merged into."
},
"base_sha": {
"type": "string",
"description": "The SHA of the merge group's parent commit."
},
"head_ref": {
"type": "string",
"description": "The full ref of the merge group."
},
"head_sha": {
"type": "string",
"description": "The SHA of the merge group."
},
"head_commit": {
"$ref": "#/components/schemas/simple-commit"
}
},
"description": "A group of pull requests that the merge queue has grouped together to be merged."
}
merged-upstream
{
"type": "object",
"title": "Merged upstream",
"properties": {
"message": {
"type": "string"
},
"merge_type": {
"enum": [
"merge",
"fast-forward",
"none"
],
"type": "string"
},
"base_branch": {
"type": "string"
}
},
"description": "Results of a successful merge upstream request"
}
metadata
{
"type": "object",
"title": "metadata",
"description": "User-defined metadata to store domain-specific information limited to 8 keys with scalar values.",
"maxProperties": 8,
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
}
],
"nullable": true
}
}
migration
{
"type": "object",
"title": "Migration",
"required": [
"id",
"node_id",
"owner",
"guid",
"state",
"lock_repositories",
"exclude_metadata",
"exclude_git_data",
"exclude_attachments",
"exclude_releases",
"exclude_owner_projects",
"org_metadata_only",
"repositories",
"url",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 79
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/orgs/octo-org/migrations/79"
},
"guid": {
"type": "string",
"example": "0b989ba4-242f-11e5-81e1-c7b6966d2516"
},
"owner": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"state": {
"type": "string",
"example": "pending"
},
"exclude": {
"type": "array",
"items": {
"type": "string",
"description": "Allowed values that can be passed to the exclude parameter. The array can include any of: `\"repositories\"`."
},
"description": "Exclude related items from being returned in the response in order to improve performance of the request. The array can include any of: `\"repositories\"`."
},
"node_id": {
"type": "string"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2015-07-06T15:33:38-07:00"
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2015-07-06T15:33:38-07:00"
},
"archive_url": {
"type": "string",
"format": "uri"
},
"repositories": {
"type": "array",
"items": {
"$ref": "#/components/schemas/repository"
},
"description": "The repositories included in the migration. Only returned for export migrations."
},
"exclude_git_data": {
"type": "boolean"
},
"exclude_metadata": {
"type": "boolean"
},
"exclude_releases": {
"type": "boolean"
},
"lock_repositories": {
"type": "boolean",
"example": true
},
"org_metadata_only": {
"type": "boolean"
},
"exclude_attachments": {
"type": "boolean"
},
"exclude_owner_projects": {
"type": "boolean"
}
},
"description": "A migration.",
"x-github-breaking-changes": [
{
"patch": [
{
"op": "replace",
"path": "/properties/repositories",
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/simple-repository"
},
"description": "The repositories included in the migration. Only returned for export migrations."
}
}
],
"version": "2026-03-10",
"changeset": "restrict_repo_fields_in_migration_resource"
}
]
}
milestone
{
"type": "object",
"title": "Milestone",
"required": [
"closed_issues",
"creator",
"description",
"due_on",
"closed_at",
"id",
"node_id",
"labels_url",
"html_url",
"number",
"open_issues",
"state",
"title",
"url",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"example": 1002604
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/milestones/1"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"default": "open",
"example": "open",
"description": "The state of the milestone."
},
"title": {
"type": "string",
"example": "v1.0",
"description": "The title of the milestone."
},
"due_on": {
"type": "string",
"format": "date-time",
"example": "2012-10-09T23:39:01Z",
"nullable": true
},
"number": {
"type": "integer",
"example": 42,
"description": "The number of the milestone."
},
"creator": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"node_id": {
"type": "string",
"example": "MDk6TWlsZXN0b25lMTAwMjYwNA=="
},
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/octocat/Hello-World/milestones/v1.0"
},
"closed_at": {
"type": "string",
"format": "date-time",
"example": "2013-02-12T13:22:01Z",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2011-04-10T20:09:31Z"
},
"labels_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/milestones/1/labels"
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2014-03-03T18:58:10Z"
},
"description": {
"type": "string",
"example": "Tracking milestone for version 1.0",
"nullable": true
},
"open_issues": {
"type": "integer",
"example": 4
},
"closed_issues": {
"type": "integer",
"example": 8
}
},
"description": "A collection of related issues and pull requests."
}
milestoned-issue-event
{
"type": "object",
"title": "Milestoned Issue Event",
"required": [
"milestone",
"id",
"node_id",
"url",
"actor",
"event",
"commit_id",
"commit_url",
"created_at",
"performed_via_github_app"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"actor": {
"$ref": "#/components/schemas/simple-user"
},
"event": {
"type": "string"
},
"node_id": {
"type": "string"
},
"commit_id": {
"type": "string",
"nullable": true
},
"milestone": {
"type": "object",
"required": [
"title"
],
"properties": {
"title": {
"type": "string"
}
}
},
"commit_url": {
"type": "string",
"nullable": true
},
"created_at": {
"type": "string"
},
"performed_via_github_app": {
"$ref": "#/components/schemas/nullable-integration"
}
},
"description": "Milestoned Issue Event"
}
minimal-repository
{
"type": "object",
"title": "Minimal Repository",
"required": [
"archive_url",
"assignees_url",
"blobs_url",
"branches_url",
"collaborators_url",
"comments_url",
"commits_url",
"compare_url",
"contents_url",
"contributors_url",
"deployments_url",
"description",
"downloads_url",
"events_url",
"fork",
"forks_url",
"full_name",
"git_commits_url",
"git_refs_url",
"git_tags_url",
"hooks_url",
"html_url",
"id",
"node_id",
"issue_comment_url",
"issue_events_url",
"issues_url",
"keys_url",
"labels_url",
"languages_url",
"merges_url",
"milestones_url",
"name",
"notifications_url",
"owner",
"private",
"pulls_url",
"releases_url",
"stargazers_url",
"statuses_url",
"subscribers_url",
"subscription_url",
"tags_url",
"teams_url",
"trees_url",
"url"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 1296269
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"example": "Hello-World"
},
"size": {
"type": "integer",
"description": "The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0."
},
"forks": {
"type": "integer",
"example": 0
},
"owner": {
"$ref": "#/components/schemas/simple-user"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string"
},
"license": {
"type": "object",
"nullable": true,
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string",
"example": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5"
},
"private": {
"type": "boolean"
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string"
},
"archived": {
"type": "boolean"
},
"disabled": {
"type": "boolean"
},
"has_wiki": {
"type": "boolean"
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/octocat/Hello-World"
},
"keys_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/keys{/key_id}"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/tags"
},
"watchers": {
"type": "integer",
"example": 0
},
"blobs_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}"
},
"clone_url": {
"type": "string"
},
"forks_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/forks"
},
"full_name": {
"type": "string",
"example": "octocat/Hello-World"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/hooks"
},
"pulls_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/pulls{/number}"
},
"pushed_at": {
"type": "string",
"format": "date-time",
"example": "2011-01-26T19:06:43Z",
"nullable": true
},
"role_name": {
"type": "string",
"example": "admin"
},
"teams_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/teams"
},
"trees_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/git/trees{/sha}"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2011-01-26T19:01:12Z",
"nullable": true
},
"events_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/events"
},
"has_issues": {
"type": "boolean"
},
"issues_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/issues{/number}"
},
"labels_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/labels{/name}"
},
"merges_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/merges"
},
"mirror_url": {
"type": "string",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2011-01-26T19:14:43Z",
"nullable": true
},
"visibility": {
"type": "string"
},
"archive_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}"
},
"commits_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/commits{/sha}"
},
"compare_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}"
},
"description": {
"type": "string",
"example": "This your first repo!",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer",
"example": 0
},
"permissions": {
"type": "object",
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/branches{/branch}"
},
"comments_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/comments{/number}"
},
"contents_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/contents/{+path}"
},
"git_refs_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/git/refs{/sha}"
},
"git_tags_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/git/tags{/sha}"
},
"has_projects": {
"type": "boolean"
},
"releases_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/releases{/id}"
},
"statuses_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/statuses/{sha}"
},
"allow_forking": {
"type": "boolean"
},
"assignees_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/assignees{/user}"
},
"downloads_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/downloads"
},
"has_downloads": {
"type": "boolean"
},
"languages_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/languages"
},
"network_count": {
"type": "integer"
},
"default_branch": {
"type": "string"
},
"milestones_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/milestones{/number}"
},
"stargazers_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/stargazers"
},
"watchers_count": {
"type": "integer"
},
"code_of_conduct": {
"$ref": "#/components/schemas/code-of-conduct"
},
"deployments_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/deployments"
},
"git_commits_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/git/commits{/sha}"
},
"has_discussions": {
"type": "boolean"
},
"subscribers_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/subscribers"
},
"contributors_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/contributors"
},
"issue_events_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/issues/events{/number}"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/subscription"
},
"temp_clone_token": {
"type": "string"
},
"collaborators_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}"
},
"custom_properties": {
"type": "object",
"description": "The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values.",
"additionalProperties": true
},
"has_pull_requests": {
"type": "boolean"
},
"issue_comment_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/issues/comments{/number}"
},
"notifications_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}"
},
"open_issues_count": {
"type": "integer"
},
"subscribers_count": {
"type": "integer"
},
"security_and_analysis": {
"$ref": "#/components/schemas/security-and-analysis"
},
"delete_branch_on_merge": {
"type": "boolean"
},
"web_commit_signoff_required": {
"type": "boolean",
"example": false
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
}
},
"description": "Minimal Repository",
"x-github-breaking-changes": [
{
"patch": {
"properties": {
"has_downloads": null
}
},
"version": "2026-03-10",
"changeset": "remove_has_downloads"
}
]
}
moved-column-in-project-issue-event
{
"type": "object",
"title": "Moved Column in Project Issue Event",
"required": [
"id",
"node_id",
"url",
"actor",
"event",
"commit_id",
"commit_url",
"created_at",
"performed_via_github_app"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"actor": {
"$ref": "#/components/schemas/simple-user"
},
"event": {
"type": "string"
},
"node_id": {
"type": "string"
},
"commit_id": {
"type": "string",
"nullable": true
},
"commit_url": {
"type": "string",
"nullable": true
},
"created_at": {
"type": "string"
},
"project_card": {
"type": "object",
"required": [
"id",
"url",
"project_id",
"project_url",
"column_name"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"project_id": {
"type": "integer"
},
"column_name": {
"type": "string"
},
"project_url": {
"type": "string",
"format": "uri"
},
"previous_column_name": {
"type": "string"
}
}
},
"performed_via_github_app": {
"$ref": "#/components/schemas/nullable-integration"
}
},
"description": "Moved Column in Project Issue Event"
}
network-configuration
{
"type": "object",
"title": "Hosted compute network configuration",
"required": [
"id",
"name",
"created_on"
],
"properties": {
"id": {
"type": "string",
"example": "123ABC456DEF789",
"description": "The unique identifier of the network configuration."
},
"name": {
"type": "string",
"example": "my-network-configuration",
"description": "The name of the network configuration."
},
"created_on": {
"type": "string",
"format": "date-time",
"example": "2024-04-26T11:31:07Z",
"nullable": true,
"description": "The time at which the network configuration was created, in ISO 8601 format."
},
"compute_service": {
"enum": [
"none",
"actions",
"codespaces"
],
"type": "string",
"description": "The hosted compute service the network configuration supports."
},
"network_settings_ids": {
"type": "array",
"items": {
"type": "string"
},
"example": "123ABC456DEF789",
"description": "The unique identifier of each network settings in the configuration."
},
"failover_network_enabled": {
"type": "boolean",
"example": true,
"description": "Indicates whether the failover network resource is enabled."
},
"failover_network_settings_ids": {
"type": "array",
"items": {
"type": "string"
},
"example": "123ABC456DEF789",
"description": "The unique identifier of each failover network settings in the configuration."
}
},
"description": "A hosted compute network configuration."
}
network-settings
{
"type": "object",
"title": "Hosted compute network settings resource",
"required": [
"id",
"name",
"subnet_id",
"region"
],
"properties": {
"id": {
"type": "string",
"example": "220F78DACB92BBFBC5E6F22DE1CCF52309D",
"description": "The unique identifier of the network settings resource."
},
"name": {
"type": "string",
"example": "my-network-settings",
"description": "The name of the network settings resource."
},
"region": {
"type": "string",
"example": "eastus",
"description": "The location of the subnet this network settings resource is configured for."
},
"subnet_id": {
"type": "string",
"example": "/subscriptions/14839728-3ad9-43ab-bd2b-fa6ad0f75e2a/resourceGroups/my-rg/providers/Microsoft.Network/virtualNetworks/my-vnet/subnets/my-subnet",
"description": "The subnet this network settings resource is configured for."
},
"network_configuration_id": {
"type": "string",
"example": "934E208B3EE0BD60CF5F752C426BFB53562",
"description": "The identifier of the network configuration that is using this settings resource."
}
},
"description": "A hosted compute network settings resource."
}
nullable-actions-hosted-runner-pool-image
{
"type": "object",
"title": "GitHub-hosted runner image details.",
"nullable": true,
"required": [
"id",
"size_gb",
"display_name",
"source"
],
"properties": {
"id": {
"type": "string",
"example": "ubuntu-20.04",
"description": "The ID of the image. Use this ID for the `image` parameter when creating a new larger runner."
},
"source": {
"enum": [
"github",
"partner",
"custom"
],
"type": "string",
"description": "The image provider."
},
"size_gb": {
"type": "integer",
"example": 86,
"description": "Image size in GB."
},
"version": {
"type": "string",
"example": "latest",
"description": "The image version of the hosted runner pool."
},
"display_name": {
"type": "string",
"example": 20.04,
"description": "Display name for this image."
}
},
"description": "Provides details of a hosted runner image"
}
nullable-alert-updated-at
{
"type": "string",
"format": "date-time",
"nullable": true,
"readOnly": true,
"description": "The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`."
}
nullable-code-of-conduct-simple
{
"type": "object",
"title": "Code Of Conduct Simple",
"nullable": true,
"required": [
"url",
"key",
"name",
"html_url"
],
"properties": {
"key": {
"type": "string",
"example": "citizen_code_of_conduct"
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/github/docs/community/code_of_conduct"
},
"name": {
"type": "string",
"example": "Citizen Code of Conduct"
},
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/github/docs/blob/main/CODE_OF_CONDUCT.md",
"nullable": true
}
},
"description": "Code of Conduct Simple"
}
nullable-codespace-machine
{
"type": "object",
"title": "Codespace machine",
"nullable": true,
"required": [
"name",
"display_name",
"operating_system",
"storage_in_bytes",
"memory_in_bytes",
"cpus",
"prebuild_availability"
],
"properties": {
"cpus": {
"type": "integer",
"example": 4,
"description": "How many cores are available to the codespace."
},
"name": {
"type": "string",
"example": "standardLinux",
"description": "The name of the machine."
},
"display_name": {
"type": "string",
"example": "4 cores, 16 GB RAM, 64 GB storage",
"description": "The display name of the machine includes cores, memory, and storage."
},
"memory_in_bytes": {
"type": "integer",
"example": 17179869184,
"description": "How much memory is available to the codespace."
},
"operating_system": {
"type": "string",
"example": "linux",
"description": "The operating system of the machine."
},
"storage_in_bytes": {
"type": "integer",
"example": 68719476736,
"description": "How much storage is available to the codespace."
},
"prebuild_availability": {
"enum": [
"none",
"ready",
"in_progress"
],
"type": "string",
"example": "ready",
"nullable": true,
"description": "Whether a prebuild is currently available when creating a codespace for this machine and repository. If a branch was not specified as a ref, the default branch will be assumed. Value will be \"null\" if prebuilds are not supported or prebuild availability could not be determined. Value will be \"none\" if no prebuild is available. Latest values \"ready\" and \"in_progress\" indicate the prebuild availability status."
}
},
"description": "A description of the machine powering a codespace."
}
nullable-collaborator
{
"type": "object",
"title": "Collaborator",
"nullable": true,
"required": [
"avatar_url",
"events_url",
"followers_url",
"following_url",
"gists_url",
"gravatar_id",
"html_url",
"id",
"node_id",
"login",
"organizations_url",
"received_events_url",
"repos_url",
"site_admin",
"starred_url",
"subscriptions_url",
"type",
"url",
"role_name"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 1
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/users/octocat"
},
"name": {
"type": "string",
"nullable": true
},
"type": {
"type": "string",
"example": "User"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string",
"example": "octocat"
},
"node_id": {
"type": "string",
"example": "MDQ6VXNlcjE="
},
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/octocat"
},
"gists_url": {
"type": "string",
"example": "https://api.github.com/users/octocat/gists{/gist_id}"
},
"repos_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/users/octocat/repos"
},
"role_name": {
"type": "string",
"example": "admin"
},
"avatar_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/images/error/octocat_happy.gif"
},
"events_url": {
"type": "string",
"example": "https://api.github.com/users/octocat/events{/privacy}"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string",
"example": "41d064eb2195891e12d0413f63227ea7",
"nullable": true
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"starred_url": {
"type": "string",
"example": "https://api.github.com/users/octocat/starred{/owner}{/repo}"
},
"followers_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/users/octocat/followers"
},
"following_url": {
"type": "string",
"example": "https://api.github.com/users/octocat/following{/other_user}"
},
"user_view_type": {
"type": "string",
"example": "public"
},
"organizations_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/users/octocat/orgs"
},
"subscriptions_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/users/octocat/subscriptions"
},
"received_events_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/users/octocat/received_events"
}
},
"description": "Collaborator"
}
nullable-community-health-file
{
"type": "object",
"title": "Community Health File",
"nullable": true,
"required": [
"url",
"html_url"
],
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"html_url": {
"type": "string",
"format": "uri"
}
}
}
nullable-deployment
{
"type": "object",
"title": "Deployment",
"nullable": true,
"required": [
"id",
"node_id",
"sha",
"ref",
"task",
"environment",
"creator",
"payload",
"description",
"statuses_url",
"repository_url",
"url",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"description": "Unique identifier of the deployment"
},
"ref": {
"type": "string",
"example": "topic-branch",
"description": "The ref to deploy. This can be a branch, tag, or sha."
},
"sha": {
"type": "string",
"example": "a84d88e7554fc1fa21bcbc4efae3c782a70d2b9d"
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/example/deployments/1"
},
"task": {
"type": "string",
"example": "deploy",
"description": "Parameter to specify a task to execute"
},
"creator": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"node_id": {
"type": "string",
"example": "MDEwOkRlcGxveW1lbnQx"
},
"payload": {
"oneOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "string"
}
]
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2012-07-20T01:19:13Z"
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2012-07-20T01:19:13Z"
},
"description": {
"type": "string",
"example": "Deploy request from hubot",
"nullable": true
},
"environment": {
"type": "string",
"example": "production",
"description": "Name for the target deployment environment."
},
"statuses_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/example/deployments/1/statuses"
},
"repository_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/example"
},
"original_environment": {
"type": "string",
"example": "staging"
},
"transient_environment": {
"type": "boolean",
"example": true,
"description": "Specifies if the given environment is will no longer exist at some point in the future. Default: false."
},
"production_environment": {
"type": "boolean",
"example": true,
"description": "Specifies if the given environment is one that end-users directly interact with. Default: false."
},
"performed_via_github_app": {
"$ref": "#/components/schemas/nullable-integration"
}
},
"description": "A request for a specific ref(branch,sha,tag) to be deployed"
}
nullable-git-user
{
"type": "object",
"title": "Git User",
"nullable": true,
"properties": {
"date": {
"type": "string",
"format": "date-time",
"example": "\"2007-10-29T02:42:39.000-07:00\""
},
"name": {
"type": "string",
"example": "\"Chris Wanstrath\""
},
"email": {
"type": "string",
"example": "\"chris@ozmm.org\""
}
},
"description": "Metaproperties for Git author/committer information."
}
nullable-integration
{
"type": "object",
"title": "GitHub app",
"nullable": true,
"required": [
"id",
"node_id",
"owner",
"name",
"description",
"external_url",
"html_url",
"created_at",
"updated_at",
"permissions",
"events"
],
"properties": {
"id": {
"type": "integer",
"example": 37,
"description": "Unique identifier of the GitHub app"
},
"name": {
"type": "string",
"example": "Probot Owners",
"description": "The name of the GitHub app"
},
"slug": {
"type": "string",
"example": "probot-owners",
"description": "The slug name of the GitHub app"
},
"owner": {
"oneOf": [
{
"$ref": "#/components/schemas/simple-user"
},
{
"$ref": "#/components/schemas/enterprise"
}
]
},
"events": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"label",
"deployment"
],
"description": "The list of events for the GitHub app. Note that the `installation_target`, `security_advisory`, and `meta` events are not included because they are global events and not specific to an installation."
},
"node_id": {
"type": "string",
"example": "MDExOkludGVncmF0aW9uMQ=="
},
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/apps/super-ci"
},
"client_id": {
"type": "string",
"example": "\"Iv1.25b5d1e65ffc4022\""
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2017-07-08T16:18:44-04:00"
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2017-07-08T16:18:44-04:00"
},
"description": {
"type": "string",
"example": "The description of the app.",
"nullable": true
},
"permissions": {
"type": "object",
"example": {
"issues": "read",
"deployments": "write"
},
"properties": {
"checks": {
"type": "string"
},
"issues": {
"type": "string"
},
"contents": {
"type": "string"
},
"metadata": {
"type": "string"
},
"deployments": {
"type": "string"
}
},
"description": "The set of permissions for the GitHub app",
"additionalProperties": {
"type": "string"
}
},
"external_url": {
"type": "string",
"format": "uri",
"example": "https://example.com"
},
"installations_count": {
"type": "integer",
"example": 5,
"description": "The number of installations associated with the GitHub app. Only returned when the integration is requesting details about itself."
}
},
"description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub."
}
nullable-issue
{
"type": "object",
"title": "Issue",
"nullable": true,
"required": [
"assignee",
"closed_at",
"comments",
"comments_url",
"events_url",
"html_url",
"id",
"node_id",
"labels",
"labels_url",
"milestone",
"number",
"repository_url",
"state",
"locked",
"title",
"url",
"user",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repositories/42/issues/1",
"description": "URL for the issue"
},
"body": {
"type": "string",
"example": "It looks like the new widget form is broken on Safari. When I try and create the widget, Safari crashes. This is reproducible on 10.8, but not 10.9. Maybe a browser bug?",
"nullable": true,
"description": "Contents of the issue"
},
"type": {
"$ref": "#/components/schemas/issue-type"
},
"user": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"draft": {
"type": "boolean"
},
"state": {
"type": "string",
"example": "open",
"description": "State of the issue; either 'open' or 'closed'"
},
"title": {
"type": "string",
"example": "Widget creation fails in Safari on OS X 10.8",
"description": "Title of the issue"
},
"labels": {
"type": "array",
"items": {
"oneOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"color": {
"type": "string",
"nullable": true
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
]
},
"example": [
"bug",
"registration"
],
"description": "Labels to associate with this issue; pass one or more label names to replace the set of labels on this issue; send an empty array to clear all labels from the issue; note that the labels are silently dropped for users without push access to the repository"
},
"locked": {
"type": "boolean"
},
"number": {
"type": "integer",
"example": 42,
"description": "Number uniquely identifying the issue within its repository"
},
"node_id": {
"type": "string"
},
"assignee": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"comments": {
"type": "integer"
},
"html_url": {
"type": "string",
"format": "uri"
},
"assignees": {
"type": "array",
"items": {
"$ref": "#/components/schemas/simple-user"
}
},
"body_html": {
"type": "string"
},
"body_text": {
"type": "string"
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"closed_by": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"milestone": {
"$ref": "#/components/schemas/nullable-milestone"
},
"reactions": {
"$ref": "#/components/schemas/reaction-rollup"
},
"created_at": {
"type": "string",
"format": "date-time"
},
"events_url": {
"type": "string",
"format": "uri"
},
"labels_url": {
"type": "string"
},
"repository": {
"$ref": "#/components/schemas/repository"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"comments_url": {
"type": "string",
"format": "uri"
},
"pull_request": {
"type": "object",
"required": [
"diff_url",
"html_url",
"patch_url",
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"diff_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"merged_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"patch_url": {
"type": "string",
"format": "uri",
"nullable": true
}
}
},
"state_reason": {
"enum": [
"completed",
"reopened",
"not_planned",
"duplicate"
],
"type": "string",
"example": "not_planned",
"nullable": true,
"description": "The reason for the current state"
},
"timeline_url": {
"type": "string",
"format": "uri"
},
"pinned_comment": {
"$ref": "#/components/schemas/nullable-issue-comment"
},
"repository_url": {
"type": "string",
"format": "uri"
},
"parent_issue_url": {
"type": "string",
"format": "uri",
"nullable": true,
"description": "URL to get the parent issue of this issue, if it is a sub-issue"
},
"active_lock_reason": {
"type": "string",
"nullable": true
},
"author_association": {
"$ref": "#/components/schemas/author-association"
},
"issue_field_values": {
"type": "array",
"items": {
"$ref": "#/components/schemas/issue-field-value"
}
},
"sub_issues_summary": {
"$ref": "#/components/schemas/sub-issues-summary"
},
"performed_via_github_app": {
"$ref": "#/components/schemas/nullable-integration"
},
"issue_dependencies_summary": {
"$ref": "#/components/schemas/issue-dependencies-summary"
}
},
"description": "Issues are a great way to keep track of tasks, enhancements, and bugs for your projects.",
"x-github-breaking-changes": [
{
"patch": {
"properties": {
"pull_request": {
"type": "object",
"properties": {
"url": {
"nullable": false
},
"diff_url": {
"nullable": false
},
"html_url": {
"nullable": false
},
"merged_at": {
"nullable": false
},
"patch_url": {
"nullable": false
}
}
}
}
},
"version": "2026-03-10",
"changeset": "deprecate_beta_media_type"
},
{
"patch": {
"required": [
"closed_at",
"comments",
"comments_url",
"events_url",
"html_url",
"id",
"node_id",
"labels",
"labels_url",
"milestone",
"number",
"repository_url",
"state",
"locked",
"title",
"url",
"user",
"created_at",
"updated_at"
],
"properties": {
"assignee": null
}
},
"version": "2026-03-10",
"changeset": "remove_singular_assignee_from_issues_and_pull_requests"
}
]
}
nullable-issue-comment
{
"type": "object",
"title": "Issue Comment",
"nullable": true,
"required": [
"id",
"node_id",
"html_url",
"issue_url",
"user",
"url",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"description": "Unique identifier of the issue comment"
},
"pin": {
"$ref": "#/components/schemas/nullable-pinned-issue-comment"
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repositories/42/issues/comments/1",
"description": "URL for the issue comment"
},
"body": {
"type": "string",
"example": "What version of Safari were you using when you observed this bug?",
"description": "Contents of the issue comment"
},
"user": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"body_html": {
"type": "string"
},
"body_text": {
"type": "string"
},
"issue_url": {
"type": "string",
"format": "uri"
},
"reactions": {
"$ref": "#/components/schemas/reaction-rollup"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2011-04-14T16:00:49Z"
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2011-04-14T16:00:49Z"
},
"author_association": {
"$ref": "#/components/schemas/author-association"
},
"performed_via_github_app": {
"$ref": "#/components/schemas/nullable-integration"
}
},
"description": "Comments provide a way for people to collaborate on an issue."
}
nullable-license-simple
{
"type": "object",
"title": "License Simple",
"nullable": true,
"required": [
"key",
"name",
"url",
"spdx_id",
"node_id"
],
"properties": {
"key": {
"type": "string",
"example": "mit"
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/licenses/mit",
"nullable": true
},
"name": {
"type": "string",
"example": "MIT License"
},
"node_id": {
"type": "string",
"example": "MDc6TGljZW5zZW1pdA=="
},
"spdx_id": {
"type": "string",
"example": "MIT",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
}
},
"description": "License Simple"
}
nullable-milestone
{
"type": "object",
"title": "Milestone",
"nullable": true,
"required": [
"closed_issues",
"creator",
"description",
"due_on",
"closed_at",
"id",
"node_id",
"labels_url",
"html_url",
"number",
"open_issues",
"state",
"title",
"url",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"example": 1002604
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/milestones/1"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"default": "open",
"example": "open",
"description": "The state of the milestone."
},
"title": {
"type": "string",
"example": "v1.0",
"description": "The title of the milestone."
},
"due_on": {
"type": "string",
"format": "date-time",
"example": "2012-10-09T23:39:01Z",
"nullable": true
},
"number": {
"type": "integer",
"example": 42,
"description": "The number of the milestone."
},
"creator": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"node_id": {
"type": "string",
"example": "MDk6TWlsZXN0b25lMTAwMjYwNA=="
},
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/octocat/Hello-World/milestones/v1.0"
},
"closed_at": {
"type": "string",
"format": "date-time",
"example": "2013-02-12T13:22:01Z",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2011-04-10T20:09:31Z"
},
"labels_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/milestones/1/labels"
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2014-03-03T18:58:10Z"
},
"description": {
"type": "string",
"example": "Tracking milestone for version 1.0",
"nullable": true
},
"open_issues": {
"type": "integer",
"example": 4
},
"closed_issues": {
"type": "integer",
"example": 8
}
},
"description": "A collection of related issues and pull requests."
}
nullable-minimal-repository
{
"type": "object",
"title": "Minimal Repository",
"nullable": true,
"required": [
"archive_url",
"assignees_url",
"blobs_url",
"branches_url",
"collaborators_url",
"comments_url",
"commits_url",
"compare_url",
"contents_url",
"contributors_url",
"deployments_url",
"description",
"downloads_url",
"events_url",
"fork",
"forks_url",
"full_name",
"git_commits_url",
"git_refs_url",
"git_tags_url",
"hooks_url",
"html_url",
"id",
"node_id",
"issue_comment_url",
"issue_events_url",
"issues_url",
"keys_url",
"labels_url",
"languages_url",
"merges_url",
"milestones_url",
"name",
"notifications_url",
"owner",
"private",
"pulls_url",
"releases_url",
"stargazers_url",
"statuses_url",
"subscribers_url",
"subscription_url",
"tags_url",
"teams_url",
"trees_url",
"url"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 1296269
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"example": "Hello-World"
},
"size": {
"type": "integer",
"description": "The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0."
},
"forks": {
"type": "integer",
"example": 0
},
"owner": {
"$ref": "#/components/schemas/simple-user"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string"
},
"license": {
"type": "object",
"nullable": true,
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string",
"example": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5"
},
"private": {
"type": "boolean"
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string"
},
"archived": {
"type": "boolean"
},
"disabled": {
"type": "boolean"
},
"has_wiki": {
"type": "boolean"
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/octocat/Hello-World"
},
"keys_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/keys{/key_id}"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/tags"
},
"watchers": {
"type": "integer",
"example": 0
},
"blobs_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}"
},
"clone_url": {
"type": "string"
},
"forks_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/forks"
},
"full_name": {
"type": "string",
"example": "octocat/Hello-World"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/hooks"
},
"pulls_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/pulls{/number}"
},
"pushed_at": {
"type": "string",
"format": "date-time",
"example": "2011-01-26T19:06:43Z",
"nullable": true
},
"role_name": {
"type": "string",
"example": "admin"
},
"teams_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/teams"
},
"trees_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/git/trees{/sha}"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2011-01-26T19:01:12Z",
"nullable": true
},
"events_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/events"
},
"has_issues": {
"type": "boolean"
},
"issues_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/issues{/number}"
},
"labels_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/labels{/name}"
},
"merges_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/merges"
},
"mirror_url": {
"type": "string",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2011-01-26T19:14:43Z",
"nullable": true
},
"visibility": {
"type": "string"
},
"archive_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}"
},
"commits_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/commits{/sha}"
},
"compare_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}"
},
"description": {
"type": "string",
"example": "This your first repo!",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer",
"example": 0
},
"permissions": {
"type": "object",
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/branches{/branch}"
},
"comments_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/comments{/number}"
},
"contents_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/contents/{+path}"
},
"git_refs_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/git/refs{/sha}"
},
"git_tags_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/git/tags{/sha}"
},
"has_projects": {
"type": "boolean"
},
"releases_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/releases{/id}"
},
"statuses_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/statuses/{sha}"
},
"allow_forking": {
"type": "boolean"
},
"assignees_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/assignees{/user}"
},
"downloads_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/downloads"
},
"has_downloads": {
"type": "boolean"
},
"languages_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/languages"
},
"network_count": {
"type": "integer"
},
"default_branch": {
"type": "string"
},
"milestones_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/milestones{/number}"
},
"stargazers_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/stargazers"
},
"watchers_count": {
"type": "integer"
},
"code_of_conduct": {
"$ref": "#/components/schemas/code-of-conduct"
},
"deployments_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/deployments"
},
"git_commits_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/git/commits{/sha}"
},
"has_discussions": {
"type": "boolean"
},
"subscribers_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/subscribers"
},
"contributors_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/contributors"
},
"issue_events_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/issues/events{/number}"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/subscription"
},
"temp_clone_token": {
"type": "string"
},
"collaborators_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}"
},
"custom_properties": {
"type": "object",
"description": "The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values.",
"additionalProperties": true
},
"has_pull_requests": {
"type": "boolean"
},
"issue_comment_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/issues/comments{/number}"
},
"notifications_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}"
},
"open_issues_count": {
"type": "integer"
},
"subscribers_count": {
"type": "integer"
},
"security_and_analysis": {
"$ref": "#/components/schemas/security-and-analysis"
},
"delete_branch_on_merge": {
"type": "boolean"
},
"web_commit_signoff_required": {
"type": "boolean",
"example": false
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
}
},
"description": "Minimal Repository",
"x-github-breaking-changes": [
{
"patch": {
"properties": {
"has_downloads": null
}
},
"version": "2026-03-10",
"changeset": "remove_has_downloads"
}
]
}
nullable-organization-simple
{
"type": "object",
"title": "Organization Simple",
"nullable": true,
"required": [
"login",
"url",
"id",
"node_id",
"repos_url",
"events_url",
"hooks_url",
"issues_url",
"members_url",
"public_members_url",
"avatar_url",
"description"
],
"properties": {
"id": {
"type": "integer",
"example": 1
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/orgs/github"
},
"login": {
"type": "string",
"example": "github"
},
"node_id": {
"type": "string",
"example": "MDEyOk9yZ2FuaXphdGlvbjE="
},
"hooks_url": {
"type": "string",
"example": "https://api.github.com/orgs/github/hooks"
},
"repos_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/orgs/github/repos"
},
"avatar_url": {
"type": "string",
"example": "https://github.com/images/error/octocat_happy.gif"
},
"events_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/orgs/github/events"
},
"issues_url": {
"type": "string",
"example": "https://api.github.com/orgs/github/issues"
},
"description": {
"type": "string",
"example": "A great organization",
"nullable": true
},
"members_url": {
"type": "string",
"example": "https://api.github.com/orgs/github/members{/member}"
},
"public_members_url": {
"type": "string",
"example": "https://api.github.com/orgs/github/public_members{/member}"
}
},
"description": "A GitHub organization."
}
nullable-pinned-issue-comment
{
"type": "object",
"title": "Pinned Issue Comment",
"nullable": true,
"required": [
"pinned_at",
"pinned_by"
],
"properties": {
"pinned_at": {
"type": "string",
"format": "date-time",
"example": "2011-04-14T16:00:49Z"
},
"pinned_by": {
"$ref": "#/components/schemas/nullable-simple-user"
}
},
"description": "Context around who pinned an issue comment and when it was pinned."
}
nullable-projects-v2-status-update
{
"type": "object",
"title": "Projects v2 Status Update",
"nullable": true,
"required": [
"id",
"node_id",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "number",
"description": "The unique identifier of the status update."
},
"body": {
"type": "string",
"example": "The project is off to a great start!",
"nullable": true,
"description": "Body of the status update"
},
"status": {
"enum": [
"INACTIVE",
"ON_TRACK",
"AT_RISK",
"OFF_TRACK",
"COMPLETE"
],
"type": "string",
"nullable": true,
"description": "The current status."
},
"creator": {
"$ref": "#/components/schemas/simple-user"
},
"node_id": {
"type": "string",
"description": "The node ID of the status update."
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2022-04-28T12:00:00Z",
"description": "The time when the status update was created."
},
"start_date": {
"type": "string",
"format": "date",
"example": "2022-04-28",
"description": "The start date of the period covered by the update."
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2022-04-28T12:00:00Z",
"description": "The time when the status update was last updated."
},
"target_date": {
"type": "string",
"format": "date",
"example": "2022-04-28",
"description": "The target date associated with the update."
},
"project_node_id": {
"type": "string",
"description": "The node ID of the project that this status update belongs to."
}
},
"description": "An status update belonging to a project"
}
nullable-repository
{
"type": "object",
"title": "Repository",
"nullable": true,
"required": [
"archive_url",
"assignees_url",
"blobs_url",
"branches_url",
"collaborators_url",
"comments_url",
"commits_url",
"compare_url",
"contents_url",
"contributors_url",
"deployments_url",
"description",
"downloads_url",
"events_url",
"fork",
"forks_url",
"full_name",
"git_commits_url",
"git_refs_url",
"git_tags_url",
"hooks_url",
"html_url",
"id",
"node_id",
"issue_comment_url",
"issue_events_url",
"issues_url",
"keys_url",
"labels_url",
"languages_url",
"merges_url",
"milestones_url",
"name",
"notifications_url",
"owner",
"private",
"pulls_url",
"releases_url",
"stargazers_url",
"statuses_url",
"subscribers_url",
"subscription_url",
"tags_url",
"teams_url",
"trees_url",
"url",
"clone_url",
"default_branch",
"forks",
"forks_count",
"git_url",
"has_downloads",
"has_issues",
"has_projects",
"has_wiki",
"has_pages",
"homepage",
"language",
"archived",
"disabled",
"mirror_url",
"open_issues",
"open_issues_count",
"license",
"pushed_at",
"size",
"ssh_url",
"stargazers_count",
"svn_url",
"watchers",
"watchers_count",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"example": "Team Environment",
"description": "The name of the repository."
},
"size": {
"type": "integer",
"example": 108,
"description": "The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0."
},
"forks": {
"type": "integer"
},
"owner": {
"$ref": "#/components/schemas/simple-user"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"example": "git:github.com/octocat/Hello-World.git"
},
"license": {
"$ref": "#/components/schemas/nullable-license-simple"
},
"node_id": {
"type": "string",
"example": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5"
},
"private": {
"type": "boolean",
"default": false,
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string",
"example": "git@github.com:octocat/Hello-World.git"
},
"svn_url": {
"type": "string",
"format": "uri",
"example": "https://svn.github.com/octocat/Hello-World"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"example": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"format": "uri",
"example": "https://github.com",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/octocat/Hello-World"
},
"keys_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/keys{/key_id}"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/tags"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}"
},
"clone_url": {
"type": "string",
"example": "https://github.com/octocat/Hello-World.git"
},
"forks_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/forks"
},
"full_name": {
"type": "string",
"example": "octocat/Hello-World"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/hooks"
},
"pulls_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/pulls{/number}"
},
"pushed_at": {
"type": "string",
"format": "date-time",
"example": "2011-01-26T19:06:43Z",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/teams"
},
"trees_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/git/trees{/sha}"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2011-01-26T19:01:12Z",
"nullable": true
},
"events_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/events"
},
"has_issues": {
"type": "boolean",
"default": true,
"example": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/issues{/number}"
},
"labels_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/labels{/name}"
},
"merges_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/merges"
},
"mirror_url": {
"type": "string",
"format": "uri",
"example": "git:git.example.com/octocat/Hello-World",
"nullable": true
},
"starred_at": {
"type": "string",
"example": "\"2020-07-09T00:17:42Z\""
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2011-01-26T19:14:43Z",
"nullable": true
},
"visibility": {
"type": "string",
"default": "public",
"description": "The repository visibility: public, private, or internal."
},
"archive_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}"
},
"commits_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/commits{/sha}"
},
"compare_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}"
},
"description": {
"type": "string",
"example": "This your first repo!",
"nullable": true
},
"forks_count": {
"type": "integer",
"example": 9
},
"is_template": {
"type": "boolean",
"default": false,
"example": true,
"description": "Whether this repository acts as a template that can be used to generate new repositories."
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"admin",
"pull",
"push"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/branches{/branch}"
},
"comments_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/comments{/number}"
},
"contents_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/contents/{+path}"
},
"git_refs_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/git/refs{/sha}"
},
"git_tags_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/git/tags{/sha}"
},
"has_projects": {
"type": "boolean",
"default": true,
"example": true,
"description": "Whether projects are enabled."
},
"releases_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/releases{/id}"
},
"statuses_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/statuses/{sha}"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow forking this repo"
},
"assignees_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/assignees{/user}"
},
"downloads_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/downloads"
},
"has_downloads": {
"type": "boolean",
"default": true,
"example": true,
"deprecated": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/languages"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"example": "master",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/milestones{/number}"
},
"stargazers_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/stargazers"
},
"watchers_count": {
"type": "integer",
"example": 80
},
"deployments_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/deployments"
},
"git_commits_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/git/commits{/sha}"
},
"has_discussions": {
"type": "boolean",
"default": false,
"example": true,
"description": "Whether discussions are enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/subscribers"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"example": false,
"description": "Whether to allow Auto-merge to be used on pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/contributors"
},
"issue_events_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/issues/events{/number}"
},
"stargazers_count": {
"type": "integer",
"example": 80
},
"subscription_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/subscription"
},
"temp_clone_token": {
"type": "string"
},
"collaborators_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}"
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"example": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/issues/comments{/number}"
},
"notifications_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}"
},
"open_issues_count": {
"type": "integer",
"example": 0
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"example": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"example": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"example": true,
"description": "Whether to allow squash merges for pull requests."
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
},
"allow_update_branch": {
"type": "boolean",
"default": false,
"example": false,
"description": "Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging."
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"example": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"anonymous_access_enabled": {
"type": "boolean",
"description": "Whether anonymous git access is enabled for this repository"
},
"code_search_index_status": {
"type": "object",
"properties": {
"lexical_search_ok": {
"type": "boolean"
},
"lexical_commit_sha": {
"type": "string"
}
},
"description": "The status of the code search index for this repository"
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
},
"web_commit_signoff_required": {
"type": "boolean",
"default": false,
"description": "Whether to require contributors to sign off on web-based commits"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"example": "all",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
},
"use_squash_pr_title_as_default": {
"type": "boolean",
"default": false,
"deprecated": true,
"description": "Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead."
}
},
"description": "A repository on GitHub.",
"x-github-breaking-changes": [
{
"patch": {
"properties": {
"use_squash_pr_title_as_default": null
}
},
"version": "2026-03-10",
"changeset": "remove_use_squash_pr_title_as_default"
},
{
"patch": {
"properties": {
"master_branch": null
}
},
"version": "2026-03-10",
"changeset": "deprecate_beta_media_type"
},
{
"patch": {
"required": [
"archive_url",
"assignees_url",
"blobs_url",
"branches_url",
"collaborators_url",
"comments_url",
"commits_url",
"compare_url",
"contents_url",
"contributors_url",
"deployments_url",
"description",
"downloads_url",
"events_url",
"fork",
"forks_url",
"full_name",
"git_commits_url",
"git_refs_url",
"git_tags_url",
"hooks_url",
"html_url",
"id",
"node_id",
"issue_comment_url",
"issue_events_url",
"issues_url",
"keys_url",
"labels_url",
"languages_url",
"merges_url",
"milestones_url",
"name",
"notifications_url",
"owner",
"private",
"pulls_url",
"releases_url",
"stargazers_url",
"statuses_url",
"subscribers_url",
"subscription_url",
"tags_url",
"teams_url",
"trees_url",
"url",
"clone_url",
"default_branch",
"forks",
"forks_count",
"git_url",
"has_issues",
"has_projects",
"has_wiki",
"has_pages",
"homepage",
"language",
"archived",
"disabled",
"mirror_url",
"open_issues",
"open_issues_count",
"license",
"pushed_at",
"size",
"ssh_url",
"stargazers_count",
"svn_url",
"watchers",
"watchers_count",
"created_at",
"updated_at"
],
"properties": {
"has_downloads": null
}
},
"version": "2026-03-10",
"changeset": "remove_has_downloads"
}
]
}
nullable-repository-webhooks
{
"type": "object",
"title": "Repository",
"nullable": true,
"required": [
"archive_url",
"assignees_url",
"blobs_url",
"branches_url",
"collaborators_url",
"comments_url",
"commits_url",
"compare_url",
"contents_url",
"contributors_url",
"deployments_url",
"description",
"downloads_url",
"events_url",
"fork",
"forks_url",
"full_name",
"git_commits_url",
"git_refs_url",
"git_tags_url",
"hooks_url",
"html_url",
"id",
"node_id",
"issue_comment_url",
"issue_events_url",
"issues_url",
"keys_url",
"labels_url",
"languages_url",
"merges_url",
"milestones_url",
"name",
"notifications_url",
"owner",
"private",
"pulls_url",
"releases_url",
"stargazers_url",
"statuses_url",
"subscribers_url",
"subscription_url",
"tags_url",
"teams_url",
"trees_url",
"url",
"clone_url",
"default_branch",
"forks",
"forks_count",
"git_url",
"has_downloads",
"has_issues",
"has_projects",
"has_wiki",
"has_pages",
"homepage",
"language",
"archived",
"disabled",
"mirror_url",
"open_issues",
"open_issues_count",
"license",
"pushed_at",
"size",
"ssh_url",
"stargazers_count",
"svn_url",
"watchers",
"watchers_count",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"example": "Team Environment",
"description": "The name of the repository."
},
"size": {
"type": "integer",
"example": 108,
"description": "The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0."
},
"forks": {
"type": "integer"
},
"owner": {
"$ref": "#/components/schemas/simple-user"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"example": "git:github.com/octocat/Hello-World.git"
},
"license": {
"$ref": "#/components/schemas/nullable-license-simple"
},
"node_id": {
"type": "string",
"example": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5"
},
"private": {
"type": "boolean",
"default": false,
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string",
"example": "git@github.com:octocat/Hello-World.git"
},
"svn_url": {
"type": "string",
"format": "uri",
"example": "https://svn.github.com/octocat/Hello-World"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"example": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"format": "uri",
"example": "https://github.com",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/octocat/Hello-World"
},
"keys_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/keys{/key_id}"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/tags"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}"
},
"clone_url": {
"type": "string",
"example": "https://github.com/octocat/Hello-World.git"
},
"forks_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/forks"
},
"full_name": {
"type": "string",
"example": "octocat/Hello-World"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/hooks"
},
"pulls_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/pulls{/number}"
},
"pushed_at": {
"type": "string",
"format": "date-time",
"example": "2011-01-26T19:06:43Z",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/teams"
},
"trees_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/git/trees{/sha}"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2011-01-26T19:01:12Z",
"nullable": true
},
"events_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/events"
},
"has_issues": {
"type": "boolean",
"default": true,
"example": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/issues{/number}"
},
"labels_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/labels{/name}"
},
"merges_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/merges"
},
"mirror_url": {
"type": "string",
"format": "uri",
"example": "git:git.example.com/octocat/Hello-World",
"nullable": true
},
"starred_at": {
"type": "string",
"example": "\"2020-07-09T00:17:42Z\""
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2011-01-26T19:14:43Z",
"nullable": true
},
"visibility": {
"type": "string",
"default": "public",
"description": "The repository visibility: public, private, or internal."
},
"archive_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}"
},
"commits_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/commits{/sha}"
},
"compare_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}"
},
"description": {
"type": "string",
"example": "This your first repo!",
"nullable": true
},
"forks_count": {
"type": "integer",
"example": 9
},
"is_template": {
"type": "boolean",
"default": false,
"example": true,
"description": "Whether this repository acts as a template that can be used to generate new repositories."
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"admin",
"pull",
"push"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/branches{/branch}"
},
"comments_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/comments{/number}"
},
"contents_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/contents/{+path}"
},
"git_refs_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/git/refs{/sha}"
},
"git_tags_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/git/tags{/sha}"
},
"has_projects": {
"type": "boolean",
"default": true,
"example": true,
"description": "Whether projects are enabled."
},
"organization": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"releases_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/releases{/id}"
},
"statuses_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/statuses/{sha}"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow forking this repo"
},
"assignees_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/assignees{/user}"
},
"downloads_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/downloads"
},
"has_downloads": {
"type": "boolean",
"default": true,
"example": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/languages"
},
"master_branch": {
"type": "string"
},
"network_count": {
"type": "integer"
},
"default_branch": {
"type": "string",
"example": "master",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/milestones{/number}"
},
"stargazers_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/stargazers"
},
"watchers_count": {
"type": "integer",
"example": 80
},
"deployments_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/deployments"
},
"git_commits_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/git/commits{/sha}"
},
"has_discussions": {
"type": "boolean",
"default": false,
"example": true,
"description": "Whether discussions are enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/subscribers"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"example": false,
"description": "Whether to allow Auto-merge to be used on pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/contributors"
},
"issue_events_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/issues/events{/number}"
},
"stargazers_count": {
"type": "integer",
"example": 80
},
"subscription_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/subscription"
},
"temp_clone_token": {
"type": "string"
},
"collaborators_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}"
},
"custom_properties": {
"type": "object",
"description": "The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values.",
"additionalProperties": true
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"example": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/issues/comments{/number}"
},
"notifications_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}"
},
"open_issues_count": {
"type": "integer",
"example": 0
},
"subscribers_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"example": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"example": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"example": true,
"description": "Whether to allow squash merges for pull requests."
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
},
"allow_update_branch": {
"type": "boolean",
"default": false,
"example": false,
"description": "Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging."
},
"template_repository": {
"type": "object",
"nullable": true,
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string"
},
"size": {
"type": "integer"
},
"owner": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"type": {
"type": "string"
},
"login": {
"type": "string"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string"
},
"gists_url": {
"type": "string"
},
"repos_url": {
"type": "string"
},
"avatar_url": {
"type": "string"
},
"events_url": {
"type": "string"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string"
},
"followers_url": {
"type": "string"
},
"following_url": {
"type": "string"
},
"organizations_url": {
"type": "string"
},
"subscriptions_url": {
"type": "string"
},
"received_events_url": {
"type": "string"
}
}
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string"
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean"
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string"
},
"archived": {
"type": "boolean"
},
"disabled": {
"type": "boolean"
},
"has_wiki": {
"type": "boolean"
},
"homepage": {
"type": "string"
},
"html_url": {
"type": "string"
},
"keys_url": {
"type": "string"
},
"language": {
"type": "string"
},
"tags_url": {
"type": "string"
},
"blobs_url": {
"type": "string"
},
"clone_url": {
"type": "string"
},
"forks_url": {
"type": "string"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string"
},
"pulls_url": {
"type": "string"
},
"pushed_at": {
"type": "string"
},
"teams_url": {
"type": "string"
},
"trees_url": {
"type": "string"
},
"created_at": {
"type": "string"
},
"events_url": {
"type": "string"
},
"has_issues": {
"type": "boolean"
},
"issues_url": {
"type": "string"
},
"labels_url": {
"type": "string"
},
"merges_url": {
"type": "string"
},
"mirror_url": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"visibility": {
"type": "string"
},
"archive_url": {
"type": "string"
},
"commits_url": {
"type": "string"
},
"compare_url": {
"type": "string"
},
"description": {
"type": "string"
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"permissions": {
"type": "object",
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string"
},
"comments_url": {
"type": "string"
},
"contents_url": {
"type": "string"
},
"git_refs_url": {
"type": "string"
},
"git_tags_url": {
"type": "string"
},
"has_projects": {
"type": "boolean"
},
"releases_url": {
"type": "string"
},
"statuses_url": {
"type": "string"
},
"assignees_url": {
"type": "string"
},
"downloads_url": {
"type": "string"
},
"has_downloads": {
"type": "boolean"
},
"languages_url": {
"type": "string"
},
"network_count": {
"type": "integer"
},
"default_branch": {
"type": "string"
},
"milestones_url": {
"type": "string"
},
"stargazers_url": {
"type": "string"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string"
},
"git_commits_url": {
"type": "string"
},
"subscribers_url": {
"type": "string"
},
"allow_auto_merge": {
"type": "boolean"
},
"contributors_url": {
"type": "string"
},
"issue_events_url": {
"type": "string"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string"
},
"temp_clone_token": {
"type": "string"
},
"collaborators_url": {
"type": "string"
},
"issue_comment_url": {
"type": "string"
},
"notifications_url": {
"type": "string"
},
"open_issues_count": {
"type": "integer"
},
"subscribers_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean"
},
"allow_rebase_merge": {
"type": "boolean"
},
"allow_squash_merge": {
"type": "boolean"
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
},
"allow_update_branch": {
"type": "boolean"
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
},
"delete_branch_on_merge": {
"type": "boolean"
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
},
"use_squash_pr_title_as_default": {
"type": "boolean"
}
}
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"example": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"anonymous_access_enabled": {
"type": "boolean",
"description": "Whether anonymous git access is enabled for this repository"
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
},
"web_commit_signoff_required": {
"type": "boolean",
"default": false,
"description": "Whether to require contributors to sign off on web-based commits"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
},
"use_squash_pr_title_as_default": {
"type": "boolean",
"default": false,
"deprecated": true,
"description": "Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead."
}
},
"description": "The repository on GitHub where the event occurred. Webhook payloads contain the `repository` property\nwhen the event occurs from activity in a repository.",
"x-github-breaking-changes": [
{
"patch": {
"properties": {
"template_repository": {
"properties": {
"use_squash_pr_title_as_default": null
}
},
"use_squash_pr_title_as_default": null
}
},
"version": "2026-03-10",
"changeset": "remove_use_squash_pr_title_as_default"
},
{
"patch": {
"properties": {
"master_branch": null
}
},
"version": "2026-03-10",
"changeset": "deprecate_beta_media_type"
}
]
}
nullable-scoped-installation
{
"type": "object",
"title": "Scoped Installation",
"nullable": true,
"required": [
"permissions",
"repository_selection",
"single_file_name",
"repositories_url",
"account"
],
"properties": {
"account": {
"$ref": "#/components/schemas/simple-user"
},
"permissions": {
"$ref": "#/components/schemas/app-permissions"
},
"repositories_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/users/octocat/repos"
},
"single_file_name": {
"type": "string",
"example": "config.yaml",
"nullable": true
},
"single_file_paths": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"config.yml",
".github/issue_TEMPLATE.md"
]
},
"repository_selection": {
"enum": [
"all",
"selected"
],
"type": "string",
"description": "Describe whether all repositories have been selected or there's a selection involved"
},
"has_multiple_single_files": {
"type": "boolean",
"example": true
}
}
}
nullable-secret-scanning-first-detected-location
{
"oneOf": [
{
"$ref": "#/components/schemas/secret-scanning-location-commit"
},
{
"$ref": "#/components/schemas/secret-scanning-location-wiki-commit"
},
{
"$ref": "#/components/schemas/secret-scanning-location-issue-title"
},
{
"$ref": "#/components/schemas/secret-scanning-location-issue-body"
},
{
"$ref": "#/components/schemas/secret-scanning-location-issue-comment"
},
{
"$ref": "#/components/schemas/secret-scanning-location-discussion-title"
},
{
"$ref": "#/components/schemas/secret-scanning-location-discussion-body"
},
{
"$ref": "#/components/schemas/secret-scanning-location-discussion-comment"
},
{
"$ref": "#/components/schemas/secret-scanning-location-pull-request-title"
},
{
"$ref": "#/components/schemas/secret-scanning-location-pull-request-body"
},
{
"$ref": "#/components/schemas/secret-scanning-location-pull-request-comment"
},
{
"$ref": "#/components/schemas/secret-scanning-location-pull-request-review"
},
{
"$ref": "#/components/schemas/secret-scanning-location-pull-request-review-comment"
}
],
"nullable": true,
"description": "Details on the location where the token was initially detected. This can be a commit, wiki commit, issue, discussion, pull request.\n"
}
nullable-simple-commit
{
"type": "object",
"title": "Simple Commit",
"nullable": true,
"required": [
"id",
"tree_id",
"message",
"timestamp",
"author",
"committer"
],
"properties": {
"id": {
"type": "string",
"example": "7638417db6d59f3c431d3e1f261cc637155684cd",
"description": "SHA for the commit"
},
"author": {
"type": "object",
"nullable": true,
"required": [
"name",
"email"
],
"properties": {
"name": {
"type": "string",
"example": "Monalisa Octocat",
"description": "Name of the commit's author"
},
"email": {
"type": "string",
"format": "email",
"example": "monalisa.octocat@example.com",
"description": "Git email address of the commit's author"
}
},
"description": "Information about the Git author"
},
"message": {
"type": "string",
"example": "Fix #42",
"description": "Message describing the purpose of the commit"
},
"tree_id": {
"type": "string",
"description": "SHA for the commit's tree"
},
"committer": {
"type": "object",
"nullable": true,
"required": [
"name",
"email"
],
"properties": {
"name": {
"type": "string",
"example": "Monalisa Octocat",
"description": "Name of the commit's committer"
},
"email": {
"type": "string",
"format": "email",
"example": "monalisa.octocat@example.com",
"description": "Git email address of the commit's committer"
}
},
"description": "Information about the Git committer"
},
"timestamp": {
"type": "string",
"format": "date-time",
"example": "2014-08-09T08:02:04+12:00",
"description": "Timestamp of the commit"
}
},
"description": "A commit."
}
nullable-simple-repository
{
"type": "object",
"title": "Simple Repository",
"nullable": true,
"required": [
"archive_url",
"assignees_url",
"blobs_url",
"branches_url",
"collaborators_url",
"comments_url",
"commits_url",
"compare_url",
"contents_url",
"contributors_url",
"deployments_url",
"description",
"downloads_url",
"events_url",
"fork",
"forks_url",
"full_name",
"git_commits_url",
"git_refs_url",
"git_tags_url",
"hooks_url",
"html_url",
"id",
"node_id",
"issue_comment_url",
"issue_events_url",
"issues_url",
"keys_url",
"labels_url",
"languages_url",
"merges_url",
"milestones_url",
"name",
"notifications_url",
"owner",
"private",
"pulls_url",
"releases_url",
"stargazers_url",
"statuses_url",
"subscribers_url",
"subscription_url",
"tags_url",
"teams_url",
"trees_url",
"url"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 1296269,
"description": "A unique identifier of the repository."
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World",
"description": "The URL to get more information about the repository from the GitHub API."
},
"fork": {
"type": "boolean",
"description": "Whether the repository is a fork."
},
"name": {
"type": "string",
"example": "Hello-World",
"description": "The name of the repository."
},
"owner": {
"$ref": "#/components/schemas/simple-user"
},
"node_id": {
"type": "string",
"example": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5",
"description": "The GraphQL identifier of the repository."
},
"private": {
"type": "boolean",
"description": "Whether the repository is private."
},
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/octocat/Hello-World",
"description": "The URL to view the repository on GitHub.com."
},
"keys_url": {
"type": "string",
"example": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}",
"description": "A template for the API URL to get information about deploy keys on the repository."
},
"tags_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/tags",
"description": "The API URL to get information about tags on the repository."
},
"blobs_url": {
"type": "string",
"example": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}",
"description": "A template for the API URL to create or retrieve a raw Git blob in the repository."
},
"forks_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/forks",
"description": "The API URL to list the forks of the repository."
},
"full_name": {
"type": "string",
"example": "octocat/Hello-World",
"description": "The full, globally unique, name of the repository."
},
"hooks_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/hooks",
"description": "The API URL to list the hooks on the repository."
},
"pulls_url": {
"type": "string",
"example": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}",
"description": "A template for the API URL to get information about pull requests on the repository."
},
"teams_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/teams",
"description": "The API URL to list the teams on the repository."
},
"trees_url": {
"type": "string",
"example": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}",
"description": "A template for the API URL to create or retrieve a raw Git tree of the repository."
},
"events_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/events",
"description": "The API URL to list the events of the repository."
},
"issues_url": {
"type": "string",
"example": "https://api.github.com/repos/octocat/Hello-World/issues{/number}",
"description": "A template for the API URL to get information about issues on the repository."
},
"labels_url": {
"type": "string",
"example": "https://api.github.com/repos/octocat/Hello-World/labels{/name}",
"description": "A template for the API URL to get information about labels of the repository."
},
"merges_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/merges",
"description": "The API URL to merge branches in the repository."
},
"archive_url": {
"type": "string",
"example": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}",
"description": "A template for the API URL to download the repository as an archive."
},
"commits_url": {
"type": "string",
"example": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}",
"description": "A template for the API URL to get information about commits on the repository."
},
"compare_url": {
"type": "string",
"example": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}",
"description": "A template for the API URL to compare two commits or refs."
},
"description": {
"type": "string",
"example": "This your first repo!",
"nullable": true,
"description": "The repository description."
},
"branches_url": {
"type": "string",
"example": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}",
"description": "A template for the API URL to get information about branches in the repository."
},
"comments_url": {
"type": "string",
"example": "https://api.github.com/repos/octocat/Hello-World/comments{/number}",
"description": "A template for the API URL to get information about comments on the repository."
},
"contents_url": {
"type": "string",
"example": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}",
"description": "A template for the API URL to get the contents of the repository."
},
"git_refs_url": {
"type": "string",
"example": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}",
"description": "A template for the API URL to get information about Git refs of the repository."
},
"git_tags_url": {
"type": "string",
"example": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}",
"description": "A template for the API URL to get information about Git tags of the repository."
},
"releases_url": {
"type": "string",
"example": "https://api.github.com/repos/octocat/Hello-World/releases{/id}",
"description": "A template for the API URL to get information about releases on the repository."
},
"statuses_url": {
"type": "string",
"example": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}",
"description": "A template for the API URL to get information about statuses of a commit."
},
"assignees_url": {
"type": "string",
"example": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}",
"description": "A template for the API URL to list the available assignees for issues in the repository."
},
"downloads_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/downloads",
"description": "The API URL to list the downloads on the repository."
},
"languages_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/languages",
"description": "The API URL to get information about the languages of the repository."
},
"milestones_url": {
"type": "string",
"example": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}",
"description": "A template for the API URL to get information about milestones of the repository."
},
"stargazers_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/stargazers",
"description": "The API URL to list the stargazers on the repository."
},
"deployments_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/deployments",
"description": "The API URL to list the deployments of the repository."
},
"git_commits_url": {
"type": "string",
"example": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}",
"description": "A template for the API URL to get information about Git commits of the repository."
},
"subscribers_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/subscribers",
"description": "The API URL to list the subscribers on the repository."
},
"contributors_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/contributors",
"description": "A template for the API URL to list the contributors to the repository."
},
"issue_events_url": {
"type": "string",
"example": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}",
"description": "A template for the API URL to get information about issue events on the repository."
},
"subscription_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/subscription",
"description": "The API URL to subscribe to notifications for this repository."
},
"collaborators_url": {
"type": "string",
"example": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}",
"description": "A template for the API URL to get information about collaborators of the repository."
},
"issue_comment_url": {
"type": "string",
"example": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}",
"description": "A template for the API URL to get information about issue comments on the repository."
},
"notifications_url": {
"type": "string",
"example": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}",
"description": "A template for the API URL to get information about notifications on the repository."
}
},
"description": "A GitHub repository."
}
nullable-simple-user
{
"type": "object",
"title": "Simple User",
"nullable": true,
"required": [
"avatar_url",
"events_url",
"followers_url",
"following_url",
"gists_url",
"gravatar_id",
"html_url",
"id",
"node_id",
"login",
"organizations_url",
"received_events_url",
"repos_url",
"site_admin",
"starred_url",
"subscriptions_url",
"type",
"url"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 1
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/users/octocat"
},
"name": {
"type": "string",
"nullable": true
},
"type": {
"type": "string",
"example": "User"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string",
"example": "octocat"
},
"node_id": {
"type": "string",
"example": "MDQ6VXNlcjE="
},
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/octocat"
},
"gists_url": {
"type": "string",
"example": "https://api.github.com/users/octocat/gists{/gist_id}"
},
"repos_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/users/octocat/repos"
},
"avatar_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/images/error/octocat_happy.gif"
},
"events_url": {
"type": "string",
"example": "https://api.github.com/users/octocat/events{/privacy}"
},
"site_admin": {
"type": "boolean"
},
"starred_at": {
"type": "string",
"example": "\"2020-07-09T00:17:55Z\""
},
"gravatar_id": {
"type": "string",
"example": "41d064eb2195891e12d0413f63227ea7",
"nullable": true
},
"starred_url": {
"type": "string",
"example": "https://api.github.com/users/octocat/starred{/owner}{/repo}"
},
"followers_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/users/octocat/followers"
},
"following_url": {
"type": "string",
"example": "https://api.github.com/users/octocat/following{/other_user}"
},
"user_view_type": {
"type": "string",
"example": "public"
},
"organizations_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/users/octocat/orgs"
},
"subscriptions_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/users/octocat/subscriptions"
},
"received_events_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/users/octocat/received_events"
}
},
"description": "A GitHub user."
}
nullable-team-simple
{
"type": "object",
"title": "Team Simple",
"nullable": true,
"required": [
"id",
"node_id",
"url",
"members_url",
"name",
"description",
"permission",
"html_url",
"repositories_url",
"slug",
"type"
],
"properties": {
"id": {
"type": "integer",
"example": 1,
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/organizations/1/team/1",
"description": "URL for the team"
},
"name": {
"type": "string",
"example": "Justice League",
"description": "Name of the team"
},
"slug": {
"type": "string",
"example": "justice-league"
},
"type": {
"enum": [
"enterprise",
"organization"
],
"type": "string",
"description": "The ownership type of the team"
},
"ldap_dn": {
"type": "string",
"example": "uid=example,ou=users,dc=github,dc=com",
"description": "Distinguished Name (DN) that team maps to within LDAP environment"
},
"node_id": {
"type": "string",
"example": "MDQ6VGVhbTE="
},
"privacy": {
"type": "string",
"example": "closed",
"description": "The level of privacy this team should have"
},
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/orgs/rails/teams/core"
},
"permission": {
"type": "string",
"example": "admin",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"example": "A great team.",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"example": "https://api.github.com/organizations/1/team/1/members{/member}"
},
"enterprise_id": {
"type": "integer",
"example": 42,
"description": "Unique identifier of the enterprise to which this team belongs"
},
"organization_id": {
"type": "integer",
"example": 37,
"description": "Unique identifier of the organization to which this team belongs"
},
"repositories_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/organizations/1/team/1/repos"
},
"notification_setting": {
"type": "string",
"example": "notifications_enabled",
"description": "The notification setting the team has set"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
oidc-custom-property-inclusion
{
"type": "object",
"title": "Actions OIDC Custom Property Inclusion",
"required": [
"custom_property_name",
"inclusion_source"
],
"properties": {
"inclusion_source": {
"enum": [
"organization",
"enterprise"
],
"type": "string",
"example": "organization",
"description": "Whether the inclusion was defined at the organization or enterprise level"
},
"custom_property_name": {
"type": "string",
"description": "The name of the custom property that is included in the OIDC token"
}
},
"description": "An OIDC custom property inclusion for repository properties"
}
oidc-custom-property-inclusion-input
{
"type": "object",
"title": "Actions OIDC Custom Property Inclusion Input",
"required": [
"custom_property_name"
],
"properties": {
"custom_property_name": {
"type": "string",
"description": "The name of the custom property to include in the OIDC token"
}
},
"description": "Input for creating an OIDC custom property inclusion"
}
oidc-custom-sub
{
"type": "object",
"title": "Actions OIDC Subject customization",
"required": [
"include_claim_keys"
],
"properties": {
"include_claim_keys": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of unique strings. Each claim key can only contain alphanumeric characters and underscores."
}
},
"description": "Actions OIDC Subject customization"
}
oidc-custom-sub-repo
{
"type": "object",
"title": "Actions OIDC subject customization for a repository",
"required": [
"use_default"
],
"properties": {
"use_default": {
"type": "boolean",
"description": "Whether to use the default template or not. If `true`, the `include_claim_keys` field is ignored."
},
"include_claim_keys": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of unique strings. Each claim key can only contain alphanumeric characters and underscores."
}
},
"description": "Actions OIDC subject customization for a repository"
}
org-hook
{
"type": "object",
"title": "Org Hook",
"required": [
"id",
"url",
"type",
"name",
"active",
"events",
"config",
"ping_url",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"example": 1
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/orgs/octocat/hooks/1"
},
"name": {
"type": "string",
"example": "web"
},
"type": {
"type": "string"
},
"active": {
"type": "boolean",
"example": true
},
"config": {
"type": "object",
"properties": {
"url": {
"type": "string",
"example": "\"http://example.com/2\""
},
"secret": {
"type": "string",
"example": "\"********\""
},
"content_type": {
"type": "string",
"example": "\"form\""
},
"insecure_ssl": {
"type": "string",
"example": "\"0\""
}
}
},
"events": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"push",
"pull_request"
]
},
"ping_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/orgs/octocat/hooks/1/pings"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2011-09-06T17:26:27Z"
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2011-09-06T20:39:23Z"
},
"deliveries_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/orgs/octocat/hooks/1/deliveries"
}
},
"description": "Org Hook"
}
org-membership
{
"type": "object",
"title": "Org Membership",
"required": [
"state",
"role",
"organization_url",
"url",
"organization",
"user"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/orgs/octocat/memberships/defunkt"
},
"role": {
"enum": [
"admin",
"member",
"billing_manager"
],
"type": "string",
"example": "admin",
"description": "The user's membership type in the organization."
},
"user": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"state": {
"enum": [
"active",
"pending"
],
"type": "string",
"example": "active",
"description": "The state of the member in the organization. The `pending` state indicates the user has not yet accepted an invitation."
},
"permissions": {
"type": "object",
"required": [
"can_create_repository"
],
"properties": {
"can_create_repository": {
"type": "boolean"
}
}
},
"organization": {
"$ref": "#/components/schemas/organization-simple"
},
"organization_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/orgs/octocat"
},
"direct_membership": {
"type": "boolean",
"example": true,
"description": "Whether the user has direct membership in the organization."
},
"enterprise_teams_providing_indirect_membership": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"ent:team-one",
"ent:team-two"
],
"maxItems": 100,
"description": "The slugs of the enterprise teams providing the user with indirect membership in the organization.\nA limit of 100 enterprise team slugs is returned."
}
},
"description": "Org Membership"
}
org-private-registry-configuration
{
"type": "object",
"title": "Organization private registry",
"required": [
"name",
"registry_type",
"visibility",
"created_at",
"updated_at"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "The URL of the private registry."
},
"name": {
"type": "string",
"example": "MAVEN_REPOSITORY_SECRET",
"description": "The name of the private registry configuration."
},
"domain": {
"type": "string",
"description": "The CodeArtifact domain."
},
"audience": {
"type": "string",
"description": "The OIDC audience."
},
"username": {
"type": "string",
"example": "monalisa",
"nullable": true,
"description": "The username to use when authenticating with the private registry."
},
"auth_type": {
"enum": [
"token",
"username_password",
"oidc_azure",
"oidc_aws",
"oidc_jfrog"
],
"type": "string",
"description": "The authentication type for the private registry."
},
"client_id": {
"type": "string",
"description": "The client ID of the Azure AD application."
},
"role_name": {
"type": "string",
"description": "The AWS IAM role name."
},
"tenant_id": {
"type": "string",
"description": "The tenant ID of the Azure AD application."
},
"account_id": {
"type": "string",
"description": "The AWS account ID."
},
"aws_region": {
"type": "string",
"description": "The AWS region."
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"all",
"private",
"selected"
],
"type": "string",
"description": "Which type of organization repositories have access to the private registry."
},
"domain_owner": {
"type": "string",
"description": "The CodeArtifact domain owner."
},
"registry_type": {
"enum": [
"maven_repository",
"nuget_feed",
"goproxy_server",
"npm_registry",
"rubygems_server",
"cargo_registry",
"composer_repository",
"docker_registry",
"git_source",
"helm_registry",
"hex_organization",
"hex_repository",
"pub_repository",
"python_index",
"terraform_registry"
],
"type": "string",
"description": "The registry type."
},
"replaces_base": {
"type": "boolean",
"default": false,
"description": "Whether this private registry replaces the base registry (e.g., npmjs.org for npm, rubygems.org for rubygems). When `true`, Dependabot will only use this registry and will not fall back to the public registry. When `false` (default), Dependabot will use this registry for scoped packages but may fall back to the public registry for other packages."
},
"identity_mapping_name": {
"type": "string",
"description": "The JFrog identity mapping name."
},
"jfrog_oidc_provider_name": {
"type": "string",
"description": "The JFrog OIDC provider name."
}
},
"description": "Private registry configuration for an organization"
}
org-private-registry-configuration-with-selected-repositories
{
"type": "object",
"title": "Organization private registry",
"required": [
"name",
"registry_type",
"visibility",
"created_at",
"updated_at"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "The URL of the private registry."
},
"name": {
"type": "string",
"example": "MAVEN_REPOSITORY_SECRET",
"description": "The name of the private registry configuration."
},
"domain": {
"type": "string",
"description": "The CodeArtifact domain."
},
"audience": {
"type": "string",
"description": "The OIDC audience."
},
"username": {
"type": "string",
"example": "monalisa",
"description": "The username to use when authenticating with the private registry."
},
"auth_type": {
"enum": [
"token",
"username_password",
"oidc_azure",
"oidc_aws",
"oidc_jfrog"
],
"type": "string",
"description": "The authentication type for the private registry."
},
"client_id": {
"type": "string",
"description": "The client ID of the Azure AD application."
},
"role_name": {
"type": "string",
"description": "The AWS IAM role name."
},
"tenant_id": {
"type": "string",
"description": "The tenant ID of the Azure AD application."
},
"account_id": {
"type": "string",
"description": "The AWS account ID."
},
"aws_region": {
"type": "string",
"description": "The AWS region."
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"all",
"private",
"selected"
],
"type": "string",
"description": "Which type of organization repositories have access to the private registry. `selected` means only the repositories specified by `selected_repository_ids` can access the private registry."
},
"domain_owner": {
"type": "string",
"description": "The CodeArtifact domain owner."
},
"registry_type": {
"enum": [
"maven_repository",
"nuget_feed",
"goproxy_server",
"npm_registry",
"rubygems_server",
"cargo_registry",
"composer_repository",
"docker_registry",
"git_source",
"helm_registry",
"hex_organization",
"hex_repository",
"pub_repository",
"python_index",
"terraform_registry"
],
"type": "string",
"description": "The registry type."
},
"replaces_base": {
"type": "boolean",
"default": false,
"description": "Whether this private registry replaces the base registry (e.g., npmjs.org for npm, rubygems.org for rubygems). When `true`, Dependabot will only use this registry and will not fall back to the public registry. When `false` (default), Dependabot will use this registry for scoped packages but may fall back to the public registry for other packages."
},
"identity_mapping_name": {
"type": "string",
"description": "The JFrog identity mapping name."
},
"selected_repository_ids": {
"type": "array",
"items": {
"type": "integer"
},
"description": "An array of repository IDs that can access the organization private registry when `visibility` is set to `selected`."
},
"jfrog_oidc_provider_name": {
"type": "string",
"description": "The JFrog OIDC provider name."
}
},
"description": "Private registry configuration for an organization"
}
org-repo-custom-property-values
{
"type": "object",
"title": "Organization Repository Custom Property Values",
"required": [
"repository_id",
"repository_name",
"repository_full_name",
"properties"
],
"properties": {
"properties": {
"type": "array",
"items": {
"$ref": "#/components/schemas/custom-property-value"
},
"description": "List of custom property names and associated values"
},
"repository_id": {
"type": "integer",
"example": 1296269
},
"repository_name": {
"type": "string",
"example": "Hello-World"
},
"repository_full_name": {
"type": "string",
"example": "octocat/Hello-World"
}
},
"description": "List of custom property values for a repository"
}
org-rules
{
"type": "object",
"oneOf": [
{
"$ref": "#/components/schemas/repository-rule-creation"
},
{
"$ref": "#/components/schemas/repository-rule-update"
},
{
"$ref": "#/components/schemas/repository-rule-deletion"
},
{
"$ref": "#/components/schemas/repository-rule-required-linear-history"
},
{
"$ref": "#/components/schemas/repository-rule-required-deployments"
},
{
"$ref": "#/components/schemas/repository-rule-required-signatures"
},
{
"$ref": "#/components/schemas/repository-rule-pull-request"
},
{
"$ref": "#/components/schemas/repository-rule-required-status-checks"
},
{
"$ref": "#/components/schemas/repository-rule-non-fast-forward"
},
{
"$ref": "#/components/schemas/repository-rule-commit-message-pattern"
},
{
"$ref": "#/components/schemas/repository-rule-commit-author-email-pattern"
},
{
"$ref": "#/components/schemas/repository-rule-committer-email-pattern"
},
{
"$ref": "#/components/schemas/repository-rule-branch-name-pattern"
},
{
"$ref": "#/components/schemas/repository-rule-tag-name-pattern"
},
{
"$ref": "#/components/schemas/repository-rule-file-path-restriction"
},
{
"$ref": "#/components/schemas/repository-rule-max-file-path-length"
},
{
"$ref": "#/components/schemas/repository-rule-file-extension-restriction"
},
{
"$ref": "#/components/schemas/repository-rule-max-file-size"
},
{
"$ref": "#/components/schemas/repository-rule-workflows"
},
{
"$ref": "#/components/schemas/repository-rule-code-scanning"
},
{
"$ref": "#/components/schemas/repository-rule-copilot-code-review"
}
],
"title": "Repository Rule",
"description": "A repository rule."
}
org-ruleset-conditions
{
"type": "object",
"oneOf": [
{
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/repository-ruleset-conditions"
},
{
"$ref": "#/components/schemas/repository-ruleset-conditions-repository-name-target"
}
],
"title": "repository_name_and_ref_name",
"description": "Conditions to target repositories by name and refs by name"
},
{
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/repository-ruleset-conditions"
},
{
"$ref": "#/components/schemas/repository-ruleset-conditions-repository-id-target"
}
],
"title": "repository_id_and_ref_name",
"description": "Conditions to target repositories by id and refs by name"
},
{
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/repository-ruleset-conditions"
},
{
"$ref": "#/components/schemas/repository-ruleset-conditions-repository-property-target"
}
],
"title": "repository_property_and_ref_name",
"description": "Conditions to target repositories by property and refs by name"
}
],
"title": "Organization ruleset conditions",
"description": "Conditions for an organization ruleset.\nThe branch and tag rulesets conditions object should contain both `repository_name` and `ref_name` properties, or both `repository_id` and `ref_name` properties, or both `repository_property` and `ref_name` properties.\nThe push rulesets conditions object does not require the `ref_name` property.\nFor repository policy rulesets, the conditions object should only contain the `repository_name`, the `repository_id`, or the `repository_property`."
}
organization-actions-secret
{
"type": "object",
"title": "Actions Secret for an Organization",
"required": [
"name",
"created_at",
"updated_at",
"visibility"
],
"properties": {
"name": {
"type": "string",
"example": "SECRET_TOKEN",
"description": "The name of the secret."
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"all",
"private",
"selected"
],
"type": "string",
"description": "Visibility of a secret"
},
"selected_repositories_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/organizations/org/secrets/my_secret/repositories"
}
},
"description": "Secrets for GitHub Actions for an organization."
}
organization-actions-variable
{
"type": "object",
"title": "Actions Variable for an Organization",
"required": [
"name",
"value",
"created_at",
"updated_at",
"visibility"
],
"properties": {
"name": {
"type": "string",
"example": "USERNAME",
"description": "The name of the variable."
},
"value": {
"type": "string",
"example": "octocat",
"description": "The value of the variable."
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2019-01-24T22:45:36.000Z",
"description": "The date and time at which the variable was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ."
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2019-01-24T22:45:36.000Z",
"description": "The date and time at which the variable was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ."
},
"visibility": {
"enum": [
"all",
"private",
"selected"
],
"type": "string",
"description": "Visibility of a variable"
},
"selected_repositories_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/organizations/org/variables/USERNAME/repositories"
}
},
"description": "Organization variable for GitHub Actions."
}
organization-create-issue-field
{
"type": "object",
"required": [
"name",
"data_type"
],
"properties": {
"name": {
"type": "string",
"description": "Name of the issue field."
},
"options": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"color",
"priority"
],
"properties": {
"name": {
"type": "string",
"description": "Name of the option."
},
"color": {
"enum": [
"gray",
"blue",
"green",
"yellow",
"orange",
"red",
"pink",
"purple"
],
"type": "string",
"description": "Color for the option."
},
"priority": {
"type": "integer",
"description": "Priority of the option for ordering."
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the option."
}
}
},
"nullable": true,
"description": "Options for single select fields. Required when data_type is 'single_select'."
},
"data_type": {
"enum": [
"text",
"date",
"single_select",
"number"
],
"type": "string",
"description": "The data type of the issue field."
},
"visibility": {
"enum": [
"organization_members_only",
"all"
],
"type": "string",
"description": "The visibility of the issue field. Can be `organization_members_only` (visible only within the organization) or `all` (visible to all users who can see issues). Only used when the visibility settings feature is enabled. Defaults to `organization_members_only`."
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the issue field."
}
}
}
organization-create-issue-type
{
"type": "object",
"required": [
"name",
"is_enabled"
],
"properties": {
"name": {
"type": "string",
"description": "Name of the issue type."
},
"color": {
"enum": [
"gray",
"blue",
"green",
"yellow",
"orange",
"red",
"pink",
"purple"
],
"type": "string",
"nullable": true,
"description": "Color for the issue type."
},
"is_enabled": {
"type": "boolean",
"description": "Whether or not the issue type is enabled at the organization level."
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the issue type."
}
}
}
organization-dependabot-secret
{
"type": "object",
"title": "Dependabot Secret for an Organization",
"required": [
"name",
"created_at",
"updated_at",
"visibility"
],
"properties": {
"name": {
"type": "string",
"example": "SECRET_TOKEN",
"description": "The name of the secret."
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"all",
"private",
"selected"
],
"type": "string",
"description": "Visibility of a secret"
},
"selected_repositories_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/organizations/org/dependabot/secrets/my_secret/repositories"
}
},
"description": "Secrets for GitHub Dependabot for an organization."
}
organization-full
{
"type": "object",
"title": "Organization Full",
"required": [
"login",
"url",
"id",
"node_id",
"repos_url",
"events_url",
"hooks_url",
"issues_url",
"members_url",
"public_members_url",
"avatar_url",
"description",
"html_url",
"has_organization_projects",
"has_repository_projects",
"public_repos",
"public_gists",
"followers",
"following",
"type",
"created_at",
"updated_at",
"archived_at"
],
"properties": {
"id": {
"type": "integer",
"example": 1
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/orgs/github"
},
"blog": {
"type": "string",
"format": "uri",
"example": "https://github.com/blog"
},
"name": {
"type": "string",
"example": "github"
},
"plan": {
"type": "object",
"required": [
"name",
"space",
"private_repos"
],
"properties": {
"name": {
"type": "string"
},
"seats": {
"type": "integer"
},
"space": {
"type": "integer"
},
"filled_seats": {
"type": "integer"
},
"private_repos": {
"type": "integer"
}
}
},
"type": {
"type": "string",
"example": "Organization"
},
"email": {
"type": "string",
"format": "email",
"example": "octocat@github.com"
},
"login": {
"type": "string",
"example": "github"
},
"company": {
"type": "string",
"example": "GitHub"
},
"node_id": {
"type": "string",
"example": "MDEyOk9yZ2FuaXphdGlvbjE="
},
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/octocat"
},
"location": {
"type": "string",
"example": "San Francisco"
},
"followers": {
"type": "integer",
"example": 20
},
"following": {
"type": "integer",
"example": 0
},
"hooks_url": {
"type": "string",
"example": "https://api.github.com/orgs/github/hooks"
},
"repos_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/orgs/github/repos"
},
"avatar_url": {
"type": "string",
"example": "https://github.com/images/error/octocat_happy.gif"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2008-01-14T04:33:35Z"
},
"disk_usage": {
"type": "integer",
"example": 10000,
"nullable": true
},
"events_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/orgs/github/events"
},
"issues_url": {
"type": "string",
"example": "https://api.github.com/orgs/github/issues"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"archived_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"description": {
"type": "string",
"example": "A great organization",
"nullable": true
},
"is_verified": {
"type": "boolean",
"example": true
},
"members_url": {
"type": "string",
"example": "https://api.github.com/orgs/github/members{/member}"
},
"public_gists": {
"type": "integer",
"example": 1
},
"public_repos": {
"type": "integer",
"example": 2
},
"billing_email": {
"type": "string",
"format": "email",
"example": "org@example.com",
"nullable": true
},
"collaborators": {
"type": "integer",
"example": 8,
"nullable": true,
"description": "The number of collaborators on private repositories.\n\nThis field may be null if the number of private repositories is over 50,000."
},
"private_gists": {
"type": "integer",
"example": 81,
"nullable": true
},
"twitter_username": {
"type": "string",
"example": "github",
"nullable": true
},
"public_members_url": {
"type": "string",
"example": "https://api.github.com/orgs/github/public_members{/member}"
},
"owned_private_repos": {
"type": "integer",
"example": 100
},
"total_private_repos": {
"type": "integer",
"example": 100
},
"has_repository_projects": {
"type": "boolean",
"example": true
},
"members_can_create_pages": {
"type": "boolean",
"example": true
},
"members_can_create_teams": {
"type": "boolean",
"example": true
},
"default_repository_branch": {
"type": "string",
"example": "main",
"nullable": true,
"description": "The default branch for repositories created in this organization."
},
"has_organization_projects": {
"type": "boolean",
"example": true
},
"members_can_delete_issues": {
"type": "boolean",
"example": true
},
"web_commit_signoff_required": {
"type": "boolean",
"example": false
},
"default_repository_permission": {
"type": "string",
"nullable": true
},
"readers_can_create_discussions": {
"type": "boolean",
"example": true
},
"two_factor_requirement_enabled": {
"type": "boolean",
"example": true,
"nullable": true
},
"members_can_create_public_pages": {
"type": "boolean",
"example": true
},
"members_can_create_repositories": {
"type": "boolean",
"example": true,
"nullable": true
},
"members_can_delete_repositories": {
"type": "boolean",
"example": true
},
"members_can_create_private_pages": {
"type": "boolean",
"example": true
},
"members_can_change_repo_visibility": {
"type": "boolean",
"example": true
},
"deploy_keys_enabled_for_repositories": {
"type": "boolean",
"example": false,
"description": "Controls whether or not deploy keys may be added and used for repositories in the organization."
},
"members_can_view_dependency_insights": {
"type": "boolean",
"example": true
},
"members_can_fork_private_repositories": {
"type": "boolean",
"example": false,
"nullable": true
},
"members_can_create_public_repositories": {
"type": "boolean",
"example": true
},
"members_can_create_private_repositories": {
"type": "boolean",
"example": true
},
"members_allowed_repository_creation_type": {
"type": "string",
"example": "all"
},
"members_can_create_internal_repositories": {
"type": "boolean",
"example": true
},
"members_can_invite_outside_collaborators": {
"type": "boolean",
"example": true
},
"display_commenter_full_name_setting_enabled": {
"type": "boolean",
"example": true
},
"secret_scanning_push_protection_custom_link": {
"type": "string",
"example": "https://github.com/test-org/test-repo/blob/main/README.md",
"nullable": true,
"description": "An optional URL string to display to contributors who are blocked from pushing a secret."
},
"secret_scanning_enabled_for_new_repositories": {
"type": "boolean",
"example": false,
"deprecated": true,
"description": "**Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead.\n\nWhether secret scanning is automatically enabled for new repositories and repositories transferred to this organization.\n\nThis field is only visible to organization owners or members of a team with the security manager role."
},
"dependency_graph_enabled_for_new_repositories": {
"type": "boolean",
"example": false,
"deprecated": true,
"description": "**Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead.\n\nWhether dependency graph is automatically enabled for new repositories and repositories transferred to this organization.\n\nThis field is only visible to organization owners or members of a team with the security manager role."
},
"advanced_security_enabled_for_new_repositories": {
"type": "boolean",
"example": false,
"deprecated": true,
"description": "**Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead.\n\nWhether GitHub Advanced Security is enabled for new repositories and repositories transferred to this organization.\n\nThis field is only visible to organization owners or members of a team with the security manager role."
},
"dependabot_alerts_enabled_for_new_repositories": {
"type": "boolean",
"example": false,
"deprecated": true,
"description": "**Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead.\n\nWhether Dependabot alerts are automatically enabled for new repositories and repositories transferred to this organization.\n\nThis field is only visible to organization owners or members of a team with the security manager role."
},
"secret_scanning_push_protection_custom_link_enabled": {
"type": "boolean",
"example": false,
"description": "Whether a custom link is shown to contributors who are blocked from pushing a secret by push protection."
},
"dependabot_security_updates_enabled_for_new_repositories": {
"type": "boolean",
"example": false,
"deprecated": true,
"description": "**Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead.\n\nWhether Dependabot security updates are automatically enabled for new repositories and repositories transferred to this organization.\n\nThis field is only visible to organization owners or members of a team with the security manager role."
},
"secret_scanning_push_protection_enabled_for_new_repositories": {
"type": "boolean",
"example": false,
"deprecated": true,
"description": "**Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead.\n\nWhether secret scanning push protection is automatically enabled for new repositories and repositories transferred to this organization.\n\nThis field is only visible to organization owners or members of a team with the security manager role."
}
},
"description": "Organization Full",
"x-github-breaking-changes": [
{
"patch": [
{
"op": "remove",
"path": "/properties/secret_scanning_push_protection_custom_link_enabled"
}
],
"version": "2026-03-10",
"changeset": "remove_secret_scanning_custom_link_enablement_field"
}
]
}
organization-invitation
{
"type": "object",
"title": "Organization Invitation",
"required": [
"id",
"login",
"email",
"role",
"created_at",
"inviter",
"team_count",
"invitation_teams_url",
"node_id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"role": {
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string",
"nullable": true
},
"inviter": {
"$ref": "#/components/schemas/simple-user"
},
"node_id": {
"type": "string",
"example": "\"MDIyOk9yZ2FuaXphdGlvbkludml0YXRpb24x\""
},
"failed_at": {
"type": "string",
"nullable": true
},
"created_at": {
"type": "string"
},
"team_count": {
"type": "integer"
},
"failed_reason": {
"type": "string",
"nullable": true
},
"invitation_source": {
"type": "string",
"example": "\"member\""
},
"invitation_teams_url": {
"type": "string",
"example": "\"https://api.github.com/organizations/16/invitations/1/teams\""
}
},
"description": "Organization Invitation"
}
organization-programmatic-access-grant
{
"type": "object",
"title": "Organization Programmatic Access Grant",
"required": [
"id",
"owner",
"repository_selection",
"repositories_url",
"permissions",
"access_granted_at",
"token_id",
"token_name",
"token_expired",
"token_expires_at",
"token_last_used_at"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the fine-grained personal access token grant. The `pat_id` used to get details about an approved fine-grained personal access token."
},
"owner": {
"$ref": "#/components/schemas/simple-user"
},
"token_id": {
"type": "integer",
"description": "Unique identifier of the user's token. This field can also be found in audit log events and the organization's settings for their PAT grants."
},
"token_name": {
"type": "string",
"description": "The name given to the user's token. This field can also be found in an organization's settings page for Active Tokens."
},
"permissions": {
"type": "object",
"properties": {
"other": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"repository": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"organization": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
},
"description": "Permissions requested, categorized by type of permission."
},
"token_expired": {
"type": "boolean",
"description": "Whether the associated fine-grained personal access token has expired."
},
"repositories_url": {
"type": "string",
"description": "URL to the list of repositories the fine-grained personal access token can access. Only follow when `repository_selection` is `subset`."
},
"token_expires_at": {
"type": "string",
"nullable": true,
"description": "Date and time when the associated fine-grained personal access token expires."
},
"access_granted_at": {
"type": "string",
"description": "Date and time when the fine-grained personal access token was approved to access the organization."
},
"token_last_used_at": {
"type": "string",
"nullable": true,
"description": "Date and time when the associated fine-grained personal access token was last used for authentication."
},
"repository_selection": {
"enum": [
"none",
"all",
"subset"
],
"type": "string",
"description": "Type of repository selection requested."
}
},
"description": "Minimal representation of an organization programmatic access grant for enumerations"
}
organization-programmatic-access-grant-request
{
"type": "object",
"title": "Simple Organization Programmatic Access Grant Request",
"required": [
"id",
"reason",
"owner",
"repository_selection",
"repositories_url",
"permissions",
"created_at",
"token_id",
"token_name",
"token_expired",
"token_expires_at",
"token_last_used_at"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the request for access via fine-grained personal access token. The `pat_request_id` used to review PAT requests."
},
"owner": {
"$ref": "#/components/schemas/simple-user"
},
"reason": {
"type": "string",
"nullable": true,
"description": "Reason for requesting access."
},
"token_id": {
"type": "integer",
"description": "Unique identifier of the user's token. This field can also be found in audit log events and the organization's settings for their PAT grants."
},
"created_at": {
"type": "string",
"description": "Date and time when the request for access was created."
},
"token_name": {
"type": "string",
"description": "The name given to the user's token. This field can also be found in an organization's settings page for Active Tokens."
},
"permissions": {
"type": "object",
"properties": {
"other": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"repository": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"organization": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
},
"description": "Permissions requested, categorized by type of permission."
},
"token_expired": {
"type": "boolean",
"description": "Whether the associated fine-grained personal access token has expired."
},
"repositories_url": {
"type": "string",
"description": "URL to the list of repositories requested to be accessed via fine-grained personal access token. Should only be followed when `repository_selection` is `subset`."
},
"token_expires_at": {
"type": "string",
"nullable": true,
"description": "Date and time when the associated fine-grained personal access token expires."
},
"token_last_used_at": {
"type": "string",
"nullable": true,
"description": "Date and time when the associated fine-grained personal access token was last used for authentication."
},
"repository_selection": {
"enum": [
"none",
"all",
"subset"
],
"type": "string",
"description": "Type of repository selection requested."
}
},
"description": "Minimal representation of an organization programmatic access grant request for enumerations"
}
organization-role
{
"type": "object",
"title": "Organization Role",
"required": [
"id",
"name",
"permissions",
"organization",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "The unique identifier of the role."
},
"name": {
"type": "string",
"description": "The name of the role."
},
"source": {
"enum": [
"Organization",
"Enterprise",
"Predefined"
],
"type": "string",
"nullable": true,
"description": "Source answers the question, \"where did this role come from?\""
},
"base_role": {
"enum": [
"read",
"triage",
"write",
"maintain",
"admin"
],
"type": "string",
"nullable": true,
"description": "The system role from which this role inherits permissions."
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "The date and time the role was created."
},
"updated_at": {
"type": "string",
"format": "date-time",
"description": "The date and time the role was last updated."
},
"description": {
"type": "string",
"nullable": true,
"description": "A short description about who this role is for or what permissions it grants."
},
"permissions": {
"type": "array",
"items": {
"type": "string"
},
"description": "A list of permissions included in this role."
},
"organization": {
"$ref": "#/components/schemas/nullable-simple-user"
}
},
"description": "Organization roles"
}
organization-secret-scanning-alert
{
"type": "object",
"properties": {
"url": {
"$ref": "#/components/schemas/alert-url"
},
"state": {
"$ref": "#/components/schemas/secret-scanning-alert-state"
},
"number": {
"$ref": "#/components/schemas/alert-number"
},
"secret": {
"type": "string",
"description": "The secret that was detected."
},
"html_url": {
"$ref": "#/components/schemas/alert-html-url"
},
"provider": {
"type": "string",
"nullable": true,
"description": "The provider of the secret that was detected."
},
"validity": {
"enum": [
"active",
"inactive",
"unknown"
],
"type": "string",
"description": "The token status as of the latest validity check."
},
"created_at": {
"$ref": "#/components/schemas/alert-created-at"
},
"multi_repo": {
"type": "boolean",
"nullable": true,
"description": "Whether the detected secret was found in multiple repositories in the same organization or enterprise."
},
"repository": {
"$ref": "#/components/schemas/simple-repository"
},
"resolution": {
"$ref": "#/components/schemas/secret-scanning-alert-resolution"
},
"updated_at": {
"$ref": "#/components/schemas/nullable-alert-updated-at"
},
"assigned_to": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"resolved_at": {
"type": "string",
"format": "date-time",
"nullable": true,
"description": "The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`."
},
"resolved_by": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"secret_type": {
"type": "string",
"description": "The type of secret that secret scanning detected."
},
"locations_url": {
"type": "string",
"format": "uri",
"description": "The REST API URL of the code locations for this alert."
},
"provider_slug": {
"type": "string",
"nullable": true,
"description": "The slug identifier for the provider of the secret that was detected. Use this value for filtering by provider with the `providers` or `exclude_providers` parameters."
},
"publicly_leaked": {
"type": "boolean",
"nullable": true,
"description": "Whether the secret was publicly leaked."
},
"is_base64_encoded": {
"type": "boolean",
"nullable": true,
"description": "A boolean value representing whether or not alert is base64 encoded"
},
"has_more_locations": {
"type": "boolean",
"description": "A boolean value representing whether or not the token in the alert was detected in more than one location."
},
"resolution_comment": {
"type": "string",
"nullable": true,
"description": "The comment that was optionally added when this alert was closed"
},
"closure_request_comment": {
"type": "string",
"nullable": true,
"description": "An optional comment from the closure request author."
},
"first_location_detected": {
"$ref": "#/components/schemas/nullable-secret-scanning-first-detected-location"
},
"closure_request_reviewer": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"push_protection_bypassed": {
"type": "boolean",
"nullable": true,
"description": "Whether push protection was bypassed for the detected secret."
},
"secret_type_display_name": {
"type": "string",
"description": "User-friendly name for the detected secret, matching the `secret_type`.\nFor a list of built-in patterns, see \"[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets).\""
},
"push_protection_bypassed_at": {
"type": "string",
"format": "date-time",
"nullable": true,
"description": "The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`."
},
"push_protection_bypassed_by": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"closure_request_reviewer_comment": {
"type": "string",
"nullable": true,
"description": "An optional comment from the closure request reviewer."
},
"push_protection_bypass_request_comment": {
"type": "string",
"nullable": true,
"description": "An optional comment when requesting a push protection bypass."
},
"push_protection_bypass_request_html_url": {
"type": "string",
"format": "uri",
"nullable": true,
"description": "The URL to a push protection bypass request."
},
"push_protection_bypass_request_reviewer": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"push_protection_bypass_request_reviewer_comment": {
"type": "string",
"nullable": true,
"description": "An optional comment when reviewing a push protection bypass."
}
}
}
organization-simple
{
"type": "object",
"title": "Organization Simple",
"required": [
"login",
"url",
"id",
"node_id",
"repos_url",
"events_url",
"hooks_url",
"issues_url",
"members_url",
"public_members_url",
"avatar_url",
"description"
],
"properties": {
"id": {
"type": "integer",
"example": 1
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/orgs/github"
},
"login": {
"type": "string",
"example": "github"
},
"node_id": {
"type": "string",
"example": "MDEyOk9yZ2FuaXphdGlvbjE="
},
"hooks_url": {
"type": "string",
"example": "https://api.github.com/orgs/github/hooks"
},
"repos_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/orgs/github/repos"
},
"avatar_url": {
"type": "string",
"example": "https://github.com/images/error/octocat_happy.gif"
},
"events_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/orgs/github/events"
},
"issues_url": {
"type": "string",
"example": "https://api.github.com/orgs/github/issues"
},
"description": {
"type": "string",
"example": "A great organization",
"nullable": true
},
"members_url": {
"type": "string",
"example": "https://api.github.com/orgs/github/members{/member}"
},
"public_members_url": {
"type": "string",
"example": "https://api.github.com/orgs/github/public_members{/member}"
}
},
"description": "A GitHub organization."
}
organization-simple-webhooks
{
"type": "object",
"title": "Organization Simple",
"required": [
"login",
"url",
"id",
"node_id",
"repos_url",
"events_url",
"hooks_url",
"issues_url",
"members_url",
"public_members_url",
"avatar_url",
"description"
],
"properties": {
"id": {
"type": "integer",
"example": 1
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/orgs/github"
},
"login": {
"type": "string",
"example": "github"
},
"node_id": {
"type": "string",
"example": "MDEyOk9yZ2FuaXphdGlvbjE="
},
"hooks_url": {
"type": "string",
"example": "https://api.github.com/orgs/github/hooks"
},
"repos_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/orgs/github/repos"
},
"avatar_url": {
"type": "string",
"example": "https://github.com/images/error/octocat_happy.gif"
},
"events_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/orgs/github/events"
},
"issues_url": {
"type": "string",
"example": "https://api.github.com/orgs/github/issues"
},
"description": {
"type": "string",
"example": "A great organization",
"nullable": true
},
"members_url": {
"type": "string",
"example": "https://api.github.com/orgs/github/members{/member}"
},
"public_members_url": {
"type": "string",
"example": "https://api.github.com/orgs/github/public_members{/member}"
}
},
"description": "A GitHub organization. Webhook payloads contain the `organization` property when the webhook is configured for an\norganization, or when the event occurs from activity in a repository owned by an organization."
}
organization-update-issue-field
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the issue field."
},
"options": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"color",
"priority"
],
"properties": {
"id": {
"type": "integer",
"description": "The id of an existing option to retain or update. Omit this when creating a new option."
},
"name": {
"type": "string",
"description": "Name of the option."
},
"color": {
"enum": [
"gray",
"blue",
"green",
"yellow",
"orange",
"red",
"pink",
"purple"
],
"type": "string",
"description": "Color for the option."
},
"priority": {
"type": "integer",
"description": "Priority of the option for ordering."
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the option."
}
}
},
"description": "Options for single select fields. Only applicable when updating single_select fields. When provided, this array **replaces** the entire existing set of options rather than adding to or updating individual options. To retain or update an existing option, include it in the array with its `id`. Options sent without an `id` are treated as new options and may cause existing options to be deleted and recreated."
},
"visibility": {
"enum": [
"organization_members_only",
"all"
],
"type": "string",
"description": "The visibility of the issue field. Can be `organization_members_only` (visible only within the organization) or `all` (visible to all users who can see issues). Only used when the visibility settings feature is enabled."
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the issue field."
}
}
}
organization-update-issue-type
{
"type": "object",
"required": [
"name",
"is_enabled"
],
"properties": {
"name": {
"type": "string",
"description": "Name of the issue type."
},
"color": {
"enum": [
"gray",
"blue",
"green",
"yellow",
"orange",
"red",
"pink",
"purple"
],
"type": "string",
"nullable": true,
"description": "Color for the issue type."
},
"is_enabled": {
"type": "boolean",
"description": "Whether or not the issue type is enabled at the organization level."
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the issue type."
}
}
}
package
{
"type": "object",
"title": "Package",
"required": [
"id",
"name",
"package_type",
"visibility",
"url",
"html_url",
"version_count",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"example": 1,
"description": "Unique identifier of the package."
},
"url": {
"type": "string",
"example": "https://api.github.com/orgs/github/packages/container/super-linter"
},
"name": {
"type": "string",
"example": "super-linter",
"description": "The name of the package."
},
"owner": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"html_url": {
"type": "string",
"example": "https://github.com/orgs/github/packages/container/package/super-linter"
},
"created_at": {
"type": "string",
"format": "date-time"
},
"repository": {
"$ref": "#/components/schemas/nullable-minimal-repository"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"private",
"public"
],
"type": "string",
"example": "private"
},
"package_type": {
"enum": [
"npm",
"maven",
"rubygems",
"docker",
"nuget",
"container"
],
"type": "string",
"example": "docker"
},
"version_count": {
"type": "integer",
"example": 1,
"description": "The number of versions of the package."
}
},
"description": "A software package"
}
package-version
{
"type": "object",
"title": "Package Version",
"required": [
"id",
"name",
"url",
"package_html_url",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"example": 1,
"description": "Unique identifier of the package version."
},
"url": {
"type": "string",
"example": "https://api.github.com/orgs/github/packages/container/super-linter/versions/786068"
},
"name": {
"type": "string",
"example": "latest",
"description": "The name of the package version."
},
"license": {
"type": "string",
"example": "MIT"
},
"html_url": {
"type": "string",
"example": "https://github.com/orgs/github/packages/container/super-linter/786068"
},
"metadata": {
"type": "object",
"title": "Package Version Metadata",
"required": [
"package_type"
],
"properties": {
"docker": {
"type": "object",
"title": "Docker Metadata",
"required": [
"tags"
],
"properties": {
"tag": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"container": {
"type": "object",
"title": "Container Metadata",
"required": [
"tags"
],
"properties": {
"tags": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"package_type": {
"enum": [
"npm",
"maven",
"rubygems",
"docker",
"nuget",
"container"
],
"type": "string",
"example": "docker"
}
}
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2011-04-10T20:09:31Z"
},
"deleted_at": {
"type": "string",
"format": "date-time",
"example": "2014-03-03T18:58:10Z"
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2014-03-03T18:58:10Z"
},
"description": {
"type": "string"
},
"package_html_url": {
"type": "string",
"example": "https://github.com/orgs/github/packages/container/package/super-linter"
}
},
"description": "A version of a software package"
}
page
{
"type": "object",
"title": "GitHub Pages",
"required": [
"url",
"status",
"cname",
"custom_404",
"public"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/github/hello-world/pages",
"description": "The API address for accessing this Page resource."
},
"cname": {
"type": "string",
"example": "example.com",
"nullable": true,
"description": "The Pages site's custom domain"
},
"public": {
"type": "boolean",
"example": true,
"description": "Whether the GitHub Pages site is publicly visible. If set to `true`, the site is accessible to anyone on the internet. If set to `false`, the site will only be accessible to users who have at least `read` access to the repository that published the site."
},
"source": {
"$ref": "#/components/schemas/pages-source-hash"
},
"status": {
"enum": [
"built",
"building",
"errored"
],
"type": "string",
"example": "built",
"nullable": true,
"description": "The status of the most recent build of the Page."
},
"html_url": {
"type": "string",
"format": "uri",
"example": "https://example.com",
"description": "The web address the Page can be accessed from."
},
"build_type": {
"enum": [
"legacy",
"workflow"
],
"type": "string",
"example": "legacy",
"nullable": true,
"description": "The process in which the Page will be built."
},
"custom_404": {
"type": "boolean",
"default": false,
"example": false,
"description": "Whether the Page has a custom 404 page."
},
"https_enforced": {
"type": "boolean",
"example": true,
"description": "Whether https is enabled on the domain"
},
"https_certificate": {
"$ref": "#/components/schemas/pages-https-certificate"
},
"protected_domain_state": {
"enum": [
"pending",
"verified",
"unverified"
],
"type": "string",
"example": "pending",
"nullable": true,
"description": "The state if the domain is verified"
},
"pending_domain_unverified_at": {
"type": "string",
"format": "date-time",
"nullable": true,
"description": "The timestamp when a pending domain becomes unverified."
}
},
"description": "The configuration for GitHub Pages for a repository."
}
page-build
{
"type": "object",
"title": "Page Build",
"required": [
"url",
"status",
"error",
"pusher",
"commit",
"duration",
"created_at",
"updated_at"
],
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"error": {
"type": "object",
"required": [
"message"
],
"properties": {
"message": {
"type": "string",
"nullable": true
}
}
},
"commit": {
"type": "string"
},
"pusher": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"status": {
"type": "string"
},
"duration": {
"type": "integer"
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
}
},
"description": "Page Build"
}
page-build-status
{
"type": "object",
"title": "Page Build Status",
"required": [
"url",
"status"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/github/hello-world/pages/builds/latest"
},
"status": {
"type": "string",
"example": "queued"
}
},
"description": "Page Build Status"
}
page-deployment
{
"type": "object",
"title": "GitHub Pages",
"required": [
"id",
"status_url",
"page_url"
],
"properties": {
"id": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"description": "The ID of the GitHub Pages deployment. This is the Git SHA of the deployed commit."
},
"page_url": {
"type": "string",
"format": "uri",
"example": "hello-world.github.io",
"description": "The URI to the deployed GitHub Pages."
},
"status_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/github/hello-world/pages/deployments/4fd754f7e594640989b406850d0bc8f06a121251",
"description": "The URI to monitor GitHub Pages deployment status."
},
"preview_url": {
"type": "string",
"format": "uri",
"example": "monalisa-1231a2312sa32-23sda74.drafts.github.io",
"description": "The URI to the deployed GitHub Pages preview."
}
},
"description": "The GitHub Pages deployment status."
}
pages-deployment-status
{
"type": "object",
"title": "GitHub Pages deployment status",
"properties": {
"status": {
"enum": [
"deployment_in_progress",
"syncing_files",
"finished_file_sync",
"updating_pages",
"purging_cdn",
"deployment_cancelled",
"deployment_failed",
"deployment_content_failed",
"deployment_attempt_error",
"deployment_lost",
"succeed"
],
"type": "string",
"description": "The current status of the deployment."
}
}
}
pages-health-check
{
"type": "object",
"title": "Pages Health Check Status",
"properties": {
"domain": {
"type": "object",
"properties": {
"uri": {
"type": "string"
},
"host": {
"type": "string"
},
"reason": {
"type": "string",
"nullable": true
},
"is_valid": {
"type": "boolean"
},
"caa_error": {
"type": "string",
"nullable": true
},
"is_proxied": {
"type": "boolean",
"nullable": true
},
"https_error": {
"type": "string",
"nullable": true
},
"is_a_record": {
"type": "boolean",
"nullable": true
},
"nameservers": {
"type": "string"
},
"dns_resolves": {
"type": "boolean"
},
"is_fastly_ip": {
"type": "boolean",
"nullable": true
},
"enforces_https": {
"type": "boolean"
},
"is_apex_domain": {
"type": "boolean"
},
"is_pages_domain": {
"type": "boolean"
},
"is_valid_domain": {
"type": "boolean"
},
"has_cname_record": {
"type": "boolean",
"nullable": true
},
"is_cloudflare_ip": {
"type": "boolean",
"nullable": true
},
"is_https_eligible": {
"type": "boolean",
"nullable": true
},
"is_old_ip_address": {
"type": "boolean",
"nullable": true
},
"responds_to_https": {
"type": "boolean"
},
"is_cname_to_fastly": {
"type": "boolean",
"nullable": true
},
"is_served_by_pages": {
"type": "boolean",
"nullable": true
},
"should_be_a_record": {
"type": "boolean",
"nullable": true
},
"has_mx_records_present": {
"type": "boolean",
"nullable": true
},
"is_pointed_to_github_pages_ip": {
"type": "boolean",
"nullable": true
},
"is_cname_to_github_user_domain": {
"type": "boolean",
"nullable": true
},
"is_non_github_pages_ip_present": {
"type": "boolean",
"nullable": true
},
"is_cname_to_pages_dot_github_dot_com": {
"type": "boolean",
"nullable": true
}
}
},
"alt_domain": {
"type": "object",
"nullable": true,
"properties": {
"uri": {
"type": "string"
},
"host": {
"type": "string"
},
"reason": {
"type": "string",
"nullable": true
},
"is_valid": {
"type": "boolean"
},
"caa_error": {
"type": "string",
"nullable": true
},
"is_proxied": {
"type": "boolean",
"nullable": true
},
"https_error": {
"type": "string",
"nullable": true
},
"is_a_record": {
"type": "boolean",
"nullable": true
},
"nameservers": {
"type": "string"
},
"dns_resolves": {
"type": "boolean"
},
"is_fastly_ip": {
"type": "boolean",
"nullable": true
},
"enforces_https": {
"type": "boolean"
},
"is_apex_domain": {
"type": "boolean"
},
"is_pages_domain": {
"type": "boolean"
},
"is_valid_domain": {
"type": "boolean"
},
"has_cname_record": {
"type": "boolean",
"nullable": true
},
"is_cloudflare_ip": {
"type": "boolean",
"nullable": true
},
"is_https_eligible": {
"type": "boolean",
"nullable": true
},
"is_old_ip_address": {
"type": "boolean",
"nullable": true
},
"responds_to_https": {
"type": "boolean"
},
"is_cname_to_fastly": {
"type": "boolean",
"nullable": true
},
"is_served_by_pages": {
"type": "boolean",
"nullable": true
},
"should_be_a_record": {
"type": "boolean",
"nullable": true
},
"has_mx_records_present": {
"type": "boolean",
"nullable": true
},
"is_pointed_to_github_pages_ip": {
"type": "boolean",
"nullable": true
},
"is_cname_to_github_user_domain": {
"type": "boolean",
"nullable": true
},
"is_non_github_pages_ip_present": {
"type": "boolean",
"nullable": true
},
"is_cname_to_pages_dot_github_dot_com": {
"type": "boolean",
"nullable": true
}
}
}
},
"description": "Pages Health Check Status"
}
pages-https-certificate
{
"type": "object",
"title": "Pages Https Certificate",
"required": [
"state",
"description",
"domains"
],
"properties": {
"state": {
"enum": [
"new",
"authorization_created",
"authorization_pending",
"authorized",
"authorization_revoked",
"issued",
"uploaded",
"approved",
"errored",
"bad_authz",
"destroy_pending",
"dns_changed"
],
"type": "string",
"example": "approved"
},
"domains": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"example.com",
"www.example.com"
],
"description": "Array of the domain set and its alternate name (if it is configured)"
},
"expires_at": {
"type": "string",
"format": "date"
},
"description": {
"type": "string",
"example": "Certificate is approved"
}
}
}
pages-source-hash
{
"type": "object",
"title": "Pages Source Hash",
"required": [
"branch",
"path"
],
"properties": {
"path": {
"type": "string"
},
"branch": {
"type": "string"
}
}
}
participation-stats
{
"type": "object",
"title": "Participation Stats",
"required": [
"all",
"owner"
],
"properties": {
"all": {
"type": "array",
"items": {
"type": "integer"
}
},
"owner": {
"type": "array",
"items": {
"type": "integer"
}
}
}
}
pending-deployment
{
"type": "object",
"title": "Pending Deployment",
"required": [
"environment",
"wait_timer",
"wait_timer_started_at",
"current_user_can_approve",
"reviewers"
],
"properties": {
"reviewers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"$ref": "#/components/schemas/deployment-reviewer-type"
},
"reviewer": {
"anyOf": [
{
"$ref": "#/components/schemas/simple-user"
},
{
"$ref": "#/components/schemas/team"
}
]
}
}
},
"description": "The people or teams that may approve jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed."
},
"wait_timer": {
"type": "integer",
"example": 30,
"description": "The set duration of the wait timer"
},
"environment": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 56780428,
"description": "The id of the environment."
},
"url": {
"type": "string",
"example": "https://api.github.com/repos/github/hello-world/environments/staging"
},
"name": {
"type": "string",
"example": "staging",
"description": "The name of the environment."
},
"node_id": {
"type": "string",
"example": "MDExOkVudmlyb25tZW50NTY3ODA0Mjg="
},
"html_url": {
"type": "string",
"example": "https://github.com/github/hello-world/deployments/activity_log?environments_filter=staging"
}
}
},
"wait_timer_started_at": {
"type": "string",
"format": "date-time",
"example": "2020-11-23T22:00:40Z",
"nullable": true,
"description": "The time that the wait timer began."
},
"current_user_can_approve": {
"type": "boolean",
"example": true,
"description": "Whether the currently authenticated user can approve the deployment"
}
},
"description": "Details of a deployment that is waiting for protection rules to pass"
}
personal-access-token-request
{
"type": "object",
"title": "Personal Access Token Request",
"required": [
"id",
"owner",
"permissions_added",
"permissions_upgraded",
"permissions_result",
"repository_selection",
"repository_count",
"repositories",
"created_at",
"token_id",
"token_name",
"token_expired",
"token_expires_at",
"token_last_used_at"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the request for access via fine-grained personal access token. Used as the `pat_request_id` parameter in the list and review API calls."
},
"owner": {
"$ref": "#/components/schemas/simple-user"
},
"token_id": {
"type": "integer",
"description": "Unique identifier of the user's token. This field can also be found in audit log events and the organization's settings for their PAT grants."
},
"created_at": {
"type": "string",
"description": "Date and time when the request for access was created."
},
"token_name": {
"type": "string",
"description": "The name given to the user's token. This field can also be found in an organization's settings page for Active Tokens."
},
"repositories": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"node_id",
"name",
"full_name",
"private"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the repository"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"full_name": {
"type": "string"
}
}
},
"nullable": true,
"description": "An array of repository objects the token is requesting access to. This field is only populated when `repository_selection` is `subset`."
},
"token_expired": {
"type": "boolean",
"description": "Whether the associated fine-grained personal access token has expired."
},
"repository_count": {
"type": "integer",
"nullable": true,
"description": "The number of repositories the token is requesting access to. This field is only populated when `repository_selection` is `subset`."
},
"token_expires_at": {
"type": "string",
"nullable": true,
"description": "Date and time when the associated fine-grained personal access token expires."
},
"permissions_added": {
"type": "object",
"properties": {
"other": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"repository": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"organization": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
},
"description": "New requested permissions, categorized by type of permission."
},
"permissions_result": {
"type": "object",
"properties": {
"other": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"repository": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"organization": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
},
"description": "Permissions requested, categorized by type of permission. This field incorporates `permissions_added` and `permissions_upgraded`."
},
"token_last_used_at": {
"type": "string",
"nullable": true,
"description": "Date and time when the associated fine-grained personal access token was last used for authentication."
},
"permissions_upgraded": {
"type": "object",
"properties": {
"other": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"repository": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"organization": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
},
"description": "Requested permissions that elevate access for a previously approved request for access, categorized by type of permission."
},
"repository_selection": {
"enum": [
"none",
"all",
"subset"
],
"type": "string",
"description": "Type of repository selection requested."
}
},
"description": "Details of a Personal Access Token Request."
}
porter-author
{
"type": "object",
"title": "Porter Author",
"required": [
"id",
"remote_id",
"remote_name",
"email",
"name",
"url",
"import_url"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"remote_id": {
"type": "string"
},
"import_url": {
"type": "string",
"format": "uri"
},
"remote_name": {
"type": "string"
}
},
"description": "Porter Author"
}
porter-large-file
{
"type": "object",
"title": "Porter Large File",
"required": [
"oid",
"path",
"ref_name",
"size"
],
"properties": {
"oid": {
"type": "string"
},
"path": {
"type": "string"
},
"size": {
"type": "integer"
},
"ref_name": {
"type": "string"
}
},
"description": "Porter Large File"
}
prevent-self-review
{
"type": "boolean",
"example": false,
"description": "Whether or not a user who created the job is prevented from approving their own job."
}
private-user
{
"type": "object",
"title": "Private User",
"required": [
"avatar_url",
"events_url",
"followers_url",
"following_url",
"gists_url",
"gravatar_id",
"html_url",
"id",
"node_id",
"login",
"organizations_url",
"received_events_url",
"repos_url",
"site_admin",
"starred_url",
"subscriptions_url",
"type",
"url",
"bio",
"blog",
"company",
"email",
"followers",
"following",
"hireable",
"location",
"name",
"public_gists",
"public_repos",
"created_at",
"updated_at",
"collaborators",
"disk_usage",
"owned_private_repos",
"private_gists",
"total_private_repos",
"two_factor_authentication"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 1
},
"bio": {
"type": "string",
"example": "There once was...",
"nullable": true
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/users/octocat"
},
"blog": {
"type": "string",
"example": "https://github.com/blog",
"nullable": true
},
"name": {
"type": "string",
"example": "monalisa octocat",
"nullable": true
},
"plan": {
"type": "object",
"required": [
"collaborators",
"name",
"space",
"private_repos"
],
"properties": {
"name": {
"type": "string"
},
"space": {
"type": "integer"
},
"collaborators": {
"type": "integer"
},
"private_repos": {
"type": "integer"
}
}
},
"type": {
"type": "string",
"example": "User"
},
"email": {
"type": "string",
"format": "email",
"example": "octocat@github.com",
"nullable": true
},
"login": {
"type": "string",
"example": "octocat"
},
"company": {
"type": "string",
"example": "GitHub",
"nullable": true
},
"ldap_dn": {
"type": "string"
},
"node_id": {
"type": "string",
"example": "MDQ6VXNlcjE="
},
"hireable": {
"type": "boolean",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/octocat"
},
"location": {
"type": "string",
"example": "San Francisco",
"nullable": true
},
"followers": {
"type": "integer",
"example": 20
},
"following": {
"type": "integer",
"example": 0
},
"gists_url": {
"type": "string",
"example": "https://api.github.com/users/octocat/gists{/gist_id}"
},
"repos_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/users/octocat/repos"
},
"avatar_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/images/error/octocat_happy.gif"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2008-01-14T04:33:35Z"
},
"disk_usage": {
"type": "integer",
"example": 10000
},
"events_url": {
"type": "string",
"example": "https://api.github.com/users/octocat/events{/privacy}"
},
"site_admin": {
"type": "boolean"
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2008-01-14T04:33:35Z"
},
"gravatar_id": {
"type": "string",
"example": "41d064eb2195891e12d0413f63227ea7",
"nullable": true
},
"starred_url": {
"type": "string",
"example": "https://api.github.com/users/octocat/starred{/owner}{/repo}"
},
"public_gists": {
"type": "integer",
"example": 1
},
"public_repos": {
"type": "integer",
"example": 2
},
"business_plus": {
"type": "boolean"
},
"collaborators": {
"type": "integer",
"example": 8
},
"followers_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/users/octocat/followers"
},
"following_url": {
"type": "string",
"example": "https://api.github.com/users/octocat/following{/other_user}"
},
"private_gists": {
"type": "integer",
"example": 81
},
"user_view_type": {
"type": "string"
},
"twitter_username": {
"type": "string",
"example": "monalisa",
"nullable": true
},
"organizations_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/users/octocat/orgs"
},
"subscriptions_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/users/octocat/subscriptions"
},
"notification_email": {
"type": "string",
"format": "email",
"example": "octocat@github.com",
"nullable": true
},
"owned_private_repos": {
"type": "integer",
"example": 100
},
"received_events_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/users/octocat/received_events"
},
"total_private_repos": {
"type": "integer",
"example": 100
},
"two_factor_authentication": {
"type": "boolean",
"example": true
}
},
"description": "Private User"
}
private-vulnerability-report-create
{
"type": "object",
"required": [
"summary",
"description"
],
"properties": {
"cwe_ids": {
"type": "array",
"items": {
"type": "string"
},
"nullable": true,
"description": "A list of Common Weakness Enumeration (CWE) IDs."
},
"summary": {
"type": "string",
"maxLength": 1024,
"description": "A short summary of the advisory."
},
"severity": {
"enum": [
"critical",
"high",
"medium",
"low"
],
"type": "string",
"nullable": true,
"description": "The severity of the advisory. You must choose between setting this field or `cvss_vector_string`."
},
"description": {
"type": "string",
"maxLength": 65535,
"description": "A detailed description of what the advisory impacts."
},
"vulnerabilities": {
"type": "array",
"items": {
"type": "object",
"required": [
"package"
],
"properties": {
"package": {
"type": "object",
"required": [
"ecosystem"
],
"properties": {
"name": {
"type": "string",
"nullable": true,
"description": "The unique package name within its ecosystem."
},
"ecosystem": {
"$ref": "#/components/schemas/security-advisory-ecosystems"
}
},
"description": "The name of the package affected by the vulnerability."
},
"patched_versions": {
"type": "string",
"nullable": true,
"description": "The package version(s) that resolve the vulnerability."
},
"vulnerable_functions": {
"type": "array",
"items": {
"type": "string"
},
"nullable": true,
"description": "The functions in the package that are affected."
},
"vulnerable_version_range": {
"type": "string",
"nullable": true,
"description": "The range of the package versions affected by the vulnerability."
}
},
"additionalProperties": false
},
"nullable": true,
"description": "An array of products affected by the vulnerability detailed in a repository security advisory."
},
"cvss_vector_string": {
"type": "string",
"nullable": true,
"description": "The CVSS vector that calculates the severity of the advisory. You must choose between setting this field or `severity`."
},
"start_private_fork": {
"type": "boolean",
"default": false,
"description": "Whether to create a temporary private fork of the repository to collaborate on a fix."
}
},
"additionalProperties": false
}
projects-v2
{
"type": "object",
"title": "Projects v2 Project",
"required": [
"id",
"node_id",
"owner",
"creator",
"title",
"description",
"public",
"closed_at",
"created_at",
"updated_at",
"number",
"short_description",
"deleted_at",
"deleted_by"
],
"properties": {
"id": {
"type": "number",
"description": "The unique identifier of the project."
},
"owner": {
"$ref": "#/components/schemas/simple-user"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "The current state of the project."
},
"title": {
"type": "string",
"description": "The project title."
},
"number": {
"type": "integer",
"description": "The project number."
},
"public": {
"type": "boolean",
"description": "Whether the project is visible to anyone with access to the owner."
},
"creator": {
"$ref": "#/components/schemas/simple-user"
},
"node_id": {
"type": "string",
"description": "The node ID of the project."
},
"closed_at": {
"type": "string",
"format": "date-time",
"example": "2022-04-28T12:00:00Z",
"nullable": true,
"description": "The time when the project was closed."
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2022-04-28T12:00:00Z",
"description": "The time when the project was created."
},
"deleted_at": {
"type": "string",
"format": "date-time",
"example": "2022-04-28T12:00:00Z",
"nullable": true,
"description": "The time when the project was deleted."
},
"deleted_by": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2022-04-28T12:00:00Z",
"description": "The time when the project was last updated."
},
"description": {
"type": "string",
"nullable": true,
"description": "A short description of the project."
},
"is_template": {
"type": "boolean",
"description": "Whether this project is a template"
},
"short_description": {
"type": "string",
"nullable": true,
"description": "A concise summary of the project."
},
"latest_status_update": {
"$ref": "#/components/schemas/nullable-projects-v2-status-update"
}
},
"description": "A projects v2 project"
}
projects-v2-draft-issue
{
"type": "object",
"title": "Draft Issue",
"required": [
"id",
"node_id",
"title",
"user",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "number",
"description": "The ID of the draft issue"
},
"body": {
"type": "string",
"nullable": true,
"description": "The body content of the draft issue"
},
"user": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"title": {
"type": "string",
"description": "The title of the draft issue"
},
"node_id": {
"type": "string",
"description": "The node ID of the draft issue"
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "The time the draft issue was created"
},
"updated_at": {
"type": "string",
"format": "date-time",
"description": "The time the draft issue was last updated"
}
},
"description": "A draft issue in a project"
}
projects-v2-field
{
"type": "object",
"title": "Projects v2 Field",
"required": [
"id",
"name",
"data_type",
"created_at",
"updated_at",
"project_url"
],
"properties": {
"id": {
"type": "integer",
"description": "The unique identifier of the field."
},
"name": {
"type": "string",
"description": "The name of the field."
},
"node_id": {
"type": "string",
"description": "The node ID of the field."
},
"options": {
"type": "array",
"items": {
"$ref": "#/components/schemas/projects-v2-single-select-options"
},
"description": "The options available for single select fields."
},
"data_type": {
"enum": [
"assignees",
"linked_pull_requests",
"reviewers",
"labels",
"milestone",
"repository",
"title",
"text",
"single_select",
"number",
"date",
"iteration",
"issue_type",
"parent_issue",
"sub_issues_progress"
],
"type": "string",
"description": "The field's data type."
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2022-04-28T12:00:00Z",
"description": "The time when the field was created."
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2022-04-28T12:00:00Z",
"description": "The time when the field was last updated."
},
"project_url": {
"type": "string",
"example": "https://api.github.com/projects/1",
"description": "The API URL of the project that contains the field."
},
"configuration": {
"type": "object",
"properties": {
"duration": {
"type": "integer",
"description": "The duration of the iteration in days."
},
"start_day": {
"type": "integer",
"description": "The day of the week when the iteration starts."
},
"iterations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/projects-v2-iteration-settings"
}
}
},
"description": "Configuration for iteration fields."
},
"issue_field_id": {
"type": "integer",
"description": "The ID of the issue field."
}
},
"description": "A field inside a projects v2 project"
}
projects-v2-field-iteration-configuration
{
"type": "object",
"properties": {
"duration": {
"type": "integer",
"description": "The default duration for iterations in days. Individual iterations can override this value."
},
"iterations": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "The title of the iteration."
},
"duration": {
"type": "integer",
"description": "The duration of the iteration in days."
},
"start_date": {
"type": "string",
"format": "date",
"description": "The start date of the iteration."
}
},
"additionalProperties": false
},
"description": "Zero or more iterations for the field."
},
"start_date": {
"type": "string",
"format": "date",
"description": "The start date of the first iteration."
}
},
"description": "The configuration for iteration fields."
}
projects-v2-field-single-select-option
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The display name of the option."
},
"color": {
"enum": [
"BLUE",
"GRAY",
"GREEN",
"ORANGE",
"PINK",
"PURPLE",
"RED",
"YELLOW"
],
"type": "string",
"description": "The color associated with the option."
},
"description": {
"type": "string",
"description": "The description of the option."
}
},
"additionalProperties": false
}
projects-v2-item
{
"type": "object",
"title": "Projects v2 Item",
"required": [
"id",
"content_node_id",
"content_type",
"created_at",
"updated_at",
"archived_at"
],
"properties": {
"id": {
"type": "number",
"description": "The unique identifier of the project item."
},
"creator": {
"$ref": "#/components/schemas/simple-user"
},
"node_id": {
"type": "string",
"description": "The node ID of the project item."
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2022-04-28T12:00:00Z",
"description": "The time when the item was created."
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2022-04-28T12:00:00Z",
"description": "The time when the item was last updated."
},
"archived_at": {
"type": "string",
"format": "date-time",
"example": "2022-04-28T12:00:00Z",
"nullable": true,
"description": "The time when the item was archived."
},
"content_type": {
"$ref": "#/components/schemas/projects-v2-item-content-type"
},
"content_node_id": {
"type": "string",
"description": "The node ID of the content represented by this item."
},
"project_node_id": {
"type": "string",
"description": "The node ID of the project that contains this item."
}
},
"description": "An item belonging to a project"
}
projects-v2-item-content-type
{
"enum": [
"Issue",
"PullRequest",
"DraftIssue"
],
"type": "string",
"title": "Projects v2 Item Content Type",
"description": "The type of content tracked in a project item"
}
projects-v2-item-simple
{
"type": "object",
"title": "Projects v2 Item",
"required": [
"id",
"content_type",
"created_at",
"updated_at",
"archived_at"
],
"properties": {
"id": {
"type": "number",
"description": "The unique identifier of the project item."
},
"content": {
"oneOf": [
{
"$ref": "#/components/schemas/issue"
},
{
"$ref": "#/components/schemas/pull-request-simple"
},
{
"$ref": "#/components/schemas/projects-v2-draft-issue"
}
],
"description": "The content represented by the item."
},
"creator": {
"$ref": "#/components/schemas/simple-user"
},
"node_id": {
"type": "string",
"description": "The node ID of the project item."
},
"item_url": {
"type": "string",
"format": "uri",
"description": "The URL of the item in the project."
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2022-04-28T12:00:00Z",
"description": "The time when the item was created."
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2022-04-28T12:00:00Z",
"description": "The time when the item was last updated."
},
"archived_at": {
"type": "string",
"format": "date-time",
"example": "2022-04-28T12:00:00Z",
"nullable": true,
"description": "The time when the item was archived."
},
"project_url": {
"type": "string",
"format": "uri",
"description": "The URL of the project this item belongs to."
},
"content_type": {
"$ref": "#/components/schemas/projects-v2-item-content-type"
}
},
"description": "An item belonging to a project"
}
projects-v2-item-with-content
{
"type": "object",
"title": "Projects v2 Item",
"required": [
"id",
"content_type",
"created_at",
"updated_at",
"archived_at"
],
"properties": {
"id": {
"type": "number",
"description": "The unique identifier of the project item."
},
"fields": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"description": "The fields and values associated with this item."
},
"content": {
"type": "object",
"nullable": true,
"description": "The content of the item, which varies by content type.",
"additionalProperties": true
},
"creator": {
"$ref": "#/components/schemas/simple-user"
},
"node_id": {
"type": "string",
"description": "The node ID of the project item."
},
"item_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/users/monalisa/2/projectsV2/items/3",
"nullable": true,
"description": "The API URL of this item."
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2022-04-28T12:00:00Z",
"description": "The time when the item was created."
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2022-04-28T12:00:00Z",
"description": "The time when the item was last updated."
},
"archived_at": {
"type": "string",
"format": "date-time",
"example": "2022-04-28T12:00:00Z",
"nullable": true,
"description": "The time when the item was archived."
},
"project_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/users/monalisa/2/projectsV2/3",
"description": "The API URL of the project that contains this item."
},
"content_type": {
"$ref": "#/components/schemas/projects-v2-item-content-type"
}
},
"description": "An item belonging to a project"
}
projects-v2-iteration-setting
{
"type": "object",
"title": "Projects v2 Iteration Setting",
"required": [
"id",
"title"
],
"properties": {
"id": {
"type": "string",
"description": "The unique identifier of the iteration setting."
},
"title": {
"type": "string",
"description": "The iteration title."
},
"duration": {
"type": "number",
"nullable": true,
"description": "The duration of the iteration in days."
},
"completed": {
"type": "boolean",
"description": "Whether the iteration has been completed."
},
"start_date": {
"type": "string",
"nullable": true,
"description": "The start date of the iteration."
},
"title_html": {
"type": "string",
"description": "The iteration title, rendered as HTML."
}
},
"description": "An iteration setting for an iteration field"
}
projects-v2-iteration-settings
{
"type": "object",
"title": "Projects v2 Iteration Setting",
"required": [
"id",
"start_date",
"duration",
"title",
"completed"
],
"properties": {
"id": {
"type": "string",
"description": "The unique identifier of the iteration setting."
},
"title": {
"type": "object",
"required": [
"raw",
"html"
],
"properties": {
"raw": {
"type": "string"
},
"html": {
"type": "string"
}
},
"description": "The iteration title, in raw text and HTML formats."
},
"duration": {
"type": "integer",
"description": "The duration of the iteration in days."
},
"completed": {
"type": "boolean",
"description": "Whether the iteration has been completed."
},
"start_date": {
"type": "string",
"format": "date",
"description": "The start date of the iteration."
}
},
"description": "An iteration setting for an iteration field"
}
projects-v2-single-select-option
{
"type": "object",
"title": "Projects v2 Single Select Option",
"required": [
"id",
"name"
],
"properties": {
"id": {
"type": "string",
"description": "The unique identifier of the option."
},
"name": {
"type": "string",
"description": "The display name of the option."
},
"color": {
"type": "string",
"nullable": true,
"description": "The color associated with the option."
},
"description": {
"type": "string",
"nullable": true,
"description": "A short description of the option."
}
},
"description": "An option for a single select field"
}
projects-v2-single-select-options
{
"type": "object",
"title": "Projects v2 Single Select Option",
"required": [
"id",
"name",
"description",
"color"
],
"properties": {
"id": {
"type": "string",
"description": "The unique identifier of the option."
},
"name": {
"type": "object",
"required": [
"raw",
"html"
],
"properties": {
"raw": {
"type": "string"
},
"html": {
"type": "string"
}
},
"description": "The display name of the option, in raw text and HTML formats."
},
"color": {
"type": "string",
"description": "The color associated with the option."
},
"description": {
"type": "object",
"required": [
"raw",
"html"
],
"properties": {
"raw": {
"type": "string"
},
"html": {
"type": "string"
}
},
"description": "The description of the option, in raw text and HTML formats."
}
},
"description": "An option for a single select field"
}
projects-v2-status-update
{
"type": "object",
"title": "Projects v2 Status Update",
"required": [
"id",
"node_id",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "number",
"description": "The unique identifier of the status update."
},
"body": {
"type": "string",
"example": "The project is off to a great start!",
"nullable": true,
"description": "Body of the status update"
},
"status": {
"enum": [
"INACTIVE",
"ON_TRACK",
"AT_RISK",
"OFF_TRACK",
"COMPLETE"
],
"type": "string",
"nullable": true,
"description": "The current status."
},
"creator": {
"$ref": "#/components/schemas/simple-user"
},
"node_id": {
"type": "string",
"description": "The node ID of the status update."
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2022-04-28T12:00:00Z",
"description": "The time when the status update was created."
},
"start_date": {
"type": "string",
"format": "date",
"example": "2022-04-28",
"description": "The start date of the period covered by the update."
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2022-04-28T12:00:00Z",
"description": "The time when the status update was last updated."
},
"target_date": {
"type": "string",
"format": "date",
"example": "2022-04-28",
"description": "The target date associated with the update."
},
"project_node_id": {
"type": "string",
"description": "The node ID of the project that this status update belongs to."
}
},
"description": "An status update belonging to a project"
}
projects-v2-view
{
"type": "object",
"title": "Projects v2 View",
"required": [
"id",
"number",
"name",
"layout",
"node_id",
"project_url",
"html_url",
"creator",
"created_at",
"updated_at",
"visible_fields",
"sort_by",
"group_by",
"vertical_group_by"
],
"properties": {
"id": {
"type": "integer",
"description": "The unique identifier of the view."
},
"name": {
"type": "string",
"description": "The name of the view."
},
"filter": {
"type": "string",
"example": "is:issue is:open",
"nullable": true,
"description": "The filter query for the view."
},
"layout": {
"enum": [
"table",
"board",
"roadmap"
],
"type": "string",
"description": "The layout of the view."
},
"number": {
"type": "integer",
"description": "The number of the view within the project."
},
"creator": {
"allOf": [
{
"$ref": "#/components/schemas/simple-user"
}
]
},
"node_id": {
"type": "string",
"description": "The node ID of the view."
},
"sort_by": {
"type": "array",
"items": {
"type": "array",
"items": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string"
}
]
},
"maxItems": 2,
"minItems": 2
},
"description": "The sorting configuration for the view. Each element is a tuple of [field_id, direction] where direction is \"asc\" or \"desc\"."
},
"group_by": {
"type": "array",
"items": {
"type": "integer"
},
"description": "The list of field IDs used for horizontal grouping."
},
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/orgs/octocat/projects/1/views/1",
"description": "The web URL of the view."
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2022-04-28T12:00:00Z",
"description": "The time when the view was created."
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2022-04-28T12:00:00Z",
"description": "The time when the view was last updated."
},
"project_url": {
"type": "string",
"example": "https://api.github.com/orgs/octocat/projectsV2/1",
"description": "The API URL of the project that contains the view."
},
"visible_fields": {
"type": "array",
"items": {
"type": "integer"
},
"description": "The list of field IDs that are visible in the view."
},
"vertical_group_by": {
"type": "array",
"items": {
"type": "integer"
},
"description": "The list of field IDs used for vertical grouping (board layout)."
}
},
"description": "A view inside a projects v2 project"
}
protected-branch
{
"type": "object",
"title": "Protected Branch",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"lock_branch": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"default": false
}
},
"description": "Whether to set the branch as read-only. If this is true, users will not be able to push to the branch.",
"additionalProperties": false
},
"restrictions": {
"$ref": "#/components/schemas/branch-restriction-policy"
},
"enforce_admins": {
"type": "object",
"required": [
"url",
"enabled"
],
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"enabled": {
"type": "boolean"
}
},
"additionalProperties": false
},
"allow_deletions": {
"type": "object",
"required": [
"enabled"
],
"properties": {
"enabled": {
"type": "boolean"
}
},
"additionalProperties": false
},
"block_creations": {
"type": "object",
"required": [
"enabled"
],
"properties": {
"enabled": {
"type": "boolean"
}
},
"additionalProperties": false
},
"allow_force_pushes": {
"type": "object",
"required": [
"enabled"
],
"properties": {
"enabled": {
"type": "boolean"
}
},
"additionalProperties": false
},
"allow_fork_syncing": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"default": false
}
},
"description": "Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing.",
"additionalProperties": false
},
"required_signatures": {
"type": "object",
"required": [
"url",
"enabled"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_signatures"
},
"enabled": {
"type": "boolean",
"example": true
}
}
},
"required_status_checks": {
"$ref": "#/components/schemas/status-check-policy"
},
"required_linear_history": {
"type": "object",
"required": [
"enabled"
],
"properties": {
"enabled": {
"type": "boolean"
}
},
"additionalProperties": false
},
"required_pull_request_reviews": {
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"dismiss_stale_reviews": {
"type": "boolean"
},
"dismissal_restrictions": {
"type": "object",
"required": [
"url",
"users_url",
"teams_url",
"users",
"teams"
],
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"apps": {
"type": "array",
"items": {
"$ref": "#/components/schemas/integration"
}
},
"teams": {
"type": "array",
"items": {
"$ref": "#/components/schemas/team"
}
},
"users": {
"type": "array",
"items": {
"$ref": "#/components/schemas/simple-user"
}
},
"teams_url": {
"type": "string",
"format": "uri"
},
"users_url": {
"type": "string",
"format": "uri"
}
}
},
"require_code_owner_reviews": {
"type": "boolean"
},
"require_last_push_approval": {
"type": "boolean",
"default": false,
"description": "Whether the most recent push must be approved by someone other than the person who pushed it."
},
"bypass_pull_request_allowances": {
"type": "object",
"required": [
"users",
"teams"
],
"properties": {
"apps": {
"type": "array",
"items": {
"$ref": "#/components/schemas/integration"
}
},
"teams": {
"type": "array",
"items": {
"$ref": "#/components/schemas/team"
}
},
"users": {
"type": "array",
"items": {
"$ref": "#/components/schemas/simple-user"
}
}
}
},
"required_approving_review_count": {
"type": "integer"
}
}
},
"required_conversation_resolution": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
},
"additionalProperties": false
}
},
"description": "Branch protections protect branches"
}
protected-branch-admin-enforced
{
"type": "object",
"title": "Protected Branch Admin Enforced",
"required": [
"url",
"enabled"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/enforce_admins"
},
"enabled": {
"type": "boolean",
"example": true
}
},
"description": "Protected Branch Admin Enforced"
}
protected-branch-pull-request-review
{
"type": "object",
"title": "Protected Branch Pull Request Review",
"required": [
"dismiss_stale_reviews",
"require_code_owner_reviews"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/dismissal_restrictions"
},
"dismiss_stale_reviews": {
"type": "boolean",
"example": true
},
"dismissal_restrictions": {
"type": "object",
"properties": {
"url": {
"type": "string",
"example": "\"https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions\""
},
"apps": {
"type": "array",
"items": {
"$ref": "#/components/schemas/integration"
},
"description": "The list of apps with review dismissal access."
},
"teams": {
"type": "array",
"items": {
"$ref": "#/components/schemas/team"
},
"description": "The list of teams with review dismissal access."
},
"users": {
"type": "array",
"items": {
"$ref": "#/components/schemas/simple-user"
},
"description": "The list of users with review dismissal access."
},
"teams_url": {
"type": "string",
"example": "\"https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions/teams\""
},
"users_url": {
"type": "string",
"example": "\"https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions/users\""
}
}
},
"require_code_owner_reviews": {
"type": "boolean",
"example": true
},
"require_last_push_approval": {
"type": "boolean",
"default": false,
"example": true,
"description": "Whether the most recent push must be approved by someone other than the person who pushed it."
},
"bypass_pull_request_allowances": {
"type": "object",
"properties": {
"apps": {
"type": "array",
"items": {
"$ref": "#/components/schemas/integration"
},
"description": "The list of apps allowed to bypass pull request requirements."
},
"teams": {
"type": "array",
"items": {
"$ref": "#/components/schemas/team"
},
"description": "The list of teams allowed to bypass pull request requirements."
},
"users": {
"type": "array",
"items": {
"$ref": "#/components/schemas/simple-user"
},
"description": "The list of users allowed to bypass pull request requirements."
}
},
"description": "Allow specific users, teams, or apps to bypass pull request requirements."
},
"required_approving_review_count": {
"type": "integer",
"example": 2,
"maximum": 6,
"minimum": 0
}
},
"description": "Protected Branch Pull Request Review"
}
protected-branch-required-status-check
{
"type": "object",
"title": "Protected Branch Required Status Check",
"required": [
"contexts",
"checks"
],
"properties": {
"url": {
"type": "string"
},
"checks": {
"type": "array",
"items": {
"type": "object",
"required": [
"context",
"app_id"
],
"properties": {
"app_id": {
"type": "integer",
"nullable": true
},
"context": {
"type": "string"
}
}
}
},
"strict": {
"type": "boolean"
},
"contexts": {
"type": "array",
"items": {
"type": "string"
}
},
"contexts_url": {
"type": "string"
},
"enforcement_level": {
"type": "string"
}
},
"description": "Protected Branch Required Status Check"
}
public-event
{
"type": "object",
"title": "PublicEvent"
}
public-ip
{
"type": "object",
"title": "Public IP for a GitHub-hosted larger runners.",
"properties": {
"length": {
"type": "integer",
"example": 28,
"description": "The length of the IP prefix."
},
"prefix": {
"type": "string",
"example": "20.80.208.150",
"description": "The prefix for the public IP."
},
"enabled": {
"type": "boolean",
"example": true,
"description": "Whether public IP is enabled."
}
},
"description": "Provides details of Public IP for a GitHub-hosted larger runners"
}
public-user
{
"type": "object",
"title": "Public User",
"required": [
"avatar_url",
"events_url",
"followers_url",
"following_url",
"gists_url",
"gravatar_id",
"html_url",
"id",
"node_id",
"login",
"organizations_url",
"received_events_url",
"repos_url",
"site_admin",
"starred_url",
"subscriptions_url",
"type",
"url",
"bio",
"blog",
"company",
"email",
"followers",
"following",
"hireable",
"location",
"name",
"public_gists",
"public_repos",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"bio": {
"type": "string",
"nullable": true
},
"url": {
"type": "string",
"format": "uri"
},
"blog": {
"type": "string",
"nullable": true
},
"name": {
"type": "string",
"nullable": true
},
"plan": {
"type": "object",
"required": [
"collaborators",
"name",
"space",
"private_repos"
],
"properties": {
"name": {
"type": "string"
},
"space": {
"type": "integer"
},
"collaborators": {
"type": "integer"
},
"private_repos": {
"type": "integer"
}
}
},
"type": {
"type": "string"
},
"email": {
"type": "string",
"format": "email",
"nullable": true
},
"login": {
"type": "string"
},
"company": {
"type": "string",
"nullable": true
},
"node_id": {
"type": "string"
},
"hireable": {
"type": "boolean",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"location": {
"type": "string",
"nullable": true
},
"followers": {
"type": "integer"
},
"following": {
"type": "integer"
},
"gists_url": {
"type": "string"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"created_at": {
"type": "string",
"format": "date-time"
},
"disk_usage": {
"type": "integer",
"example": 1
},
"events_url": {
"type": "string"
},
"site_admin": {
"type": "boolean"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"gravatar_id": {
"type": "string",
"nullable": true
},
"starred_url": {
"type": "string"
},
"public_gists": {
"type": "integer"
},
"public_repos": {
"type": "integer"
},
"collaborators": {
"type": "integer",
"example": 3
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string"
},
"private_gists": {
"type": "integer",
"example": 1
},
"user_view_type": {
"type": "string"
},
"twitter_username": {
"type": "string",
"nullable": true
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"notification_email": {
"type": "string",
"format": "email",
"nullable": true
},
"owned_private_repos": {
"type": "integer",
"example": 2
},
"received_events_url": {
"type": "string",
"format": "uri"
},
"total_private_repos": {
"type": "integer",
"example": 2
}
},
"description": "Public User",
"additionalProperties": false
}
pull-request
{
"type": "object",
"title": "Pull Request",
"required": [
"_links",
"assignee",
"labels",
"base",
"body",
"closed_at",
"comments_url",
"commits_url",
"created_at",
"diff_url",
"head",
"html_url",
"id",
"node_id",
"issue_url",
"merge_commit_sha",
"merged_at",
"milestone",
"number",
"patch_url",
"review_comment_url",
"review_comments_url",
"statuses_url",
"state",
"locked",
"title",
"updated_at",
"url",
"user",
"author_association",
"auto_merge",
"additions",
"changed_files",
"comments",
"commits",
"deletions",
"mergeable",
"mergeable_state",
"merged",
"maintainer_can_modify",
"merged_by",
"review_comments"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 1
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/pulls/1347"
},
"base": {
"type": "object",
"required": [
"label",
"ref",
"repo",
"sha",
"user"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"$ref": "#/components/schemas/repository"
},
"user": {
"$ref": "#/components/schemas/simple-user"
},
"label": {
"type": "string"
}
}
},
"body": {
"type": "string",
"example": "Please pull these awesome changes",
"nullable": true
},
"head": {
"type": "object",
"required": [
"label",
"ref",
"repo",
"sha",
"user"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"$ref": "#/components/schemas/repository"
},
"user": {
"$ref": "#/components/schemas/simple-user"
},
"label": {
"type": "string"
}
}
},
"user": {
"$ref": "#/components/schemas/simple-user"
},
"draft": {
"type": "boolean",
"example": false,
"description": "Indicates whether or not the pull request is a draft."
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"example": "open",
"description": "State of this Pull Request. Either `open` or `closed`."
},
"title": {
"type": "string",
"example": "Amazing new feature",
"description": "The title of the pull request."
},
"_links": {
"type": "object",
"required": [
"comments",
"commits",
"statuses",
"html",
"issue",
"review_comments",
"review_comment",
"self"
],
"properties": {
"html": {
"$ref": "#/components/schemas/link"
},
"self": {
"$ref": "#/components/schemas/link"
},
"issue": {
"$ref": "#/components/schemas/link"
},
"commits": {
"$ref": "#/components/schemas/link"
},
"comments": {
"$ref": "#/components/schemas/link"
},
"statuses": {
"$ref": "#/components/schemas/link"
},
"review_comment": {
"$ref": "#/components/schemas/link"
},
"review_comments": {
"$ref": "#/components/schemas/link"
}
}
},
"labels": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"node_id",
"url",
"name",
"description",
"color",
"default"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string"
},
"name": {
"type": "string"
},
"color": {
"type": "string"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
},
"locked": {
"type": "boolean",
"example": true
},
"merged": {
"type": "boolean"
},
"number": {
"type": "integer",
"example": 42,
"description": "Number uniquely identifying the pull request within its repository."
},
"commits": {
"type": "integer",
"example": 3
},
"node_id": {
"type": "string",
"example": "MDExOlB1bGxSZXF1ZXN0MQ=="
},
"assignee": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"comments": {
"type": "integer",
"example": 10
},
"diff_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/octocat/Hello-World/pull/1347.diff"
},
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/octocat/Hello-World/pull/1347"
},
"additions": {
"type": "integer",
"example": 100
},
"assignees": {
"type": "array",
"items": {
"$ref": "#/components/schemas/simple-user"
}
},
"closed_at": {
"type": "string",
"format": "date-time",
"example": "2011-01-26T19:01:12Z",
"nullable": true
},
"deletions": {
"type": "integer",
"example": 3
},
"issue_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/issues/1347"
},
"mergeable": {
"type": "boolean",
"example": true,
"nullable": true
},
"merged_at": {
"type": "string",
"format": "date-time",
"example": "2011-01-26T19:01:12Z",
"nullable": true
},
"merged_by": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"milestone": {
"$ref": "#/components/schemas/nullable-milestone"
},
"patch_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/octocat/Hello-World/pull/1347.patch"
},
"auto_merge": {
"$ref": "#/components/schemas/auto-merge"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2011-01-26T19:01:12Z"
},
"rebaseable": {
"type": "boolean",
"example": true,
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2011-01-26T19:01:12Z"
},
"commits_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/pulls/1347/commits"
},
"comments_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/issues/1347/comments"
},
"statuses_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e"
},
"changed_files": {
"type": "integer",
"example": 5
},
"mergeable_state": {
"type": "string",
"example": "clean"
},
"requested_teams": {
"type": "array",
"items": {
"$ref": "#/components/schemas/team-simple"
}
},
"review_comments": {
"type": "integer",
"example": 0
},
"merge_commit_sha": {
"type": "string",
"example": "e5bd3914e2e596debea16f433f57875b5b90bcd6",
"nullable": true
},
"active_lock_reason": {
"type": "string",
"example": "too heated",
"nullable": true
},
"author_association": {
"$ref": "#/components/schemas/author-association"
},
"review_comment_url": {
"type": "string",
"example": "https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number}"
},
"requested_reviewers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/simple-user"
}
},
"review_comments_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments"
},
"maintainer_can_modify": {
"type": "boolean",
"example": true,
"description": "Indicates whether maintainers can modify the pull request."
}
},
"description": "Pull requests let you tell others about changes you've pushed to a repository on GitHub. Once a pull request is sent, interested parties can review the set of changes, discuss potential modifications, and even push follow-up commits if necessary.",
"x-github-breaking-changes": [
{
"patch": {
"required": [
"_links",
"assignee",
"labels",
"base",
"body",
"closed_at",
"comments_url",
"commits_url",
"created_at",
"diff_url",
"head",
"html_url",
"id",
"node_id",
"issue_url",
"merged_at",
"milestone",
"number",
"patch_url",
"review_comment_url",
"review_comments_url",
"statuses_url",
"state",
"locked",
"title",
"updated_at",
"url",
"user",
"author_association",
"auto_merge",
"additions",
"changed_files",
"comments",
"commits",
"deletions",
"mergeable",
"mergeable_state",
"merged",
"maintainer_can_modify",
"merged_by",
"review_comments"
],
"properties": {
"merge_commit_sha": null
}
},
"version": "2026-03-10",
"changeset": "remove_pull_request_merge_commit_sha"
},
{
"patch": {
"required": [
"_links",
"labels",
"base",
"body",
"closed_at",
"comments_url",
"commits_url",
"created_at",
"diff_url",
"head",
"html_url",
"id",
"node_id",
"issue_url",
"merged_at",
"milestone",
"number",
"patch_url",
"review_comment_url",
"review_comments_url",
"statuses_url",
"state",
"locked",
"title",
"updated_at",
"url",
"user",
"author_association",
"auto_merge",
"additions",
"changed_files",
"comments",
"commits",
"deletions",
"mergeable",
"mergeable_state",
"merged",
"maintainer_can_modify",
"merged_by",
"review_comments"
],
"properties": {
"assignee": null
}
},
"version": "2026-03-10",
"changeset": "remove_singular_assignee_from_issues_and_pull_requests"
}
]
}
pull-request-event
{
"type": "object",
"title": "PullRequestEvent",
"required": [
"action",
"number",
"pull_request"
],
"properties": {
"label": {
"$ref": "#/components/schemas/label"
},
"action": {
"type": "string"
},
"labels": {
"type": "array",
"items": {
"$ref": "#/components/schemas/label"
}
},
"number": {
"type": "integer"
},
"assignee": {
"$ref": "#/components/schemas/simple-user"
},
"assignees": {
"type": "array",
"items": {
"$ref": "#/components/schemas/simple-user"
}
},
"pull_request": {
"$ref": "#/components/schemas/pull-request-minimal"
}
}
}
pull-request-merge-result
{
"type": "object",
"title": "Pull Request Merge Result",
"required": [
"merged",
"message",
"sha"
],
"properties": {
"sha": {
"type": "string"
},
"merged": {
"type": "boolean"
},
"message": {
"type": "string"
}
},
"description": "Pull Request Merge Result"
}
pull-request-minimal
{
"type": "object",
"title": "Pull Request Minimal",
"required": [
"id",
"number",
"url",
"head",
"base"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string"
},
"base": {
"type": "object",
"required": [
"ref",
"sha",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"required": [
"id",
"url",
"name"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string"
},
"name": {
"type": "string"
}
}
}
}
},
"head": {
"type": "object",
"required": [
"ref",
"sha",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"required": [
"id",
"url",
"name"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string"
},
"name": {
"type": "string"
}
}
}
}
},
"number": {
"type": "integer"
}
}
}
pull-request-review
{
"type": "object",
"title": "Pull Request Review",
"required": [
"id",
"node_id",
"user",
"body",
"state",
"commit_id",
"html_url",
"pull_request_url",
"_links",
"author_association"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"description": "Unique identifier of the review"
},
"body": {
"type": "string",
"example": "This looks great.",
"description": "The text of the review."
},
"user": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"state": {
"type": "string",
"example": "CHANGES_REQUESTED"
},
"_links": {
"type": "object",
"required": [
"html",
"pull_request"
],
"properties": {
"html": {
"type": "object",
"required": [
"href"
],
"properties": {
"href": {
"type": "string"
}
}
},
"pull_request": {
"type": "object",
"required": [
"href"
],
"properties": {
"href": {
"type": "string"
}
}
}
}
},
"node_id": {
"type": "string",
"example": "MDE3OlB1bGxSZXF1ZXN0UmV2aWV3ODA="
},
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80"
},
"body_html": {
"type": "string"
},
"body_text": {
"type": "string"
},
"commit_id": {
"type": "string",
"example": "54bb654c9e6025347f57900a4a5c2313a96b8035",
"nullable": true,
"description": "A commit SHA for the review. If the commit object was garbage collected or forcibly deleted, then it no longer exists in Git and this value will be `null`."
},
"submitted_at": {
"type": "string",
"format": "date-time"
},
"pull_request_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/pulls/12"
},
"author_association": {
"$ref": "#/components/schemas/author-association"
}
},
"description": "Pull Request Reviews are reviews on pull requests."
}
pull-request-review-comment
{
"type": "object",
"title": "Pull Request Review Comment",
"required": [
"url",
"id",
"node_id",
"pull_request_review_id",
"diff_hunk",
"path",
"commit_id",
"original_commit_id",
"user",
"body",
"created_at",
"updated_at",
"html_url",
"pull_request_url",
"author_association",
"_links"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "The ID of the pull request review comment."
},
"url": {
"type": "string",
"example": "https://api.github.com/repos/octocat/Hello-World/pulls/comments/1",
"description": "URL for the pull request review comment"
},
"body": {
"type": "string",
"example": "We should probably include a check for null values here.",
"description": "The text of the comment."
},
"line": {
"type": "integer",
"example": 2,
"description": "The line of the blob to which the comment applies. The last line of the range for a multi-line comment"
},
"path": {
"type": "string",
"example": "config/database.yaml",
"description": "The relative path of the file to which the comment applies."
},
"side": {
"enum": [
"LEFT",
"RIGHT"
],
"type": "string",
"default": "RIGHT",
"description": "The side of the diff to which the comment applies. The side of the last line of the range for a multi-line comment"
},
"user": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"_links": {
"type": "object",
"required": [
"self",
"html",
"pull_request"
],
"properties": {
"html": {
"type": "object",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri",
"example": "https://github.com/octocat/Hello-World/pull/1#discussion-diff-1"
}
}
},
"self": {
"type": "object",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/pulls/comments/1"
}
}
},
"pull_request": {
"type": "object",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/pulls/1"
}
}
}
}
},
"node_id": {
"type": "string",
"example": "MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDEw",
"description": "The node ID of the pull request review comment."
},
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/octocat/Hello-World/pull/1#discussion-diff-1",
"description": "HTML URL for the pull request review comment."
},
"position": {
"type": "integer",
"example": 1,
"description": "The line index in the diff to which the comment applies. This field is closing down; use `line` instead."
},
"body_html": {
"type": "string",
"example": "\"<p>comment body</p>\""
},
"body_text": {
"type": "string",
"example": "\"comment body\""
},
"commit_id": {
"type": "string",
"example": "6dcb09b5b57875f334f61aebed695e2e4193db5e",
"description": "The SHA of the commit to which the comment applies."
},
"diff_hunk": {
"type": "string",
"example": "@@ -16,33 +16,40 @@ public class Connection : IConnection...",
"description": "The diff of the line that the comment refers to."
},
"reactions": {
"$ref": "#/components/schemas/reaction-rollup"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2011-04-14T16:00:49Z"
},
"start_line": {
"type": "integer",
"example": 2,
"nullable": true,
"description": "The first line of the range for a multi-line comment."
},
"start_side": {
"enum": [
"LEFT",
"RIGHT"
],
"type": "string",
"default": "RIGHT",
"nullable": true,
"description": "The side of the first line of the range for a multi-line comment."
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2011-04-14T16:00:49Z"
},
"subject_type": {
"enum": [
"line",
"file"
],
"type": "string",
"description": "The level at which the comment is targeted, can be a diff line or a file."
},
"original_line": {
"type": "integer",
"example": 2,
"description": "The line of the blob to which the comment applies. The last line of the range for a multi-line comment"
},
"in_reply_to_id": {
"type": "integer",
"example": 8,
"description": "The comment ID to reply to."
},
"pull_request_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/pulls/1",
"description": "URL for the pull request that the review comment belongs to."
},
"original_position": {
"type": "integer",
"example": 4,
"description": "The index of the original line in the diff to which the comment applies. This field is closing down; use `original_line` instead."
},
"author_association": {
"$ref": "#/components/schemas/author-association"
},
"original_commit_id": {
"type": "string",
"example": "9c48853fa3dc5c1c3d6f1f1cd1f2743e72652840",
"description": "The SHA of the original commit to which the comment applies."
},
"original_start_line": {
"type": "integer",
"example": 2,
"nullable": true,
"description": "The first line of the range for a multi-line comment."
},
"pull_request_review_id": {
"type": "integer",
"format": "int64",
"example": 42,
"nullable": true,
"description": "The ID of the pull request review to which the comment belongs."
}
},
"description": "Pull Request Review Comments are comments on a portion of the Pull Request's diff."
}
pull-request-review-comment-event
{
"type": "object",
"title": "PullRequestReviewCommentEvent",
"required": [
"action",
"comment",
"pull_request"
],
"properties": {
"action": {
"type": "string"
},
"comment": {
"type": "object",
"required": [
"url",
"pull_request_review_id",
"id",
"node_id",
"diff_hunk",
"path",
"position",
"original_position",
"commit_id",
"original_commit_id",
"user",
"body",
"created_at",
"updated_at",
"html_url",
"pull_request_url",
"_links",
"reactions"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"body": {
"type": "string"
},
"path": {
"type": "string"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"_links": {
"type": "object",
"required": [
"self",
"html",
"pull_request"
],
"properties": {
"html": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"self": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"pull_request": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"position": {
"type": "integer",
"nullable": true
},
"commit_id": {
"type": "string"
},
"diff_hunk": {
"type": "string"
},
"reactions": {
"type": "object",
"title": "Reactions",
"properties": {
"+1": {
"type": "integer"
},
"-1": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"eyes": {
"type": "integer"
},
"heart": {
"type": "integer"
},
"laugh": {
"type": "integer"
},
"hooray": {
"type": "integer"
},
"rocket": {
"type": "integer"
},
"confused": {
"type": "integer"
},
"total_count": {
"type": "integer"
}
}
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"subject_type": {
"type": "string",
"nullable": true
},
"in_reply_to_id": {
"type": "integer"
},
"pull_request_url": {
"type": "string",
"format": "uri"
},
"original_position": {
"type": "integer"
},
"original_commit_id": {
"type": "string"
},
"pull_request_review_id": {
"type": "integer",
"nullable": true
}
}
},
"pull_request": {
"$ref": "#/components/schemas/pull-request-minimal"
}
}
}
pull-request-review-event
{
"type": "object",
"title": "PullRequestReviewEvent",
"required": [
"action",
"review",
"pull_request"
],
"properties": {
"action": {
"type": "string"
},
"review": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"body": {
"type": "string"
},
"user": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"state": {
"type": "string"
},
"_links": {
"type": "object",
"required": [
"html",
"pull_request"
],
"properties": {
"html": {
"type": "object",
"required": [
"href"
],
"properties": {
"href": {
"type": "string"
}
}
},
"pull_request": {
"type": "object",
"required": [
"href"
],
"properties": {
"href": {
"type": "string"
}
}
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"commit_id": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"submitted_at": {
"type": "string",
"nullable": true
},
"pull_request_url": {
"type": "string",
"format": "uri"
}
}
},
"pull_request": {
"$ref": "#/components/schemas/pull-request-minimal"
}
}
}
pull-request-review-request
{
"type": "object",
"title": "Pull Request Review Request",
"required": [
"users",
"teams"
],
"properties": {
"teams": {
"type": "array",
"items": {
"$ref": "#/components/schemas/team"
}
},
"users": {
"type": "array",
"items": {
"$ref": "#/components/schemas/simple-user"
}
}
},
"description": "Pull Request Review Request"
}
pull-request-simple
{
"type": "object",
"title": "Pull Request Simple",
"required": [
"_links",
"assignee",
"labels",
"base",
"body",
"closed_at",
"comments_url",
"commits_url",
"created_at",
"diff_url",
"head",
"html_url",
"id",
"node_id",
"issue_url",
"merge_commit_sha",
"merged_at",
"milestone",
"number",
"patch_url",
"review_comment_url",
"review_comments_url",
"statuses_url",
"state",
"locked",
"title",
"updated_at",
"url",
"user",
"author_association",
"auto_merge"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 1
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/pulls/1347"
},
"base": {
"type": "object",
"required": [
"label",
"ref",
"repo",
"sha",
"user"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"$ref": "#/components/schemas/repository"
},
"user": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"label": {
"type": "string"
}
}
},
"body": {
"type": "string",
"example": "Please pull these awesome changes",
"nullable": true
},
"head": {
"type": "object",
"required": [
"label",
"ref",
"repo",
"sha",
"user"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"$ref": "#/components/schemas/repository"
},
"user": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"label": {
"type": "string"
}
}
},
"user": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"draft": {
"type": "boolean",
"example": false,
"description": "Indicates whether or not the pull request is a draft."
},
"state": {
"type": "string",
"example": "open"
},
"title": {
"type": "string",
"example": "new-feature"
},
"_links": {
"type": "object",
"required": [
"comments",
"commits",
"statuses",
"html",
"issue",
"review_comments",
"review_comment",
"self"
],
"properties": {
"html": {
"$ref": "#/components/schemas/link"
},
"self": {
"$ref": "#/components/schemas/link"
},
"issue": {
"$ref": "#/components/schemas/link"
},
"commits": {
"$ref": "#/components/schemas/link"
},
"comments": {
"$ref": "#/components/schemas/link"
},
"statuses": {
"$ref": "#/components/schemas/link"
},
"review_comment": {
"$ref": "#/components/schemas/link"
},
"review_comments": {
"$ref": "#/components/schemas/link"
}
}
},
"labels": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"node_id",
"url",
"name",
"description",
"color",
"default"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string"
},
"name": {
"type": "string"
},
"color": {
"type": "string"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string"
}
}
}
},
"locked": {
"type": "boolean",
"example": true
},
"number": {
"type": "integer",
"example": 1347
},
"node_id": {
"type": "string",
"example": "MDExOlB1bGxSZXF1ZXN0MQ=="
},
"assignee": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"diff_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/octocat/Hello-World/pull/1347.diff"
},
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/octocat/Hello-World/pull/1347"
},
"assignees": {
"type": "array",
"items": {
"$ref": "#/components/schemas/simple-user"
}
},
"closed_at": {
"type": "string",
"format": "date-time",
"example": "2011-01-26T19:01:12Z",
"nullable": true
},
"issue_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/issues/1347"
},
"merged_at": {
"type": "string",
"format": "date-time",
"example": "2011-01-26T19:01:12Z",
"nullable": true
},
"milestone": {
"$ref": "#/components/schemas/nullable-milestone"
},
"patch_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/octocat/Hello-World/pull/1347.patch"
},
"auto_merge": {
"$ref": "#/components/schemas/auto-merge"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2011-01-26T19:01:12Z"
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2011-01-26T19:01:12Z"
},
"commits_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/pulls/1347/commits"
},
"comments_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/issues/1347/comments"
},
"statuses_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e"
},
"requested_teams": {
"type": "array",
"items": {
"$ref": "#/components/schemas/team"
}
},
"merge_commit_sha": {
"type": "string",
"example": "e5bd3914e2e596debea16f433f57875b5b90bcd6",
"nullable": true
},
"active_lock_reason": {
"type": "string",
"example": "too heated",
"nullable": true
},
"author_association": {
"$ref": "#/components/schemas/author-association"
},
"review_comment_url": {
"type": "string",
"example": "https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number}"
},
"requested_reviewers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/simple-user"
}
},
"review_comments_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments"
}
},
"description": "Pull Request Simple",
"x-github-breaking-changes": [
{
"patch": {
"required": [
"_links",
"assignee",
"labels",
"base",
"body",
"closed_at",
"comments_url",
"commits_url",
"created_at",
"diff_url",
"head",
"html_url",
"id",
"node_id",
"issue_url",
"merged_at",
"milestone",
"number",
"patch_url",
"review_comment_url",
"review_comments_url",
"statuses_url",
"state",
"locked",
"title",
"updated_at",
"url",
"user",
"author_association",
"auto_merge"
],
"properties": {
"merge_commit_sha": null
}
},
"version": "2026-03-10",
"changeset": "remove_pull_request_merge_commit_sha"
},
{
"patch": {
"required": [
"_links",
"labels",
"base",
"body",
"closed_at",
"comments_url",
"commits_url",
"created_at",
"diff_url",
"head",
"html_url",
"id",
"node_id",
"issue_url",
"merged_at",
"milestone",
"number",
"patch_url",
"review_comment_url",
"review_comments_url",
"statuses_url",
"state",
"locked",
"title",
"updated_at",
"url",
"user",
"author_association",
"auto_merge"
],
"properties": {
"assignee": null
}
},
"version": "2026-03-10",
"changeset": "remove_singular_assignee_from_issues_and_pull_requests"
}
]
}
pull-request-webhook
{
"allOf": [
{
"$ref": "#/components/schemas/pull-request"
},
{
"type": "object",
"properties": {
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"description": "The default value for a merge commit title.\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., \"Merge pull request #123 from branch-name\")."
},
"allow_update_branch": {
"type": "boolean",
"description": "Whether to allow updating the pull request's branch."
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"description": "The default value for a merge commit message.\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged."
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"description": "The default value for a squash merge commit title:\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"description": "The default value for a squash merge commit message:\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
},
"use_squash_pr_title_as_default": {
"type": "boolean",
"default": false,
"description": "Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead.**"
}
}
}
]
}
push-event
{
"type": "object",
"title": "PushEvent",
"required": [
"repository_id",
"push_id",
"ref",
"head",
"before"
],
"properties": {
"ref": {
"type": "string"
},
"head": {
"type": "string"
},
"before": {
"type": "string"
},
"push_id": {
"type": "integer"
},
"repository_id": {
"type": "integer"
}
}
}
rate-limit
{
"type": "object",
"title": "Rate Limit",
"required": [
"limit",
"remaining",
"reset",
"used"
],
"properties": {
"used": {
"type": "integer"
},
"limit": {
"type": "integer"
},
"reset": {
"type": "integer"
},
"remaining": {
"type": "integer"
}
}
}
rate-limit-overview
{
"type": "object",
"title": "Rate Limit Overview",
"required": [
"rate",
"resources"
],
"properties": {
"rate": {
"$ref": "#/components/schemas/rate-limit"
},
"resources": {
"type": "object",
"required": [
"core",
"search"
],
"properties": {
"core": {
"$ref": "#/components/schemas/rate-limit"
},
"scim": {
"$ref": "#/components/schemas/rate-limit"
},
"search": {
"$ref": "#/components/schemas/rate-limit"
},
"graphql": {
"$ref": "#/components/schemas/rate-limit"
},
"code_search": {
"$ref": "#/components/schemas/rate-limit"
},
"source_import": {
"$ref": "#/components/schemas/rate-limit"
},
"dependency_sbom": {
"$ref": "#/components/schemas/rate-limit"
},
"code_scanning_upload": {
"$ref": "#/components/schemas/rate-limit"
},
"dependency_snapshots": {
"$ref": "#/components/schemas/rate-limit"
},
"integration_manifest": {
"$ref": "#/components/schemas/rate-limit"
},
"code_scanning_autofix": {
"$ref": "#/components/schemas/rate-limit"
},
"actions_runner_registration": {
"$ref": "#/components/schemas/rate-limit"
}
}
}
},
"description": "Rate Limit Overview",
"x-github-breaking-changes": [
{
"patch": {
"required": [
"resources"
],
"properties": {
"rate": null
}
},
"version": "2026-03-10",
"changeset": "remove_rate_limit_rate"
}
]
}
reaction
{
"type": "object",
"title": "Reaction",
"required": [
"id",
"node_id",
"user",
"content",
"created_at"
],
"properties": {
"id": {
"type": "integer",
"example": 1
},
"user": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"content": {
"enum": [
"+1",
"-1",
"laugh",
"confused",
"heart",
"hooray",
"rocket",
"eyes"
],
"type": "string",
"example": "heart",
"description": "The reaction to use"
},
"node_id": {
"type": "string",
"example": "MDg6UmVhY3Rpb24x"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2016-05-20T20:09:31Z"
}
},
"description": "Reactions to conversations provide a way to help people express their feelings more simply and effectively."
}
reaction-rollup
{
"type": "object",
"title": "Reaction Rollup",
"required": [
"url",
"total_count",
"+1",
"-1",
"laugh",
"confused",
"heart",
"hooray",
"eyes",
"rocket"
],
"properties": {
"+1": {
"type": "integer"
},
"-1": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"eyes": {
"type": "integer"
},
"heart": {
"type": "integer"
},
"laugh": {
"type": "integer"
},
"hooray": {
"type": "integer"
},
"rocket": {
"type": "integer"
},
"confused": {
"type": "integer"
},
"total_count": {
"type": "integer"
}
}
}
referenced-workflow
{
"type": "object",
"title": "Referenced workflow",
"required": [
"path",
"sha"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"path": {
"type": "string"
}
},
"description": "A workflow referenced/reused by the initial caller workflow"
}
referrer-traffic
{
"type": "object",
"title": "Referrer Traffic",
"required": [
"referrer",
"uniques",
"count"
],
"properties": {
"count": {
"type": "integer",
"example": 4
},
"uniques": {
"type": "integer",
"example": 3
},
"referrer": {
"type": "string",
"example": "Google"
}
},
"description": "Referrer Traffic"
}
release
{
"type": "object",
"title": "Release",
"required": [
"assets_url",
"upload_url",
"tarball_url",
"zipball_url",
"created_at",
"published_at",
"draft",
"id",
"node_id",
"author",
"html_url",
"name",
"prerelease",
"tag_name",
"target_commitish",
"assets",
"url"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"body": {
"type": "string",
"nullable": true
},
"name": {
"type": "string",
"nullable": true
},
"draft": {
"type": "boolean",
"example": false,
"description": "true to create a draft (unpublished) release, false to create a published one."
},
"assets": {
"type": "array",
"items": {
"$ref": "#/components/schemas/release-asset"
}
},
"author": {
"$ref": "#/components/schemas/simple-user"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"tag_name": {
"type": "string",
"example": "v1.0.0",
"description": "The name of the tag."
},
"body_html": {
"type": "string"
},
"body_text": {
"type": "string"
},
"immutable": {
"type": "boolean",
"example": false,
"description": "Whether or not the release is immutable."
},
"reactions": {
"$ref": "#/components/schemas/reaction-rollup"
},
"assets_url": {
"type": "string",
"format": "uri"
},
"created_at": {
"type": "string",
"format": "date-time"
},
"prerelease": {
"type": "boolean",
"example": false,
"description": "Whether to identify the release as a prerelease or a full release."
},
"updated_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"upload_url": {
"type": "string"
},
"tarball_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"zipball_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"published_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"discussion_url": {
"type": "string",
"format": "uri",
"description": "The URL of the release discussion."
},
"mentions_count": {
"type": "integer"
},
"target_commitish": {
"type": "string",
"example": "master",
"description": "Specifies the commitish value that determines where the Git tag is created from."
}
},
"description": "A release."
}
release-asset
{
"type": "object",
"title": "Release Asset",
"required": [
"id",
"name",
"content_type",
"size",
"digest",
"state",
"url",
"node_id",
"download_count",
"label",
"uploader",
"browser_download_url",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string",
"example": "Team Environment",
"description": "The file name of the asset."
},
"size": {
"type": "integer"
},
"label": {
"type": "string",
"nullable": true
},
"state": {
"enum": [
"uploaded",
"open"
],
"type": "string",
"description": "State of the release asset."
},
"digest": {
"type": "string",
"nullable": true
},
"node_id": {
"type": "string"
},
"uploader": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"content_type": {
"type": "string"
},
"download_count": {
"type": "integer"
},
"browser_download_url": {
"type": "string",
"format": "uri"
}
},
"description": "Data related to a release."
}
release-event
{
"type": "object",
"title": "ReleaseEvent",
"required": [
"action",
"release"
],
"properties": {
"action": {
"type": "string"
},
"release": {
"allOf": [
{
"$ref": "#/components/schemas/release"
},
{
"type": "object",
"properties": {
"short_description_html": {
"type": "string"
},
"is_short_description_html_truncated": {
"type": "boolean"
}
}
}
]
}
}
}
release-notes-content
{
"type": "object",
"title": "Generated Release Notes Content",
"required": [
"name",
"body"
],
"properties": {
"body": {
"type": "string",
"description": "The generated body describing the contents of the release supporting markdown formatting"
},
"name": {
"type": "string",
"example": "Release v1.0.0 is now available!",
"description": "The generated name of the release"
}
},
"description": "Generated name and body describing a release"
}
removed-from-project-issue-event
{
"type": "object",
"title": "Removed from Project Issue Event",
"required": [
"id",
"node_id",
"url",
"actor",
"event",
"commit_id",
"commit_url",
"created_at",
"performed_via_github_app"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"actor": {
"$ref": "#/components/schemas/simple-user"
},
"event": {
"type": "string"
},
"node_id": {
"type": "string"
},
"commit_id": {
"type": "string",
"nullable": true
},
"commit_url": {
"type": "string",
"nullable": true
},
"created_at": {
"type": "string"
},
"project_card": {
"type": "object",
"required": [
"id",
"url",
"project_id",
"project_url",
"column_name"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"project_id": {
"type": "integer"
},
"column_name": {
"type": "string"
},
"project_url": {
"type": "string",
"format": "uri"
},
"previous_column_name": {
"type": "string"
}
}
},
"performed_via_github_app": {
"$ref": "#/components/schemas/nullable-integration"
}
},
"description": "Removed from Project Issue Event"
}
renamed-issue-event
{
"type": "object",
"title": "Renamed Issue Event",
"required": [
"rename",
"id",
"node_id",
"url",
"actor",
"event",
"commit_id",
"commit_url",
"created_at",
"performed_via_github_app"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"actor": {
"$ref": "#/components/schemas/simple-user"
},
"event": {
"type": "string"
},
"rename": {
"type": "object",
"required": [
"from",
"to"
],
"properties": {
"to": {
"type": "string"
},
"from": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"commit_id": {
"type": "string",
"nullable": true
},
"commit_url": {
"type": "string",
"nullable": true
},
"created_at": {
"type": "string"
},
"performed_via_github_app": {
"$ref": "#/components/schemas/nullable-integration"
}
},
"description": "Renamed Issue Event"
}
repo-codespaces-secret
{
"type": "object",
"title": "Codespaces Secret",
"required": [
"name",
"created_at",
"updated_at"
],
"properties": {
"name": {
"type": "string",
"example": "SECRET_TOKEN",
"description": "The name of the secret."
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
}
},
"description": "Set repository secrets for GitHub Codespaces."
}
repo-search-result-item
{
"type": "object",
"title": "Repo Search Result Item",
"required": [
"archive_url",
"assignees_url",
"blobs_url",
"branches_url",
"collaborators_url",
"comments_url",
"commits_url",
"compare_url",
"contents_url",
"contributors_url",
"deployments_url",
"description",
"downloads_url",
"events_url",
"fork",
"forks_url",
"full_name",
"git_commits_url",
"git_refs_url",
"git_tags_url",
"hooks_url",
"html_url",
"id",
"node_id",
"issue_comment_url",
"issue_events_url",
"issues_url",
"keys_url",
"labels_url",
"languages_url",
"merges_url",
"milestones_url",
"name",
"notifications_url",
"owner",
"private",
"pulls_url",
"releases_url",
"stargazers_url",
"statuses_url",
"subscribers_url",
"subscription_url",
"tags_url",
"teams_url",
"trees_url",
"url",
"clone_url",
"default_branch",
"forks",
"forks_count",
"git_url",
"has_downloads",
"has_issues",
"has_projects",
"has_wiki",
"has_pages",
"homepage",
"language",
"archived",
"disabled",
"mirror_url",
"open_issues",
"open_issues_count",
"license",
"pushed_at",
"size",
"ssh_url",
"stargazers_count",
"svn_url",
"watchers",
"watchers_count",
"created_at",
"updated_at",
"score"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string"
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"score": {
"type": "number"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string"
},
"license": {
"$ref": "#/components/schemas/nullable-license-simple"
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean"
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean"
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository disabled."
},
"has_wiki": {
"type": "boolean"
},
"homepage": {
"type": "string",
"format": "uri",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string"
},
"clone_url": {
"type": "string"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string"
},
"pushed_at": {
"type": "string",
"format": "date-time"
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string"
},
"created_at": {
"type": "string",
"format": "date-time"
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean"
},
"issues_url": {
"type": "string"
},
"labels_url": {
"type": "string"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"type": "string",
"description": "The repository visibility: public, private, or internal."
},
"archive_url": {
"type": "string"
},
"commits_url": {
"type": "string"
},
"compare_url": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"admin",
"pull",
"push"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string"
},
"comments_url": {
"type": "string"
},
"contents_url": {
"type": "string"
},
"git_refs_url": {
"type": "string"
},
"git_tags_url": {
"type": "string"
},
"has_projects": {
"type": "boolean"
},
"releases_url": {
"type": "string"
},
"statuses_url": {
"type": "string"
},
"text_matches": {
"$ref": "#/components/schemas/search-result-text-matches"
},
"allow_forking": {
"type": "boolean"
},
"assignees_url": {
"type": "string"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean"
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string"
},
"milestones_url": {
"type": "string"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string"
},
"has_discussions": {
"type": "boolean"
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean"
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"temp_clone_token": {
"type": "string"
},
"collaborators_url": {
"type": "string"
},
"has_pull_requests": {
"type": "boolean"
},
"issue_comment_url": {
"type": "string"
},
"notifications_url": {
"type": "string"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean"
},
"allow_rebase_merge": {
"type": "boolean"
},
"allow_squash_merge": {
"type": "boolean"
},
"delete_branch_on_merge": {
"type": "boolean"
},
"web_commit_signoff_required": {
"type": "boolean",
"example": false
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
}
},
"description": "Repo Search Result Item"
}
repository
{
"type": "object",
"title": "Repository",
"required": [
"archive_url",
"assignees_url",
"blobs_url",
"branches_url",
"collaborators_url",
"comments_url",
"commits_url",
"compare_url",
"contents_url",
"contributors_url",
"deployments_url",
"description",
"downloads_url",
"events_url",
"fork",
"forks_url",
"full_name",
"git_commits_url",
"git_refs_url",
"git_tags_url",
"hooks_url",
"html_url",
"id",
"node_id",
"issue_comment_url",
"issue_events_url",
"issues_url",
"keys_url",
"labels_url",
"languages_url",
"merges_url",
"milestones_url",
"name",
"notifications_url",
"owner",
"private",
"pulls_url",
"releases_url",
"stargazers_url",
"statuses_url",
"subscribers_url",
"subscription_url",
"tags_url",
"teams_url",
"trees_url",
"url",
"clone_url",
"default_branch",
"forks",
"forks_count",
"git_url",
"has_downloads",
"has_issues",
"has_projects",
"has_wiki",
"has_pages",
"homepage",
"language",
"archived",
"disabled",
"mirror_url",
"open_issues",
"open_issues_count",
"license",
"pushed_at",
"size",
"ssh_url",
"stargazers_count",
"svn_url",
"watchers",
"watchers_count",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"example": "Team Environment",
"description": "The name of the repository."
},
"size": {
"type": "integer",
"example": 108,
"description": "The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0."
},
"forks": {
"type": "integer"
},
"owner": {
"$ref": "#/components/schemas/simple-user"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"example": "git:github.com/octocat/Hello-World.git"
},
"license": {
"$ref": "#/components/schemas/nullable-license-simple"
},
"node_id": {
"type": "string",
"example": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5"
},
"private": {
"type": "boolean",
"default": false,
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string",
"example": "git@github.com:octocat/Hello-World.git"
},
"svn_url": {
"type": "string",
"format": "uri",
"example": "https://svn.github.com/octocat/Hello-World"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"example": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"format": "uri",
"example": "https://github.com",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/octocat/Hello-World"
},
"keys_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/keys{/key_id}"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/tags"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}"
},
"clone_url": {
"type": "string",
"example": "https://github.com/octocat/Hello-World.git"
},
"forks_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/forks"
},
"full_name": {
"type": "string",
"example": "octocat/Hello-World"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/hooks"
},
"pulls_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/pulls{/number}"
},
"pushed_at": {
"type": "string",
"format": "date-time",
"example": "2011-01-26T19:06:43Z",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/teams"
},
"trees_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/git/trees{/sha}"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2011-01-26T19:01:12Z",
"nullable": true
},
"events_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/events"
},
"has_issues": {
"type": "boolean",
"default": true,
"example": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/issues{/number}"
},
"labels_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/labels{/name}"
},
"merges_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/merges"
},
"mirror_url": {
"type": "string",
"format": "uri",
"example": "git:git.example.com/octocat/Hello-World",
"nullable": true
},
"starred_at": {
"type": "string",
"example": "\"2020-07-09T00:17:42Z\""
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2011-01-26T19:14:43Z",
"nullable": true
},
"visibility": {
"type": "string",
"default": "public",
"description": "The repository visibility: public, private, or internal."
},
"archive_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}"
},
"commits_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/commits{/sha}"
},
"compare_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}"
},
"description": {
"type": "string",
"example": "This your first repo!",
"nullable": true
},
"forks_count": {
"type": "integer",
"example": 9
},
"is_template": {
"type": "boolean",
"default": false,
"example": true,
"description": "Whether this repository acts as a template that can be used to generate new repositories."
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"admin",
"pull",
"push"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/branches{/branch}"
},
"comments_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/comments{/number}"
},
"contents_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/contents/{+path}"
},
"git_refs_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/git/refs{/sha}"
},
"git_tags_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/git/tags{/sha}"
},
"has_projects": {
"type": "boolean",
"default": true,
"example": true,
"description": "Whether projects are enabled."
},
"releases_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/releases{/id}"
},
"statuses_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/statuses/{sha}"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow forking this repo"
},
"assignees_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/assignees{/user}"
},
"downloads_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/downloads"
},
"has_downloads": {
"type": "boolean",
"default": true,
"example": true,
"deprecated": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/languages"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"example": "master",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/milestones{/number}"
},
"stargazers_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/stargazers"
},
"watchers_count": {
"type": "integer",
"example": 80
},
"deployments_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/deployments"
},
"git_commits_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/git/commits{/sha}"
},
"has_discussions": {
"type": "boolean",
"default": false,
"example": true,
"description": "Whether discussions are enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/subscribers"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"example": false,
"description": "Whether to allow Auto-merge to be used on pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/contributors"
},
"issue_events_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/issues/events{/number}"
},
"stargazers_count": {
"type": "integer",
"example": 80
},
"subscription_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/subscription"
},
"temp_clone_token": {
"type": "string"
},
"collaborators_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}"
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"example": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/issues/comments{/number}"
},
"notifications_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}"
},
"open_issues_count": {
"type": "integer",
"example": 0
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"example": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"example": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"example": true,
"description": "Whether to allow squash merges for pull requests."
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
},
"allow_update_branch": {
"type": "boolean",
"default": false,
"example": false,
"description": "Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging."
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"example": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"anonymous_access_enabled": {
"type": "boolean",
"description": "Whether anonymous git access is enabled for this repository"
},
"code_search_index_status": {
"type": "object",
"properties": {
"lexical_search_ok": {
"type": "boolean"
},
"lexical_commit_sha": {
"type": "string"
}
},
"description": "The status of the code search index for this repository"
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
},
"web_commit_signoff_required": {
"type": "boolean",
"default": false,
"description": "Whether to require contributors to sign off on web-based commits"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"example": "all",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
},
"use_squash_pr_title_as_default": {
"type": "boolean",
"default": false,
"deprecated": true,
"description": "Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead."
}
},
"description": "A repository on GitHub.",
"x-github-breaking-changes": [
{
"patch": {
"properties": {
"use_squash_pr_title_as_default": null
}
},
"version": "2026-03-10",
"changeset": "remove_use_squash_pr_title_as_default"
},
{
"patch": {
"properties": {
"master_branch": null
}
},
"version": "2026-03-10",
"changeset": "deprecate_beta_media_type"
},
{
"patch": {
"required": [
"archive_url",
"assignees_url",
"blobs_url",
"branches_url",
"collaborators_url",
"comments_url",
"commits_url",
"compare_url",
"contents_url",
"contributors_url",
"deployments_url",
"description",
"downloads_url",
"events_url",
"fork",
"forks_url",
"full_name",
"git_commits_url",
"git_refs_url",
"git_tags_url",
"hooks_url",
"html_url",
"id",
"node_id",
"issue_comment_url",
"issue_events_url",
"issues_url",
"keys_url",
"labels_url",
"languages_url",
"merges_url",
"milestones_url",
"name",
"notifications_url",
"owner",
"private",
"pulls_url",
"releases_url",
"stargazers_url",
"statuses_url",
"subscribers_url",
"subscription_url",
"tags_url",
"teams_url",
"trees_url",
"url",
"clone_url",
"default_branch",
"forks",
"forks_count",
"git_url",
"has_issues",
"has_projects",
"has_wiki",
"has_pages",
"homepage",
"language",
"archived",
"disabled",
"mirror_url",
"open_issues",
"open_issues_count",
"license",
"pushed_at",
"size",
"ssh_url",
"stargazers_count",
"svn_url",
"watchers",
"watchers_count",
"created_at",
"updated_at"
],
"properties": {
"has_downloads": null
}
},
"version": "2026-03-10",
"changeset": "remove_has_downloads"
}
]
}
repository-advisory
{
"type": "object",
"required": [
"ghsa_id",
"cve_id",
"url",
"html_url",
"summary",
"description",
"severity",
"author",
"publisher",
"identifiers",
"state",
"created_at",
"updated_at",
"published_at",
"closed_at",
"withdrawn_at",
"submission",
"vulnerabilities",
"cvss",
"cwes",
"cwe_ids",
"credits",
"credits_detailed",
"collaborating_users",
"collaborating_teams",
"private_fork"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"readOnly": true,
"description": "The API URL for the advisory."
},
"cvss": {
"type": "object",
"nullable": true,
"required": [
"vector_string",
"score"
],
"properties": {
"score": {
"type": "number",
"maximum": 10,
"minimum": 0,
"nullable": true,
"readOnly": true,
"description": "The CVSS score."
},
"vector_string": {
"type": "string",
"nullable": true,
"description": "The CVSS vector."
}
}
},
"cwes": {
"type": "array",
"items": {
"type": "object",
"required": [
"cwe_id",
"name"
],
"properties": {
"name": {
"type": "string",
"readOnly": true,
"description": "The name of the CWE."
},
"cwe_id": {
"type": "string",
"description": "The Common Weakness Enumeration (CWE) identifier."
}
}
},
"nullable": true,
"readOnly": true
},
"state": {
"enum": [
"published",
"closed",
"withdrawn",
"draft",
"triage"
],
"type": "string",
"description": "The state of the advisory."
},
"author": {
"allOf": [
{
"$ref": "#/components/schemas/simple-user"
}
],
"nullable": true,
"readOnly": true,
"description": "The author of the advisory."
},
"cve_id": {
"type": "string",
"nullable": true,
"description": "The Common Vulnerabilities and Exposures (CVE) ID."
},
"credits": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"$ref": "#/components/schemas/security-advisory-credit-types"
},
"login": {
"type": "string",
"description": "The username of the user credited."
}
}
},
"nullable": true
},
"cwe_ids": {
"type": "array",
"items": {
"type": "string"
},
"nullable": true,
"description": "A list of only the CWE IDs."
},
"ghsa_id": {
"type": "string",
"readOnly": true,
"description": "The GitHub Security Advisory ID."
},
"summary": {
"type": "string",
"maxLength": 1024,
"description": "A short summary of the advisory."
},
"html_url": {
"type": "string",
"format": "uri",
"readOnly": true,
"description": "The URL for the advisory."
},
"severity": {
"enum": [
"critical",
"high",
"medium",
"low"
],
"type": "string",
"nullable": true,
"description": "The severity of the advisory."
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true,
"readOnly": true,
"description": "The date and time of when the advisory was closed, in ISO 8601 format."
},
"publisher": {
"allOf": [
{
"$ref": "#/components/schemas/simple-user"
}
],
"nullable": true,
"readOnly": true,
"description": "The publisher of the advisory."
},
"created_at": {
"type": "string",
"format": "date-time",
"nullable": true,
"readOnly": true,
"description": "The date and time of when the advisory was created, in ISO 8601 format."
},
"submission": {
"type": "object",
"nullable": true,
"readOnly": true,
"required": [
"accepted"
],
"properties": {
"accepted": {
"type": "boolean",
"readOnly": true,
"description": "Whether a private vulnerability report was accepted by the repository's administrators."
}
}
},
"updated_at": {
"type": "string",
"format": "date-time",
"nullable": true,
"readOnly": true,
"description": "The date and time of when the advisory was last updated, in ISO 8601 format."
},
"description": {
"type": "string",
"nullable": true,
"maxLength": 65535,
"description": "A detailed description of what the advisory entails."
},
"identifiers": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"value"
],
"properties": {
"type": {
"enum": [
"CVE",
"GHSA"
],
"type": "string",
"description": "The type of identifier."
},
"value": {
"type": "string",
"description": "The identifier value."
}
}
},
"readOnly": true
},
"private_fork": {
"allOf": [
{
"$ref": "#/components/schemas/simple-repository"
}
],
"nullable": true,
"readOnly": true,
"description": "A temporary private fork of the advisory's repository for collaborating on a fix."
},
"published_at": {
"type": "string",
"format": "date-time",
"nullable": true,
"readOnly": true,
"description": "The date and time of when the advisory was published, in ISO 8601 format."
},
"withdrawn_at": {
"type": "string",
"format": "date-time",
"nullable": true,
"readOnly": true,
"description": "The date and time of when the advisory was withdrawn, in ISO 8601 format."
},
"cvss_severities": {
"$ref": "#/components/schemas/cvss-severities"
},
"vulnerabilities": {
"type": "array",
"items": {
"$ref": "#/components/schemas/repository-advisory-vulnerability"
},
"nullable": true
},
"credits_detailed": {
"type": "array",
"items": {
"$ref": "#/components/schemas/repository-advisory-credit"
},
"nullable": true,
"readOnly": true
},
"collaborating_teams": {
"type": "array",
"items": {
"$ref": "#/components/schemas/team"
},
"nullable": true,
"description": "A list of teams that collaborate on the advisory."
},
"collaborating_users": {
"type": "array",
"items": {
"$ref": "#/components/schemas/simple-user"
},
"nullable": true,
"description": "A list of users that collaborate on the advisory."
}
},
"description": "A repository security advisory.",
"additionalProperties": false,
"x-github-breaking-changes": [
{
"patch": {
"required": [
"ghsa_id",
"cve_id",
"url",
"html_url",
"summary",
"description",
"severity",
"author",
"publisher",
"identifiers",
"state",
"created_at",
"updated_at",
"published_at",
"closed_at",
"withdrawn_at",
"submission",
"vulnerabilities",
"cwes",
"cwe_ids",
"credits",
"credits_detailed",
"collaborating_users",
"collaborating_teams",
"private_fork"
],
"properties": {
"cvss": null
}
},
"version": "2026-03-10",
"changeset": "deprecate_cvss"
}
]
}
repository-advisory-create
{
"type": "object",
"required": [
"summary",
"description",
"vulnerabilities"
],
"properties": {
"cve_id": {
"type": "string",
"nullable": true,
"description": "The Common Vulnerabilities and Exposures (CVE) ID."
},
"credits": {
"type": "array",
"items": {
"type": "object",
"required": [
"login",
"type"
],
"properties": {
"type": {
"$ref": "#/components/schemas/security-advisory-credit-types"
},
"login": {
"type": "string",
"description": "The username of the user credited."
}
},
"additionalProperties": false
},
"nullable": true,
"description": "A list of users receiving credit for their participation in the security advisory."
},
"cwe_ids": {
"type": "array",
"items": {
"type": "string"
},
"nullable": true,
"description": "A list of Common Weakness Enumeration (CWE) IDs."
},
"summary": {
"type": "string",
"maxLength": 1024,
"description": "A short summary of the advisory."
},
"severity": {
"enum": [
"critical",
"high",
"medium",
"low"
],
"type": "string",
"nullable": true,
"description": "The severity of the advisory. You must choose between setting this field or `cvss_vector_string`."
},
"description": {
"type": "string",
"maxLength": 65535,
"description": "A detailed description of what the advisory impacts."
},
"vulnerabilities": {
"type": "array",
"items": {
"type": "object",
"required": [
"package"
],
"properties": {
"package": {
"type": "object",
"required": [
"ecosystem"
],
"properties": {
"name": {
"type": "string",
"nullable": true,
"description": "The unique package name within its ecosystem."
},
"ecosystem": {
"$ref": "#/components/schemas/security-advisory-ecosystems"
}
},
"description": "The name of the package affected by the vulnerability."
},
"patched_versions": {
"type": "string",
"nullable": true,
"description": "The package version(s) that resolve the vulnerability."
},
"vulnerable_functions": {
"type": "array",
"items": {
"type": "string"
},
"nullable": true,
"description": "The functions in the package that are affected."
},
"vulnerable_version_range": {
"type": "string",
"nullable": true,
"description": "The range of the package versions affected by the vulnerability."
}
},
"additionalProperties": false
},
"description": "A product affected by the vulnerability detailed in a repository security advisory."
},
"cvss_vector_string": {
"type": "string",
"nullable": true,
"description": "The CVSS vector that calculates the severity of the advisory. You must choose between setting this field or `severity`."
},
"start_private_fork": {
"type": "boolean",
"default": false,
"description": "Whether to create a temporary private fork of the repository to collaborate on a fix."
}
},
"additionalProperties": false
}
repository-advisory-credit
{
"type": "object",
"required": [
"user",
"type",
"state"
],
"properties": {
"type": {
"$ref": "#/components/schemas/security-advisory-credit-types"
},
"user": {
"$ref": "#/components/schemas/simple-user"
},
"state": {
"enum": [
"accepted",
"declined",
"pending"
],
"type": "string",
"description": "The state of the user's acceptance of the credit."
}
},
"description": "A credit given to a user for a repository security advisory.",
"additionalProperties": false
}
repository-advisory-update
{
"type": "object",
"properties": {
"state": {
"enum": [
"published",
"closed",
"draft"
],
"type": "string",
"description": "The state of the advisory."
},
"cve_id": {
"type": "string",
"nullable": true,
"description": "The Common Vulnerabilities and Exposures (CVE) ID."
},
"credits": {
"type": "array",
"items": {
"type": "object",
"required": [
"login",
"type"
],
"properties": {
"type": {
"$ref": "#/components/schemas/security-advisory-credit-types"
},
"login": {
"type": "string",
"description": "The username of the user credited."
}
},
"additionalProperties": false
},
"nullable": true,
"description": "A list of users receiving credit for their participation in the security advisory."
},
"cwe_ids": {
"type": "array",
"items": {
"type": "string"
},
"nullable": true,
"description": "A list of Common Weakness Enumeration (CWE) IDs."
},
"summary": {
"type": "string",
"maxLength": 1024,
"description": "A short summary of the advisory."
},
"severity": {
"enum": [
"critical",
"high",
"medium",
"low"
],
"type": "string",
"nullable": true,
"description": "The severity of the advisory. You must choose between setting this field or `cvss_vector_string`."
},
"description": {
"type": "string",
"maxLength": 65535,
"description": "A detailed description of what the advisory impacts."
},
"vulnerabilities": {
"type": "array",
"items": {
"type": "object",
"required": [
"package"
],
"properties": {
"package": {
"type": "object",
"required": [
"ecosystem"
],
"properties": {
"name": {
"type": "string",
"nullable": true,
"description": "The unique package name within its ecosystem."
},
"ecosystem": {
"$ref": "#/components/schemas/security-advisory-ecosystems"
}
},
"description": "The name of the package affected by the vulnerability."
},
"patched_versions": {
"type": "string",
"nullable": true,
"description": "The package version(s) that resolve the vulnerability."
},
"vulnerable_functions": {
"type": "array",
"items": {
"type": "string"
},
"nullable": true,
"description": "The functions in the package that are affected."
},
"vulnerable_version_range": {
"type": "string",
"nullable": true,
"description": "The range of the package versions affected by the vulnerability."
}
},
"additionalProperties": false
},
"description": "A product affected by the vulnerability detailed in a repository security advisory."
},
"cvss_vector_string": {
"type": "string",
"nullable": true,
"description": "The CVSS vector that calculates the severity of the advisory. You must choose between setting this field or `severity`."
},
"collaborating_teams": {
"type": "array",
"items": {
"type": "string"
},
"nullable": true,
"description": "A list of team slugs which have been granted write access to the advisory."
},
"collaborating_users": {
"type": "array",
"items": {
"type": "string"
},
"nullable": true,
"description": "A list of usernames who have been granted write access to the advisory."
}
},
"additionalProperties": false
}
repository-advisory-vulnerability
{
"type": "object",
"required": [
"package",
"vulnerable_version_range",
"patched_versions",
"vulnerable_functions"
],
"properties": {
"package": {
"type": "object",
"nullable": true,
"required": [
"ecosystem",
"name"
],
"properties": {
"name": {
"type": "string",
"nullable": true,
"description": "The unique package name within its ecosystem."
},
"ecosystem": {
"$ref": "#/components/schemas/security-advisory-ecosystems"
}
},
"description": "The name of the package affected by the vulnerability."
},
"patched_versions": {
"type": "string",
"nullable": true,
"description": "The package version(s) that resolve the vulnerability."
},
"vulnerable_functions": {
"type": "array",
"items": {
"type": "string"
},
"nullable": true,
"description": "The functions in the package that are affected."
},
"vulnerable_version_range": {
"type": "string",
"nullable": true,
"description": "The range of the package versions affected by the vulnerability."
}
},
"description": "A product affected by the vulnerability detailed in a repository security advisory.",
"additionalProperties": false
}
repository-collaborator-permission
{
"type": "object",
"title": "Repository Collaborator Permission",
"required": [
"permission",
"role_name",
"user"
],
"properties": {
"user": {
"$ref": "#/components/schemas/nullable-collaborator"
},
"role_name": {
"type": "string",
"example": "admin"
},
"permission": {
"type": "string"
}
},
"description": "Repository Collaborator Permission"
}
repository-invitation
{
"type": "object",
"title": "Repository Invitation",
"required": [
"id",
"node_id",
"permissions",
"inviter",
"invitee",
"repository",
"url",
"html_url",
"created_at"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"description": "Unique identifier of the repository invitation."
},
"url": {
"type": "string",
"example": "https://api.github.com/user/repository-invitations/1",
"description": "URL for the repository invitation"
},
"expired": {
"type": "boolean",
"description": "Whether or not the invitation has expired"
},
"invitee": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"inviter": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"example": "https://github.com/octocat/Hello-World/invitations"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2016-06-13T14:52:50-05:00"
},
"repository": {
"$ref": "#/components/schemas/minimal-repository"
},
"permissions": {
"enum": [
"read",
"write",
"admin",
"triage",
"maintain"
],
"type": "string",
"example": "read",
"description": "The permission associated with the invitation."
}
},
"description": "Repository invitations let you manage who you collaborate with."
}
repository-rule
{
"type": "object",
"oneOf": [
{
"$ref": "#/components/schemas/repository-rule-creation"
},
{
"$ref": "#/components/schemas/repository-rule-update"
},
{
"$ref": "#/components/schemas/repository-rule-deletion"
},
{
"$ref": "#/components/schemas/repository-rule-required-linear-history"
},
{
"$ref": "#/components/schemas/repository-rule-merge-queue"
},
{
"$ref": "#/components/schemas/repository-rule-required-deployments"
},
{
"$ref": "#/components/schemas/repository-rule-required-signatures"
},
{
"$ref": "#/components/schemas/repository-rule-pull-request"
},
{
"$ref": "#/components/schemas/repository-rule-required-status-checks"
},
{
"$ref": "#/components/schemas/repository-rule-non-fast-forward"
},
{
"$ref": "#/components/schemas/repository-rule-commit-message-pattern"
},
{
"$ref": "#/components/schemas/repository-rule-commit-author-email-pattern"
},
{
"$ref": "#/components/schemas/repository-rule-committer-email-pattern"
},
{
"$ref": "#/components/schemas/repository-rule-branch-name-pattern"
},
{
"$ref": "#/components/schemas/repository-rule-tag-name-pattern"
},
{
"$ref": "#/components/schemas/repository-rule-file-path-restriction"
},
{
"$ref": "#/components/schemas/repository-rule-max-file-path-length"
},
{
"$ref": "#/components/schemas/repository-rule-file-extension-restriction"
},
{
"$ref": "#/components/schemas/repository-rule-max-file-size"
},
{
"$ref": "#/components/schemas/repository-rule-workflows"
},
{
"$ref": "#/components/schemas/repository-rule-code-scanning"
},
{
"$ref": "#/components/schemas/repository-rule-copilot-code-review"
}
],
"title": "Repository Rule",
"description": "A repository rule."
}
repository-rule-branch-name-pattern
{
"type": "object",
"title": "branch_name_pattern",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"branch_name_pattern"
],
"type": "string"
},
"parameters": {
"type": "object",
"required": [
"operator",
"pattern"
],
"properties": {
"name": {
"type": "string",
"description": "How this rule appears when configuring it."
},
"negate": {
"type": "boolean",
"description": "If true, the rule will fail if the pattern matches."
},
"pattern": {
"type": "string",
"description": "The pattern to match with."
},
"operator": {
"enum": [
"starts_with",
"ends_with",
"contains",
"regex"
],
"type": "string",
"description": "The operator to use for matching."
}
}
}
},
"description": "Parameters to be used for the branch_name_pattern rule"
}
repository-rule-code-scanning
{
"type": "object",
"title": "code_scanning",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"code_scanning"
],
"type": "string"
},
"parameters": {
"type": "object",
"required": [
"code_scanning_tools"
],
"properties": {
"code_scanning_tools": {
"type": "array",
"items": {
"$ref": "#/components/schemas/repository-rule-params-code-scanning-tool"
},
"description": "Tools that must provide code scanning results for this rule to pass."
}
}
}
},
"description": "Choose which tools must provide code scanning results before the reference is updated. When configured, code scanning must be enabled and have results for both the commit and the reference being updated."
}
repository-rule-commit-author-email-pattern
{
"type": "object",
"title": "commit_author_email_pattern",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"commit_author_email_pattern"
],
"type": "string"
},
"parameters": {
"type": "object",
"required": [
"operator",
"pattern"
],
"properties": {
"name": {
"type": "string",
"description": "How this rule appears when configuring it."
},
"negate": {
"type": "boolean",
"description": "If true, the rule will fail if the pattern matches."
},
"pattern": {
"type": "string",
"description": "The pattern to match with."
},
"operator": {
"enum": [
"starts_with",
"ends_with",
"contains",
"regex"
],
"type": "string",
"description": "The operator to use for matching."
}
}
}
},
"description": "Parameters to be used for the commit_author_email_pattern rule"
}
repository-rule-commit-message-pattern
{
"type": "object",
"title": "commit_message_pattern",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"commit_message_pattern"
],
"type": "string"
},
"parameters": {
"type": "object",
"required": [
"operator",
"pattern"
],
"properties": {
"name": {
"type": "string",
"description": "How this rule appears when configuring it."
},
"negate": {
"type": "boolean",
"description": "If true, the rule will fail if the pattern matches."
},
"pattern": {
"type": "string",
"description": "The pattern to match with."
},
"operator": {
"enum": [
"starts_with",
"ends_with",
"contains",
"regex"
],
"type": "string",
"description": "The operator to use for matching."
}
}
}
},
"description": "Parameters to be used for the commit_message_pattern rule"
}
repository-rule-committer-email-pattern
{
"type": "object",
"title": "committer_email_pattern",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"committer_email_pattern"
],
"type": "string"
},
"parameters": {
"type": "object",
"required": [
"operator",
"pattern"
],
"properties": {
"name": {
"type": "string",
"description": "How this rule appears when configuring it."
},
"negate": {
"type": "boolean",
"description": "If true, the rule will fail if the pattern matches."
},
"pattern": {
"type": "string",
"description": "The pattern to match with."
},
"operator": {
"enum": [
"starts_with",
"ends_with",
"contains",
"regex"
],
"type": "string",
"description": "The operator to use for matching."
}
}
}
},
"description": "Parameters to be used for the committer_email_pattern rule"
}
repository-rule-copilot-code-review
{
"type": "object",
"title": "copilot_code_review",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"copilot_code_review"
],
"type": "string"
},
"parameters": {
"type": "object",
"properties": {
"review_on_push": {
"type": "boolean",
"description": "Copilot automatically reviews each new push to the pull request."
},
"review_draft_pull_requests": {
"type": "boolean",
"description": "Copilot automatically reviews draft pull requests before they are marked as ready for review."
}
}
}
},
"description": "Request Copilot code review for new pull requests automatically if the author has access to Copilot code review and their premium requests quota has not reached the limit."
}
repository-rule-creation
{
"type": "object",
"title": "creation",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"creation"
],
"type": "string"
}
},
"description": "Only allow users with bypass permission to create matching refs."
}
repository-rule-deletion
{
"type": "object",
"title": "deletion",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"deletion"
],
"type": "string"
}
},
"description": "Only allow users with bypass permissions to delete matching refs."
}
repository-rule-detailed
{
"type": "object",
"oneOf": [
{
"allOf": [
{
"$ref": "#/components/schemas/repository-rule-creation"
},
{
"$ref": "#/components/schemas/repository-rule-ruleset-info"
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/repository-rule-update"
},
{
"$ref": "#/components/schemas/repository-rule-ruleset-info"
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/repository-rule-deletion"
},
{
"$ref": "#/components/schemas/repository-rule-ruleset-info"
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/repository-rule-required-linear-history"
},
{
"$ref": "#/components/schemas/repository-rule-ruleset-info"
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/repository-rule-merge-queue"
},
{
"$ref": "#/components/schemas/repository-rule-ruleset-info"
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/repository-rule-required-deployments"
},
{
"$ref": "#/components/schemas/repository-rule-ruleset-info"
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/repository-rule-required-signatures"
},
{
"$ref": "#/components/schemas/repository-rule-ruleset-info"
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/repository-rule-pull-request"
},
{
"$ref": "#/components/schemas/repository-rule-ruleset-info"
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/repository-rule-required-status-checks"
},
{
"$ref": "#/components/schemas/repository-rule-ruleset-info"
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/repository-rule-non-fast-forward"
},
{
"$ref": "#/components/schemas/repository-rule-ruleset-info"
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/repository-rule-commit-message-pattern"
},
{
"$ref": "#/components/schemas/repository-rule-ruleset-info"
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/repository-rule-commit-author-email-pattern"
},
{
"$ref": "#/components/schemas/repository-rule-ruleset-info"
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/repository-rule-committer-email-pattern"
},
{
"$ref": "#/components/schemas/repository-rule-ruleset-info"
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/repository-rule-branch-name-pattern"
},
{
"$ref": "#/components/schemas/repository-rule-ruleset-info"
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/repository-rule-tag-name-pattern"
},
{
"$ref": "#/components/schemas/repository-rule-ruleset-info"
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/repository-rule-file-path-restriction"
},
{
"$ref": "#/components/schemas/repository-rule-ruleset-info"
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/repository-rule-max-file-path-length"
},
{
"$ref": "#/components/schemas/repository-rule-ruleset-info"
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/repository-rule-file-extension-restriction"
},
{
"$ref": "#/components/schemas/repository-rule-ruleset-info"
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/repository-rule-max-file-size"
},
{
"$ref": "#/components/schemas/repository-rule-ruleset-info"
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/repository-rule-workflows"
},
{
"$ref": "#/components/schemas/repository-rule-ruleset-info"
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/repository-rule-code-scanning"
},
{
"$ref": "#/components/schemas/repository-rule-ruleset-info"
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/repository-rule-copilot-code-review"
},
{
"$ref": "#/components/schemas/repository-rule-ruleset-info"
}
]
}
],
"title": "Repository Rule",
"description": "A repository rule with ruleset details."
}
repository-rule-enforcement
{
"enum": [
"disabled",
"active",
"evaluate"
],
"type": "string",
"description": "The enforcement level of the ruleset. `evaluate` allows admins to test rules before enforcing them. Admins can view insights on the Rule Insights page (`evaluate` is only available with GitHub Enterprise)."
}
repository-rule-file-extension-restriction
{
"type": "object",
"title": "file_extension_restriction",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"file_extension_restriction"
],
"type": "string"
},
"parameters": {
"type": "object",
"required": [
"restricted_file_extensions"
],
"properties": {
"restricted_file_extensions": {
"type": "array",
"items": {
"type": "string"
},
"description": "The file extensions that are restricted from being pushed to the commit graph."
}
}
}
},
"description": "Prevent commits that include files with specified file extensions from being pushed to the commit graph."
}
repository-rule-file-path-restriction
{
"type": "object",
"title": "file_path_restriction",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"file_path_restriction"
],
"type": "string"
},
"parameters": {
"type": "object",
"required": [
"restricted_file_paths"
],
"properties": {
"restricted_file_paths": {
"type": "array",
"items": {
"type": "string"
},
"description": "The file paths that are restricted from being pushed to the commit graph."
}
}
}
},
"description": "Prevent commits that include changes in specified file and folder paths from being pushed to the commit graph. This includes absolute paths that contain file names."
}
repository-rule-max-file-path-length
{
"type": "object",
"title": "max_file_path_length",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"max_file_path_length"
],
"type": "string"
},
"parameters": {
"type": "object",
"required": [
"max_file_path_length"
],
"properties": {
"max_file_path_length": {
"type": "integer",
"maximum": 32767,
"minimum": 1,
"description": "The maximum amount of characters allowed in file paths."
}
}
}
},
"description": "Prevent commits that include file paths that exceed the specified character limit from being pushed to the commit graph."
}
repository-rule-max-file-size
{
"type": "object",
"title": "max_file_size",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"max_file_size"
],
"type": "string"
},
"parameters": {
"type": "object",
"required": [
"max_file_size"
],
"properties": {
"max_file_size": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "The maximum file size allowed in megabytes. This limit does not apply to Git Large File Storage (Git LFS)."
}
}
}
},
"description": "Prevent commits with individual files that exceed the specified limit from being pushed to the commit graph."
}
repository-rule-merge-queue
{
"type": "object",
"title": "merge_queue",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"merge_queue"
],
"type": "string"
},
"parameters": {
"type": "object",
"required": [
"check_response_timeout_minutes",
"grouping_strategy",
"max_entries_to_build",
"max_entries_to_merge",
"merge_method",
"min_entries_to_merge",
"min_entries_to_merge_wait_minutes"
],
"properties": {
"merge_method": {
"enum": [
"MERGE",
"SQUASH",
"REBASE"
],
"type": "string",
"description": "Method to use when merging changes from queued pull requests."
},
"grouping_strategy": {
"enum": [
"ALLGREEN",
"HEADGREEN"
],
"type": "string",
"description": "When set to ALLGREEN, the merge commit created by merge queue for each PR in the group must pass all required checks to merge. When set to HEADGREEN, only the commit at the head of the merge group, i.e. the commit containing changes from all of the PRs in the group, must pass its required checks to merge."
},
"max_entries_to_build": {
"type": "integer",
"maximum": 100,
"minimum": 0,
"description": "Limit the number of queued pull requests requesting checks and workflow runs at the same time."
},
"max_entries_to_merge": {
"type": "integer",
"maximum": 100,
"minimum": 0,
"description": "The maximum number of PRs that will be merged together in a group."
},
"min_entries_to_merge": {
"type": "integer",
"maximum": 100,
"minimum": 0,
"description": "The minimum number of PRs that will be merged together in a group."
},
"check_response_timeout_minutes": {
"type": "integer",
"maximum": 360,
"minimum": 1,
"description": "Maximum time for a required status check to report a conclusion. After this much time has elapsed, checks that have not reported a conclusion will be assumed to have failed"
},
"min_entries_to_merge_wait_minutes": {
"type": "integer",
"maximum": 360,
"minimum": 0,
"description": "The time merge queue should wait after the first PR is added to the queue for the minimum group size to be met. After this time has elapsed, the minimum group size will be ignored and a smaller group will be merged."
}
}
}
},
"description": "Merges must be performed via a merge queue."
}
repository-rule-non-fast-forward
{
"type": "object",
"title": "non_fast_forward",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"non_fast_forward"
],
"type": "string"
}
},
"description": "Prevent users with push access from force pushing to refs."
}
repository-rule-params-code-scanning-tool
{
"type": "object",
"title": "CodeScanningTool",
"required": [
"alerts_threshold",
"security_alerts_threshold",
"tool"
],
"properties": {
"tool": {
"type": "string",
"description": "The name of a code scanning tool"
},
"alerts_threshold": {
"enum": [
"none",
"errors",
"errors_and_warnings",
"all"
],
"type": "string",
"description": "The severity level at which code scanning results that raise alerts block a reference update. For more information on alert severity levels, see \"[About code scanning alerts](https://docs.github.com/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts#about-alert-severity-and-security-severity-levels).\""
},
"security_alerts_threshold": {
"enum": [
"none",
"critical",
"high_or_higher",
"medium_or_higher",
"all"
],
"type": "string",
"description": "The severity level at which code scanning results that raise security alerts block a reference update. For more information on security severity levels, see \"[About code scanning alerts](https://docs.github.com/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts#about-alert-severity-and-security-severity-levels).\""
}
},
"description": "A tool that must provide code scanning results for this rule to pass."
}
repository-rule-params-required-reviewer-configuration
{
"type": "object",
"title": "RequiredReviewerConfiguration",
"required": [
"file_patterns",
"minimum_approvals",
"reviewer"
],
"properties": {
"reviewer": {
"$ref": "#/components/schemas/repository-rule-params-reviewer"
},
"file_patterns": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of file patterns. Pull requests which change matching files must be approved by the specified team. File patterns use fnmatch syntax."
},
"minimum_approvals": {
"type": "integer",
"description": "Minimum number of approvals required from the specified team. If set to zero, the team will be added to the pull request but approval is optional."
}
},
"description": "A reviewing team, and file patterns describing which files they must approve changes to."
}
repository-rule-params-restricted-commits
{
"type": "object",
"title": "RestrictedCommits",
"required": [
"oid"
],
"properties": {
"oid": {
"type": "string",
"description": "Full or abbreviated commit hash to reject"
},
"reason": {
"type": "string",
"description": "Reason for restriction"
}
},
"description": "Restricted commit"
}
repository-rule-params-reviewer
{
"type": "object",
"title": "Reviewer",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"description": "ID of the reviewer which must review changes to matching files."
},
"type": {
"enum": [
"Team"
],
"type": "string",
"description": "The type of the reviewer"
}
},
"description": "A required reviewing team"
}
repository-rule-params-status-check-configuration
{
"type": "object",
"title": "StatusCheckConfiguration",
"required": [
"context"
],
"properties": {
"context": {
"type": "string",
"description": "The status check context name that must be present on the commit."
},
"integration_id": {
"type": "integer",
"description": "The optional integration ID that this status check must originate from."
}
},
"description": "Required status check"
}
repository-rule-params-workflow-file-reference
{
"type": "object",
"title": "WorkflowFileReference",
"required": [
"path",
"repository_id"
],
"properties": {
"ref": {
"type": "string",
"description": "The ref (branch or tag) of the workflow file to use"
},
"sha": {
"type": "string",
"description": "The commit SHA of the workflow file to use"
},
"path": {
"type": "string",
"description": "The path to the workflow file"
},
"repository_id": {
"type": "integer",
"description": "The ID of the repository where the workflow is defined"
}
},
"description": "A workflow that must run for this rule to pass"
}
repository-rule-pull-request
{
"type": "object",
"title": "pull_request",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"pull_request"
],
"type": "string"
},
"parameters": {
"type": "object",
"required": [
"dismiss_stale_reviews_on_push",
"require_code_owner_review",
"require_last_push_approval",
"required_approving_review_count",
"required_review_thread_resolution"
],
"properties": {
"required_reviewers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/repository-rule-params-required-reviewer-configuration"
},
"description": "> [!NOTE]\n> `required_reviewers` is in beta and subject to change.\n\nA collection of reviewers and associated file patterns. Each reviewer has a list of file patterns which determine the files that reviewer is required to review."
},
"allowed_merge_methods": {
"type": "array",
"items": {
"enum": [
"merge",
"squash",
"rebase"
],
"type": "string"
},
"description": "Array of allowed merge methods. Allowed values include `merge`, `squash`, and `rebase`. At least one option must be enabled."
},
"require_code_owner_review": {
"type": "boolean",
"description": "Require an approving review in pull requests that modify files that have a designated code owner."
},
"require_last_push_approval": {
"type": "boolean",
"description": "Whether the most recent reviewable push must be approved by someone other than the person who pushed it."
},
"dismiss_stale_reviews_on_push": {
"type": "boolean",
"description": "New, reviewable commits pushed will dismiss previous pull request review approvals."
},
"required_approving_review_count": {
"type": "integer",
"maximum": 10,
"minimum": 0,
"description": "The number of approving reviews that are required before a pull request can be merged."
},
"required_review_thread_resolution": {
"type": "boolean",
"description": "All conversations on code must be resolved before a pull request can be merged."
}
}
}
},
"description": "Require all commits be made to a non-target branch and submitted via a pull request before they can be merged."
}
repository-rule-required-deployments
{
"type": "object",
"title": "required_deployments",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"required_deployments"
],
"type": "string"
},
"parameters": {
"type": "object",
"required": [
"required_deployment_environments"
],
"properties": {
"required_deployment_environments": {
"type": "array",
"items": {
"type": "string"
},
"description": "The environments that must be successfully deployed to before branches can be merged."
}
}
}
},
"description": "Choose which environments must be successfully deployed to before refs can be pushed into a ref that matches this rule."
}
repository-rule-required-linear-history
{
"type": "object",
"title": "required_linear_history",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"required_linear_history"
],
"type": "string"
}
},
"description": "Prevent merge commits from being pushed to matching refs."
}
repository-rule-required-signatures
{
"type": "object",
"title": "required_signatures",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"required_signatures"
],
"type": "string"
}
},
"description": "Commits pushed to matching refs must have verified signatures."
}
repository-rule-required-status-checks
{
"type": "object",
"title": "required_status_checks",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"required_status_checks"
],
"type": "string"
},
"parameters": {
"type": "object",
"required": [
"required_status_checks",
"strict_required_status_checks_policy"
],
"properties": {
"required_status_checks": {
"type": "array",
"items": {
"$ref": "#/components/schemas/repository-rule-params-status-check-configuration"
},
"description": "Status checks that are required."
},
"do_not_enforce_on_create": {
"type": "boolean",
"description": "Allow repositories and branches to be created if a check would otherwise prohibit it."
},
"strict_required_status_checks_policy": {
"type": "boolean",
"description": "Whether pull requests targeting a matching branch must be tested with the latest code. This setting will not take effect unless at least one status check is enabled."
}
}
}
},
"description": "Choose which status checks must pass before the ref is updated. When enabled, commits must first be pushed to another ref where the checks pass."
}
repository-rule-ruleset-info
{
"title": "repository ruleset data for rule",
"properties": {
"ruleset_id": {
"type": "integer",
"description": "The ID of the ruleset that includes this rule."
},
"ruleset_source": {
"type": "string",
"description": "The name of the source of the ruleset that includes this rule."
},
"ruleset_source_type": {
"enum": [
"Repository",
"Organization"
],
"type": "string",
"description": "The type of source for the ruleset that includes this rule."
}
},
"description": "User-defined metadata to store domain-specific information limited to 8 keys with scalar values."
}
repository-rule-tag-name-pattern
{
"type": "object",
"title": "tag_name_pattern",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"tag_name_pattern"
],
"type": "string"
},
"parameters": {
"type": "object",
"required": [
"operator",
"pattern"
],
"properties": {
"name": {
"type": "string",
"description": "How this rule appears when configuring it."
},
"negate": {
"type": "boolean",
"description": "If true, the rule will fail if the pattern matches."
},
"pattern": {
"type": "string",
"description": "The pattern to match with."
},
"operator": {
"enum": [
"starts_with",
"ends_with",
"contains",
"regex"
],
"type": "string",
"description": "The operator to use for matching."
}
}
}
},
"description": "Parameters to be used for the tag_name_pattern rule"
}
repository-rule-update
{
"type": "object",
"title": "update",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"update"
],
"type": "string"
},
"parameters": {
"type": "object",
"required": [
"update_allows_fetch_and_merge"
],
"properties": {
"update_allows_fetch_and_merge": {
"type": "boolean",
"description": "Branch can pull changes from its upstream repository"
}
}
}
},
"description": "Only allow users with bypass permission to update matching refs."
}
repository-rule-violation-error
{
"type": "object",
"properties": {
"status": {
"type": "string"
},
"message": {
"type": "string"
},
"metadata": {
"type": "object",
"properties": {
"secret_scanning": {
"type": "object",
"properties": {
"bypass_placeholders": {
"type": "array",
"items": {
"type": "object",
"properties": {
"token_type": {
"type": "string"
},
"placeholder_id": {
"$ref": "#/components/schemas/secret-scanning-push-protection-bypass-placeholder-id"
}
}
}
}
}
}
}
},
"documentation_url": {
"type": "string"
}
},
"description": "Repository rule violation was detected"
}
repository-rule-workflows
{
"type": "object",
"title": "workflows",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"workflows"
],
"type": "string"
},
"parameters": {
"type": "object",
"required": [
"workflows"
],
"properties": {
"workflows": {
"type": "array",
"items": {
"$ref": "#/components/schemas/repository-rule-params-workflow-file-reference"
},
"description": "Workflows that must pass for this rule to pass."
},
"do_not_enforce_on_create": {
"type": "boolean",
"description": "Allow repositories and branches to be created if a check would otherwise prohibit it."
}
}
}
},
"description": "Require all changes made to a targeted branch to pass the specified workflows before they can be merged."
}
repository-ruleset
{
"type": "object",
"title": "Repository ruleset",
"required": [
"id",
"name",
"source",
"enforcement"
],
"properties": {
"id": {
"type": "integer",
"description": "The ID of the ruleset"
},
"name": {
"type": "string",
"description": "The name of the ruleset"
},
"rules": {
"type": "array",
"items": {
"$ref": "#/components/schemas/repository-rule"
}
},
"_links": {
"type": "object",
"properties": {
"html": {
"type": "object",
"nullable": true,
"properties": {
"href": {
"type": "string",
"description": "The html URL of the ruleset"
}
}
},
"self": {
"type": "object",
"properties": {
"href": {
"type": "string",
"description": "The URL of the ruleset"
}
}
}
}
},
"source": {
"type": "string",
"description": "The name of the source"
},
"target": {
"enum": [
"branch",
"tag",
"push",
"repository"
],
"type": "string",
"description": "The target of the ruleset"
},
"node_id": {
"type": "string"
},
"conditions": {
"anyOf": [
{
"$ref": "#/components/schemas/repository-ruleset-conditions"
},
{
"$ref": "#/components/schemas/org-ruleset-conditions"
}
],
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"enforcement": {
"$ref": "#/components/schemas/repository-rule-enforcement"
},
"source_type": {
"enum": [
"Repository",
"Organization",
"Enterprise"
],
"type": "string",
"description": "The type of the source of the ruleset"
},
"bypass_actors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/repository-ruleset-bypass-actor"
},
"description": "The actors that can bypass the rules in this ruleset"
},
"current_user_can_bypass": {
"enum": [
"always",
"pull_requests_only",
"never",
"exempt"
],
"type": "string",
"description": "The bypass type of the user making the API request for this ruleset. This field is only returned when\nquerying the repository-level endpoint."
}
},
"description": "A set of rules to apply when specified conditions are met."
}
repository-ruleset-bypass-actor
{
"type": "object",
"title": "Repository Ruleset Bypass Actor",
"required": [
"actor_type"
],
"properties": {
"actor_id": {
"type": "integer",
"nullable": true,
"description": "The ID of the actor that can bypass a ruleset. Required for `Integration`, `RepositoryRole`, and `Team` actor types. If `actor_type` is `OrganizationAdmin`, `actor_id` is ignored. If `actor_type` is `DeployKey`, this should be null. `OrganizationAdmin` is not applicable for personal repositories."
},
"actor_type": {
"enum": [
"Integration",
"OrganizationAdmin",
"RepositoryRole",
"Team",
"DeployKey"
],
"type": "string",
"description": "The type of actor that can bypass a ruleset."
},
"bypass_mode": {
"enum": [
"always",
"pull_request",
"exempt"
],
"type": "string",
"default": "always",
"description": "When the specified actor can bypass the ruleset. `pull_request` means that an actor can only bypass rules on pull requests. `pull_request` is not applicable for the `DeployKey` actor type. Also, `pull_request` is only applicable to branch rulesets. When `bypass_mode` is `exempt`, rules will not be run for that actor and a bypass audit entry will not be created."
}
},
"description": "An actor that can bypass rules in a ruleset"
}
repository-ruleset-conditions
{
"type": "object",
"title": "Repository ruleset conditions for ref names",
"properties": {
"ref_name": {
"type": "object",
"properties": {
"exclude": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of ref names or patterns to exclude. The condition will not pass if any of these patterns match."
},
"include": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of ref names or patterns to include. One of these patterns must match for the condition to pass. Also accepts `~DEFAULT_BRANCH` to include the default branch or `~ALL` to include all branches."
}
}
}
},
"description": "Parameters for a repository ruleset ref name condition"
}
repository-ruleset-conditions-repository-id-target
{
"type": "object",
"title": "Repository ruleset conditions for repository IDs",
"required": [
"repository_id"
],
"properties": {
"repository_id": {
"type": "object",
"properties": {
"repository_ids": {
"type": "array",
"items": {
"type": "integer"
},
"description": "The repository IDs that the ruleset applies to. One of these IDs must match for the condition to pass."
}
}
}
},
"description": "Parameters for a repository ID condition"
}
repository-ruleset-conditions-repository-name-target
{
"type": "object",
"title": "Repository ruleset conditions for repository names",
"required": [
"repository_name"
],
"properties": {
"repository_name": {
"type": "object",
"properties": {
"exclude": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of repository names or patterns to exclude. The condition will not pass if any of these patterns match."
},
"include": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of repository names or patterns to include. One of these patterns must match for the condition to pass. Also accepts `~ALL` to include all repositories."
},
"protected": {
"type": "boolean",
"description": "Whether renaming of target repositories is prevented."
}
}
}
},
"description": "Parameters for a repository name condition"
}
repository-ruleset-conditions-repository-property-spec
{
"type": "object",
"title": "Repository ruleset property targeting definition",
"required": [
"name",
"property_values"
],
"properties": {
"name": {
"type": "string",
"description": "The name of the repository property to target"
},
"source": {
"enum": [
"custom",
"system"
],
"type": "string",
"description": "The source of the repository property. Defaults to 'custom' if not specified."
},
"property_values": {
"type": "array",
"items": {
"type": "string"
},
"description": "The values to match for the repository property"
}
},
"description": "Parameters for a targeting a repository property"
}
repository-ruleset-conditions-repository-property-target
{
"type": "object",
"title": "Repository ruleset conditions for repository properties",
"required": [
"repository_property"
],
"properties": {
"repository_property": {
"type": "object",
"properties": {
"exclude": {
"type": "array",
"items": {
"$ref": "#/components/schemas/repository-ruleset-conditions-repository-property-spec"
},
"description": "The repository properties and values to exclude. The condition will not pass if any of these properties match."
},
"include": {
"type": "array",
"items": {
"$ref": "#/components/schemas/repository-ruleset-conditions-repository-property-spec"
},
"description": "The repository properties and values to include. All of these properties must match for the condition to pass."
}
}
}
},
"description": "Parameters for a repository property condition"
}
repository-subscription
{
"type": "object",
"title": "Repository Invitation",
"required": [
"created_at",
"ignored",
"reason",
"subscribed",
"url",
"repository_url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/example/subscription"
},
"reason": {
"type": "string",
"nullable": true
},
"ignored": {
"type": "boolean",
"description": "Determines if all notifications should be blocked from this repository."
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2012-10-06T21:34:12Z"
},
"subscribed": {
"type": "boolean",
"example": true,
"description": "Determines if notifications should be received from this repository."
},
"repository_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/example"
}
},
"description": "Repository invitations let you manage who you collaborate with."
}
repository-webhooks
{
"type": "object",
"title": "Repository",
"required": [
"archive_url",
"assignees_url",
"blobs_url",
"branches_url",
"collaborators_url",
"comments_url",
"commits_url",
"compare_url",
"contents_url",
"contributors_url",
"deployments_url",
"description",
"downloads_url",
"events_url",
"fork",
"forks_url",
"full_name",
"git_commits_url",
"git_refs_url",
"git_tags_url",
"hooks_url",
"html_url",
"id",
"node_id",
"issue_comment_url",
"issue_events_url",
"issues_url",
"keys_url",
"labels_url",
"languages_url",
"merges_url",
"milestones_url",
"name",
"notifications_url",
"owner",
"private",
"pulls_url",
"releases_url",
"stargazers_url",
"statuses_url",
"subscribers_url",
"subscription_url",
"tags_url",
"teams_url",
"trees_url",
"url",
"clone_url",
"default_branch",
"forks",
"forks_count",
"git_url",
"has_downloads",
"has_issues",
"has_projects",
"has_wiki",
"has_pages",
"homepage",
"language",
"archived",
"disabled",
"mirror_url",
"open_issues",
"open_issues_count",
"license",
"pushed_at",
"size",
"ssh_url",
"stargazers_count",
"svn_url",
"watchers",
"watchers_count",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"example": "Team Environment",
"description": "The name of the repository."
},
"size": {
"type": "integer",
"example": 108,
"description": "The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0."
},
"forks": {
"type": "integer"
},
"owner": {
"$ref": "#/components/schemas/simple-user"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"example": "git:github.com/octocat/Hello-World.git"
},
"license": {
"$ref": "#/components/schemas/nullable-license-simple"
},
"node_id": {
"type": "string",
"example": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5"
},
"private": {
"type": "boolean",
"default": false,
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string",
"example": "git@github.com:octocat/Hello-World.git"
},
"svn_url": {
"type": "string",
"format": "uri",
"example": "https://svn.github.com/octocat/Hello-World"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"example": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"format": "uri",
"example": "https://github.com",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/octocat/Hello-World"
},
"keys_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/keys{/key_id}"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/tags"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}"
},
"clone_url": {
"type": "string",
"example": "https://github.com/octocat/Hello-World.git"
},
"forks_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/forks"
},
"full_name": {
"type": "string",
"example": "octocat/Hello-World"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/hooks"
},
"pulls_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/pulls{/number}"
},
"pushed_at": {
"type": "string",
"format": "date-time",
"example": "2011-01-26T19:06:43Z",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/teams"
},
"trees_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/git/trees{/sha}"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2011-01-26T19:01:12Z",
"nullable": true
},
"events_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/events"
},
"has_issues": {
"type": "boolean",
"default": true,
"example": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/issues{/number}"
},
"labels_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/labels{/name}"
},
"merges_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/merges"
},
"mirror_url": {
"type": "string",
"format": "uri",
"example": "git:git.example.com/octocat/Hello-World",
"nullable": true
},
"starred_at": {
"type": "string",
"example": "\"2020-07-09T00:17:42Z\""
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2011-01-26T19:14:43Z",
"nullable": true
},
"visibility": {
"type": "string",
"default": "public",
"description": "The repository visibility: public, private, or internal."
},
"archive_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}"
},
"commits_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/commits{/sha}"
},
"compare_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}"
},
"description": {
"type": "string",
"example": "This your first repo!",
"nullable": true
},
"forks_count": {
"type": "integer",
"example": 9
},
"is_template": {
"type": "boolean",
"default": false,
"example": true,
"description": "Whether this repository acts as a template that can be used to generate new repositories."
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"admin",
"pull",
"push"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/branches{/branch}"
},
"comments_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/comments{/number}"
},
"contents_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/contents/{+path}"
},
"git_refs_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/git/refs{/sha}"
},
"git_tags_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/git/tags{/sha}"
},
"has_projects": {
"type": "boolean",
"default": true,
"example": true,
"description": "Whether projects are enabled."
},
"organization": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"releases_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/releases{/id}"
},
"statuses_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/statuses/{sha}"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow forking this repo"
},
"assignees_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/assignees{/user}"
},
"downloads_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/downloads"
},
"has_downloads": {
"type": "boolean",
"default": true,
"example": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/languages"
},
"master_branch": {
"type": "string"
},
"network_count": {
"type": "integer"
},
"default_branch": {
"type": "string",
"example": "master",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/milestones{/number}"
},
"stargazers_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/stargazers"
},
"watchers_count": {
"type": "integer",
"example": 80
},
"deployments_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/deployments"
},
"git_commits_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/git/commits{/sha}"
},
"has_discussions": {
"type": "boolean",
"default": false,
"example": true,
"description": "Whether discussions are enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/subscribers"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"example": false,
"description": "Whether to allow Auto-merge to be used on pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/contributors"
},
"issue_events_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/issues/events{/number}"
},
"stargazers_count": {
"type": "integer",
"example": 80
},
"subscription_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/subscription"
},
"temp_clone_token": {
"type": "string"
},
"collaborators_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}"
},
"custom_properties": {
"type": "object",
"description": "The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values.",
"additionalProperties": true
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"example": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/issues/comments{/number}"
},
"notifications_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}"
},
"open_issues_count": {
"type": "integer",
"example": 0
},
"subscribers_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"example": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"example": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"example": true,
"description": "Whether to allow squash merges for pull requests."
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
},
"allow_update_branch": {
"type": "boolean",
"default": false,
"example": false,
"description": "Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging."
},
"template_repository": {
"type": "object",
"nullable": true,
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string"
},
"size": {
"type": "integer"
},
"owner": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"type": {
"type": "string"
},
"login": {
"type": "string"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string"
},
"gists_url": {
"type": "string"
},
"repos_url": {
"type": "string"
},
"avatar_url": {
"type": "string"
},
"events_url": {
"type": "string"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string"
},
"followers_url": {
"type": "string"
},
"following_url": {
"type": "string"
},
"organizations_url": {
"type": "string"
},
"subscriptions_url": {
"type": "string"
},
"received_events_url": {
"type": "string"
}
}
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string"
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean"
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string"
},
"archived": {
"type": "boolean"
},
"disabled": {
"type": "boolean"
},
"has_wiki": {
"type": "boolean"
},
"homepage": {
"type": "string"
},
"html_url": {
"type": "string"
},
"keys_url": {
"type": "string"
},
"language": {
"type": "string"
},
"tags_url": {
"type": "string"
},
"blobs_url": {
"type": "string"
},
"clone_url": {
"type": "string"
},
"forks_url": {
"type": "string"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string"
},
"pulls_url": {
"type": "string"
},
"pushed_at": {
"type": "string"
},
"teams_url": {
"type": "string"
},
"trees_url": {
"type": "string"
},
"created_at": {
"type": "string"
},
"events_url": {
"type": "string"
},
"has_issues": {
"type": "boolean"
},
"issues_url": {
"type": "string"
},
"labels_url": {
"type": "string"
},
"merges_url": {
"type": "string"
},
"mirror_url": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"visibility": {
"type": "string"
},
"archive_url": {
"type": "string"
},
"commits_url": {
"type": "string"
},
"compare_url": {
"type": "string"
},
"description": {
"type": "string"
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"permissions": {
"type": "object",
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string"
},
"comments_url": {
"type": "string"
},
"contents_url": {
"type": "string"
},
"git_refs_url": {
"type": "string"
},
"git_tags_url": {
"type": "string"
},
"has_projects": {
"type": "boolean"
},
"releases_url": {
"type": "string"
},
"statuses_url": {
"type": "string"
},
"assignees_url": {
"type": "string"
},
"downloads_url": {
"type": "string"
},
"has_downloads": {
"type": "boolean"
},
"languages_url": {
"type": "string"
},
"network_count": {
"type": "integer"
},
"default_branch": {
"type": "string"
},
"milestones_url": {
"type": "string"
},
"stargazers_url": {
"type": "string"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string"
},
"git_commits_url": {
"type": "string"
},
"subscribers_url": {
"type": "string"
},
"allow_auto_merge": {
"type": "boolean"
},
"contributors_url": {
"type": "string"
},
"issue_events_url": {
"type": "string"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string"
},
"temp_clone_token": {
"type": "string"
},
"collaborators_url": {
"type": "string"
},
"issue_comment_url": {
"type": "string"
},
"notifications_url": {
"type": "string"
},
"open_issues_count": {
"type": "integer"
},
"subscribers_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean"
},
"allow_rebase_merge": {
"type": "boolean"
},
"allow_squash_merge": {
"type": "boolean"
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
},
"allow_update_branch": {
"type": "boolean"
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
},
"delete_branch_on_merge": {
"type": "boolean"
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
},
"use_squash_pr_title_as_default": {
"type": "boolean"
}
}
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"example": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"anonymous_access_enabled": {
"type": "boolean",
"description": "Whether anonymous git access is enabled for this repository"
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
},
"web_commit_signoff_required": {
"type": "boolean",
"default": false,
"description": "Whether to require contributors to sign off on web-based commits"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
},
"use_squash_pr_title_as_default": {
"type": "boolean",
"default": false,
"deprecated": true,
"description": "Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead."
}
},
"description": "The repository on GitHub where the event occurred. Webhook payloads contain the `repository` property\nwhen the event occurs from activity in a repository.",
"x-github-breaking-changes": [
{
"patch": {
"properties": {
"template_repository": {
"properties": {
"use_squash_pr_title_as_default": null
}
},
"use_squash_pr_title_as_default": null
}
},
"version": "2026-03-10",
"changeset": "remove_use_squash_pr_title_as_default"
},
{
"patch": {
"properties": {
"master_branch": null
}
},
"version": "2026-03-10",
"changeset": "deprecate_beta_media_type"
}
]
}
review-comment
{
"type": "object",
"title": "Legacy Review Comment",
"required": [
"id",
"node_id",
"url",
"body",
"diff_hunk",
"path",
"position",
"original_position",
"commit_id",
"original_commit_id",
"user",
"pull_request_review_id",
"html_url",
"pull_request_url",
"_links",
"author_association",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 10
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/pulls/comments/1"
},
"body": {
"type": "string",
"example": "Great stuff"
},
"line": {
"type": "integer",
"example": 2,
"description": "The line of the blob to which the comment applies. The last line of the range for a multi-line comment"
},
"path": {
"type": "string",
"example": "file1.txt"
},
"side": {
"enum": [
"LEFT",
"RIGHT"
],
"type": "string",
"default": "RIGHT",
"description": "The side of the first line of the range for a multi-line comment."
},
"user": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"_links": {
"type": "object",
"required": [
"self",
"html",
"pull_request"
],
"properties": {
"html": {
"$ref": "#/components/schemas/link"
},
"self": {
"$ref": "#/components/schemas/link"
},
"pull_request": {
"$ref": "#/components/schemas/link"
}
}
},
"node_id": {
"type": "string",
"example": "MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDEw"
},
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/octocat/Hello-World/pull/1#discussion-diff-1"
},
"position": {
"type": "integer",
"example": 1,
"nullable": true
},
"body_html": {
"type": "string"
},
"body_text": {
"type": "string"
},
"commit_id": {
"type": "string",
"example": "6dcb09b5b57875f334f61aebed695e2e4193db5e"
},
"diff_hunk": {
"type": "string",
"example": "@@ -16,33 +16,40 @@ public class Connection : IConnection..."
},
"reactions": {
"$ref": "#/components/schemas/reaction-rollup"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2011-04-14T16:00:49Z"
},
"start_line": {
"type": "integer",
"example": 2,
"nullable": true,
"description": "The first line of the range for a multi-line comment."
},
"start_side": {
"enum": [
"LEFT",
"RIGHT"
],
"type": "string",
"default": "RIGHT",
"nullable": true,
"description": "The side of the first line of the range for a multi-line comment."
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2011-04-14T16:00:49Z"
},
"subject_type": {
"enum": [
"line",
"file"
],
"type": "string",
"description": "The level at which the comment is targeted, can be a diff line or a file."
},
"original_line": {
"type": "integer",
"example": 2,
"description": "The original line of the blob to which the comment applies. The last line of the range for a multi-line comment"
},
"in_reply_to_id": {
"type": "integer",
"example": 8
},
"pull_request_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/pulls/1"
},
"original_position": {
"type": "integer",
"example": 4
},
"author_association": {
"$ref": "#/components/schemas/author-association"
},
"original_commit_id": {
"type": "string",
"example": "9c48853fa3dc5c1c3d6f1f1cd1f2743e72652840"
},
"original_start_line": {
"type": "integer",
"example": 2,
"nullable": true,
"description": "The original first line of the range for a multi-line comment."
},
"pull_request_review_id": {
"type": "integer",
"format": "int64",
"example": 42,
"nullable": true
}
},
"description": "Legacy Review Comment"
}
review-custom-gates-comment-required
{
"type": "object",
"required": [
"environment_name",
"comment"
],
"properties": {
"comment": {
"type": "string",
"description": "Comment associated with the pending deployment protection rule. **Required when state is not provided.**"
},
"environment_name": {
"type": "string",
"description": "The name of the environment to approve or reject."
}
}
}
review-custom-gates-state-required
{
"type": "object",
"required": [
"environment_name",
"state"
],
"properties": {
"state": {
"enum": [
"approved",
"rejected"
],
"type": "string",
"description": "Whether to approve or reject deployment to the specified environments."
},
"comment": {
"type": "string",
"description": "Optional comment to include with the review."
},
"environment_name": {
"type": "string",
"description": "The name of the environment to approve or reject."
}
}
}
review-dismissed-issue-event
{
"type": "object",
"title": "Review Dismissed Issue Event",
"required": [
"dismissed_review",
"id",
"node_id",
"url",
"actor",
"event",
"commit_id",
"commit_url",
"created_at",
"performed_via_github_app"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"actor": {
"$ref": "#/components/schemas/simple-user"
},
"event": {
"type": "string"
},
"node_id": {
"type": "string"
},
"commit_id": {
"type": "string",
"nullable": true
},
"commit_url": {
"type": "string",
"nullable": true
},
"created_at": {
"type": "string"
},
"dismissed_review": {
"type": "object",
"required": [
"state",
"review_id",
"dismissal_message"
],
"properties": {
"state": {
"type": "string"
},
"review_id": {
"type": "integer"
},
"dismissal_message": {
"type": "string",
"nullable": true
},
"dismissal_commit_id": {
"type": "string"
}
}
},
"performed_via_github_app": {
"$ref": "#/components/schemas/nullable-integration"
}
},
"description": "Review Dismissed Issue Event"
}
review-request-removed-issue-event
{
"type": "object",
"title": "Review Request Removed Issue Event",
"required": [
"review_requester",
"id",
"node_id",
"url",
"actor",
"event",
"commit_id",
"commit_url",
"created_at",
"performed_via_github_app"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"actor": {
"$ref": "#/components/schemas/simple-user"
},
"event": {
"type": "string"
},
"node_id": {
"type": "string"
},
"commit_id": {
"type": "string",
"nullable": true
},
"commit_url": {
"type": "string",
"nullable": true
},
"created_at": {
"type": "string"
},
"requested_team": {
"$ref": "#/components/schemas/team"
},
"review_requester": {
"$ref": "#/components/schemas/simple-user"
},
"requested_reviewer": {
"$ref": "#/components/schemas/simple-user"
},
"performed_via_github_app": {
"$ref": "#/components/schemas/nullable-integration"
}
},
"description": "Review Request Removed Issue Event"
}
review-requested-issue-event
{
"type": "object",
"title": "Review Requested Issue Event",
"required": [
"review_requester",
"id",
"node_id",
"url",
"actor",
"event",
"commit_id",
"commit_url",
"created_at",
"performed_via_github_app"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"actor": {
"$ref": "#/components/schemas/simple-user"
},
"event": {
"type": "string"
},
"node_id": {
"type": "string"
},
"commit_id": {
"type": "string",
"nullable": true
},
"commit_url": {
"type": "string",
"nullable": true
},
"created_at": {
"type": "string"
},
"requested_team": {
"$ref": "#/components/schemas/team"
},
"review_requester": {
"$ref": "#/components/schemas/simple-user"
},
"requested_reviewer": {
"$ref": "#/components/schemas/simple-user"
},
"performed_via_github_app": {
"$ref": "#/components/schemas/nullable-integration"
}
},
"description": "Review Requested Issue Event"
}
root
{
"type": "object",
"required": [
"current_user_url",
"current_user_authorizations_html_url",
"authorizations_url",
"code_search_url",
"commit_search_url",
"emails_url",
"emojis_url",
"events_url",
"feeds_url",
"followers_url",
"following_url",
"gists_url",
"issue_search_url",
"issues_url",
"keys_url",
"label_search_url",
"notifications_url",
"organization_url",
"organization_repositories_url",
"organization_teams_url",
"public_gists_url",
"rate_limit_url",
"repository_url",
"repository_search_url",
"current_user_repositories_url",
"starred_url",
"starred_gists_url",
"user_url",
"user_organizations_url",
"user_repositories_url",
"user_search_url"
],
"properties": {
"hub_url": {
"type": "string",
"format": "uri-template",
"deprecated": true
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"user_url": {
"type": "string",
"format": "uri-template"
},
"feeds_url": {
"type": "string",
"format": "uri-template"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"emails_url": {
"type": "string",
"format": "uri-template"
},
"emojis_url": {
"type": "string",
"format": "uri-template"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri-template"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"rate_limit_url": {
"type": "string",
"format": "uri-template"
},
"repository_url": {
"type": "string",
"format": "uri-template"
},
"code_search_url": {
"type": "string",
"format": "uri-template"
},
"user_search_url": {
"type": "string",
"format": "uri-template"
},
"current_user_url": {
"type": "string",
"format": "uri-template"
},
"issue_search_url": {
"type": "string",
"format": "uri-template"
},
"label_search_url": {
"type": "string",
"format": "uri-template"
},
"organization_url": {
"type": "string",
"format": "uri-template"
},
"public_gists_url": {
"type": "string",
"format": "uri-template"
},
"topic_search_url": {
"type": "string",
"format": "uri-template"
},
"commit_search_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"starred_gists_url": {
"type": "string",
"format": "uri-template"
},
"authorizations_url": {
"type": "string",
"format": "uri-template"
},
"repository_search_url": {
"type": "string",
"format": "uri-template"
},
"user_repositories_url": {
"type": "string",
"format": "uri-template"
},
"organization_teams_url": {
"type": "string",
"format": "uri-template"
},
"user_organizations_url": {
"type": "string",
"format": "uri-template"
},
"current_user_repositories_url": {
"type": "string",
"format": "uri-template"
},
"organization_repositories_url": {
"type": "string",
"format": "uri-template"
},
"current_user_authorizations_html_url": {
"type": "string",
"format": "uri-template"
}
},
"x-github-breaking-changes": [
{
"patch": [
{
"op": "remove",
"path": "/properties/authorizations_url"
},
{
"op": "remove",
"path": "/required/2"
}
],
"version": "2026-03-10",
"changeset": "remove_authorizations_url_from_api_root"
},
{
"patch": {
"properties": {
"hub_url": null
}
},
"version": "2026-03-10",
"changeset": "remove_hub_url_from_api_root"
}
]
}
rule-suite
{
"type": "object",
"title": "Rule Suite",
"properties": {
"id": {
"type": "integer",
"description": "The unique identifier of the rule insight."
},
"ref": {
"type": "string",
"description": "The ref name that the evaluation ran on."
},
"result": {
"enum": [
"pass",
"fail",
"bypass"
],
"type": "string",
"description": "The result of the rule evaluations for rules with the `active` enforcement status."
},
"actor_id": {
"type": "integer",
"nullable": true,
"description": "The number that identifies the user."
},
"after_sha": {
"type": "string",
"description": "The new commit SHA of the ref."
},
"pushed_at": {
"type": "string",
"format": "date-time",
"example": "2011-01-26T19:06:43Z"
},
"actor_name": {
"type": "string",
"nullable": true,
"description": "The handle for the GitHub user account."
},
"before_sha": {
"type": "string",
"description": "The previous commit SHA of the ref."
},
"repository_id": {
"type": "integer",
"description": "The ID of the repository associated with the rule evaluation."
},
"repository_name": {
"type": "string",
"description": "The name of the repository without the `.git` extension."
},
"rule_evaluations": {
"type": "array",
"items": {
"type": "object",
"properties": {
"result": {
"enum": [
"pass",
"fail"
],
"type": "string",
"description": "The result of the evaluation of the individual rule."
},
"details": {
"type": "string",
"nullable": true,
"description": "The detailed failure message for the rule. Null if the rule passed."
},
"rule_type": {
"type": "string",
"description": "The type of rule."
},
"enforcement": {
"enum": [
"active",
"evaluate",
"deleted ruleset"
],
"type": "string",
"description": "The enforcement level of this rule source."
},
"rule_source": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"nullable": true,
"description": "The ID of the rule source."
},
"name": {
"type": "string",
"nullable": true,
"description": "The name of the rule source."
},
"type": {
"type": "string",
"description": "The type of rule source."
}
}
}
}
},
"description": "Details on the evaluated rules."
},
"evaluation_result": {
"enum": [
"pass",
"fail",
"bypass"
],
"type": "string",
"nullable": true,
"description": "The result of the rule evaluations for rules with the `active` and `evaluate` enforcement statuses, demonstrating whether rules would pass or fail if all rules in the rule suite were `active`. Null if no rules with `evaluate` enforcement status were run."
}
},
"description": "Response"
}
rule-suite-pull-request
{
"type": "object",
"title": "Pull request rule suite metadata",
"properties": {
"pull_request": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "The unique identifier of the pull request."
},
"user": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "The unique identifier of the user."
},
"type": {
"type": "string",
"description": "The type of the user."
},
"login": {
"type": "string",
"description": "The handle for the GitHub user account."
}
},
"description": "The user who created the pull request."
},
"number": {
"type": "integer",
"description": "The number of the pull request."
},
"reviews": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "The unique identifier of the review."
},
"user": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "The unique identifier of the user."
},
"type": {
"type": "string",
"description": "The type of the user."
},
"login": {
"type": "string",
"description": "The handle for the GitHub user account."
}
},
"description": "The user who submitted the review."
},
"state": {
"type": "string",
"description": "The state of the review."
}
}
},
"description": "The reviews associated with the pull request."
}
},
"description": "The pull request associated with the rule evaluation."
}
},
"description": "Metadata for a pull request rule evaluation result."
}
rule-suite-required-status-checks
{
"type": "object",
"title": "Required status checks rule suite metadata",
"properties": {
"checks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "The unique identifier of the status check."
},
"app": {
"type": "object",
"nullable": true,
"properties": {
"id": {
"type": "integer",
"description": "The unique identifier of the GitHub App."
},
"name": {
"type": "string",
"description": "The name of the GitHub App."
},
"slug": {
"type": "string",
"description": "The slug of the GitHub App."
}
},
"description": "The GitHub App associated with the status check."
},
"type": {
"type": "string",
"description": "The type of the status check."
},
"state": {
"type": "string",
"description": "The state of the status check."
},
"context": {
"type": "string",
"description": "The context name of the status check."
}
}
},
"description": "The status checks associated with the rule evaluation."
}
},
"description": "Metadata for a required status checks rule evaluation result."
}
rule-suites
{
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "The unique identifier of the rule insight."
},
"ref": {
"type": "string",
"description": "The ref name that the evaluation ran on."
},
"result": {
"enum": [
"pass",
"fail",
"bypass"
],
"type": "string",
"description": "The result of the rule evaluations for rules with the `active` enforcement status."
},
"actor_id": {
"type": "integer",
"description": "The number that identifies the user."
},
"after_sha": {
"type": "string",
"description": "The last commit sha in the push evaluation."
},
"pushed_at": {
"type": "string",
"format": "date-time",
"example": "2011-01-26T19:06:43Z"
},
"actor_name": {
"type": "string",
"description": "The handle for the GitHub user account."
},
"before_sha": {
"type": "string",
"description": "The first commit sha before the push evaluation."
},
"repository_id": {
"type": "integer",
"description": "The ID of the repository associated with the rule evaluation."
},
"repository_name": {
"type": "string",
"description": "The name of the repository without the `.git` extension."
},
"evaluation_result": {
"enum": [
"pass",
"fail",
"bypass"
],
"type": "string",
"description": "The result of the rule evaluations for rules with the `active` and `evaluate` enforcement statuses, demonstrating whether rules would pass or fail if all rules in the rule suite were `active`."
}
}
},
"title": "Rule Suites",
"description": "Response"
}
ruleset-version
{
"type": "object",
"title": "Ruleset version",
"required": [
"version_id",
"actor",
"updated_at"
],
"properties": {
"actor": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"type": {
"type": "string"
}
},
"description": "The actor who updated the ruleset"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"version_id": {
"type": "integer",
"description": "The ID of the previous version of the ruleset"
}
},
"description": "The historical version of a ruleset"
}
ruleset-version-with-state
{
"allOf": [
{
"$ref": "#/components/schemas/ruleset-version"
},
{
"type": "object",
"required": [
"state"
],
"properties": {
"state": {
"type": "object",
"description": "The state of the ruleset version"
}
}
}
]
}
runner
{
"type": "object",
"title": "Self hosted runners",
"required": [
"id",
"name",
"os",
"status",
"busy",
"labels"
],
"properties": {
"id": {
"type": "integer",
"example": 5,
"description": "The ID of the runner."
},
"os": {
"type": "string",
"example": "macos",
"description": "The Operating System of the runner."
},
"busy": {
"type": "boolean"
},
"name": {
"type": "string",
"example": "iMac",
"description": "The name of the runner."
},
"labels": {
"type": "array",
"items": {
"$ref": "#/components/schemas/runner-label"
}
},
"status": {
"type": "string",
"example": "online",
"description": "The status of the runner."
},
"ephemeral": {
"type": "boolean"
},
"runner_group_id": {
"type": "integer",
"example": 1,
"description": "The ID of the runner group."
}
},
"description": "A self hosted runner"
}
runner-application
{
"type": "object",
"title": "Runner Application",
"required": [
"os",
"architecture",
"download_url",
"filename"
],
"properties": {
"os": {
"type": "string"
},
"filename": {
"type": "string"
},
"architecture": {
"type": "string"
},
"download_url": {
"type": "string"
},
"sha256_checksum": {
"type": "string"
},
"temp_download_token": {
"type": "string",
"description": "A short lived bearer token used to download the runner, if needed."
}
},
"description": "Runner Application"
}
runner-groups-org
{
"type": "object",
"required": [
"id",
"name",
"visibility",
"default",
"runners_url",
"inherited",
"allows_public_repositories"
],
"properties": {
"id": {
"type": "number"
},
"name": {
"type": "string"
},
"default": {
"type": "boolean"
},
"inherited": {
"type": "boolean"
},
"visibility": {
"type": "string"
},
"runners_url": {
"type": "string"
},
"hosted_runners_url": {
"type": "string"
},
"selected_workflows": {
"type": "array",
"items": {
"type": "string",
"example": "octo-org/octo-repo/.github/workflows/deploy.yaml@main",
"description": "Name of workflow the runner group should be allowed to run. Note that a ref, tag, or long SHA is required."
},
"description": "List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`."
},
"restricted_to_workflows": {
"type": "boolean",
"default": false,
"description": "If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array."
},
"network_configuration_id": {
"type": "string",
"description": "The identifier of a hosted compute network configuration."
},
"selected_repositories_url": {
"type": "string",
"description": "Link to the selected repositories resource for this runner group. Not present unless visibility was set to `selected`"
},
"allows_public_repositories": {
"type": "boolean"
},
"workflow_restrictions_read_only": {
"type": "boolean",
"default": false,
"description": "If `true`, the `restricted_to_workflows` and `selected_workflows` fields cannot be modified."
},
"inherited_allows_public_repositories": {
"type": "boolean"
}
}
}
runner-label
{
"type": "object",
"title": "Self hosted runner label",
"required": [
"name"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the label."
},
"name": {
"type": "string",
"description": "Name of the label."
},
"type": {
"enum": [
"read-only",
"custom"
],
"type": "string",
"description": "The type of label. Read-only labels are applied automatically when the runner is configured."
}
},
"description": "A label for a self hosted runner"
}
scim-error
{
"type": "object",
"title": "Scim Error",
"properties": {
"detail": {
"type": "string",
"nullable": true
},
"status": {
"type": "integer"
},
"message": {
"type": "string",
"nullable": true
},
"schemas": {
"type": "array",
"items": {
"type": "string"
}
},
"scimType": {
"type": "string",
"nullable": true
},
"documentation_url": {
"type": "string",
"nullable": true
}
},
"description": "Scim Error"
}
search-result-text-matches
{
"type": "array",
"items": {
"type": "object",
"properties": {
"matches": {
"type": "array",
"items": {
"type": "object",
"properties": {
"text": {
"type": "string"
},
"indices": {
"type": "array",
"items": {
"type": "integer"
}
}
}
}
},
"fragment": {
"type": "string"
},
"property": {
"type": "string"
},
"object_url": {
"type": "string"
},
"object_type": {
"type": "string",
"nullable": true
}
}
},
"title": "Search Result Text Matches"
}
secret-scanning-alert
{
"type": "object",
"properties": {
"url": {
"$ref": "#/components/schemas/alert-url"
},
"state": {
"$ref": "#/components/schemas/secret-scanning-alert-state"
},
"number": {
"$ref": "#/components/schemas/alert-number"
},
"secret": {
"type": "string",
"description": "The secret that was detected."
},
"html_url": {
"$ref": "#/components/schemas/alert-html-url"
},
"provider": {
"type": "string",
"nullable": true,
"description": "The provider of the secret that was detected."
},
"validity": {
"enum": [
"active",
"inactive",
"unknown"
],
"type": "string",
"description": "The token status as of the latest validity check."
},
"created_at": {
"$ref": "#/components/schemas/alert-created-at"
},
"multi_repo": {
"type": "boolean",
"nullable": true,
"description": "Whether the detected secret was found in multiple repositories under the same organization or enterprise."
},
"resolution": {
"$ref": "#/components/schemas/secret-scanning-alert-resolution"
},
"updated_at": {
"$ref": "#/components/schemas/nullable-alert-updated-at"
},
"assigned_to": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"resolved_at": {
"type": "string",
"format": "date-time",
"nullable": true,
"description": "The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`."
},
"resolved_by": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"secret_type": {
"type": "string",
"description": "The type of secret that secret scanning detected."
},
"locations_url": {
"type": "string",
"format": "uri",
"description": "The REST API URL of the code locations for this alert."
},
"provider_slug": {
"type": "string",
"nullable": true,
"description": "The slug identifier for the provider of the secret that was detected. Use this value for filtering by provider with the `providers` or `exclude_providers` parameters."
},
"publicly_leaked": {
"type": "boolean",
"nullable": true,
"description": "Whether the detected secret was publicly leaked."
},
"is_base64_encoded": {
"type": "boolean",
"nullable": true,
"description": "A boolean value representing whether or not alert is base64 encoded"
},
"has_more_locations": {
"type": "boolean",
"description": "A boolean value representing whether or not the token in the alert was detected in more than one location."
},
"resolution_comment": {
"type": "string",
"nullable": true,
"description": "An optional comment to resolve an alert."
},
"closure_request_comment": {
"type": "string",
"nullable": true,
"description": "An optional comment from the closure request author."
},
"first_location_detected": {
"$ref": "#/components/schemas/nullable-secret-scanning-first-detected-location"
},
"closure_request_reviewer": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"push_protection_bypassed": {
"type": "boolean",
"nullable": true,
"description": "Whether push protection was bypassed for the detected secret."
},
"secret_type_display_name": {
"type": "string",
"description": "User-friendly name for the detected secret, matching the `secret_type`.\nFor a list of built-in patterns, see \"[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets).\""
},
"push_protection_bypassed_at": {
"type": "string",
"format": "date-time",
"nullable": true,
"description": "The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`."
},
"push_protection_bypassed_by": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"closure_request_reviewer_comment": {
"type": "string",
"nullable": true,
"description": "An optional comment from the closure request reviewer."
},
"push_protection_bypass_request_comment": {
"type": "string",
"nullable": true,
"description": "An optional comment when requesting a push protection bypass."
},
"push_protection_bypass_request_html_url": {
"type": "string",
"format": "uri",
"nullable": true,
"description": "The URL to a push protection bypass request."
},
"push_protection_bypass_request_reviewer": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"push_protection_bypass_request_reviewer_comment": {
"type": "string",
"nullable": true,
"description": "An optional comment when reviewing a push protection bypass."
}
}
}
secret-scanning-alert-assignee
{
"type": "string",
"nullable": true,
"description": "The username of the user to assign to the alert. Set to `null` to unassign the alert."
}
secret-scanning-alert-resolution
{
"enum": [
"false_positive",
"wont_fix",
"revoked",
"used_in_tests"
],
"type": "string",
"nullable": true,
"description": "**Required when the `state` is `resolved`.** The reason for resolving the alert."
}
secret-scanning-alert-resolution-comment
{
"type": "string",
"nullable": true,
"description": "An optional comment when closing or reopening an alert. Cannot be updated or deleted."
}
secret-scanning-alert-resolution-webhook
{
"enum": [
"false_positive",
"wont_fix",
"revoked",
"used_in_tests",
"pattern_deleted",
"pattern_edited"
],
"type": "string",
"nullable": true,
"description": "The reason for resolving the alert."
}
secret-scanning-alert-state
{
"enum": [
"open",
"resolved"
],
"type": "string",
"description": "Sets the state of the secret scanning alert. You must provide `resolution` when you set the state to `resolved`."
}
secret-scanning-alert-webhook
{
"type": "object",
"properties": {
"url": {
"$ref": "#/components/schemas/alert-url"
},
"number": {
"$ref": "#/components/schemas/alert-number"
},
"html_url": {
"$ref": "#/components/schemas/alert-html-url"
},
"provider": {
"type": "string",
"nullable": true,
"description": "The provider of the secret that was detected."
},
"validity": {
"enum": [
"active",
"inactive",
"unknown"
],
"type": "string",
"description": "The token status as of the latest validity check."
},
"created_at": {
"$ref": "#/components/schemas/alert-created-at"
},
"multi_repo": {
"type": "boolean",
"nullable": true,
"description": "Whether the detected secret was found in multiple repositories in the same organization or business."
},
"resolution": {
"$ref": "#/components/schemas/secret-scanning-alert-resolution-webhook"
},
"updated_at": {
"$ref": "#/components/schemas/nullable-alert-updated-at"
},
"assigned_to": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"resolved_at": {
"type": "string",
"format": "date-time",
"nullable": true,
"description": "The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`."
},
"resolved_by": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"secret_type": {
"type": "string",
"description": "The type of secret that secret scanning detected."
},
"locations_url": {
"type": "string",
"format": "uri",
"description": "The REST API URL of the code locations for this alert."
},
"provider_slug": {
"type": "string",
"nullable": true,
"description": "The slug identifier for the provider of the secret that was detected."
},
"publicly_leaked": {
"type": "boolean",
"nullable": true,
"description": "Whether the detected secret was publicly leaked."
},
"resolution_comment": {
"type": "string",
"nullable": true,
"description": "An optional comment to resolve an alert."
},
"closure_request_comment": {
"type": "string",
"nullable": true,
"description": "An optional comment from the closure request author."
},
"closure_request_reviewer": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"push_protection_bypassed": {
"type": "boolean",
"nullable": true,
"description": "Whether push protection was bypassed for the detected secret."
},
"secret_type_display_name": {
"type": "string",
"description": "User-friendly name for the detected secret, matching the `secret_type`.\nFor a list of built-in patterns, see \"[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets).\""
},
"push_protection_bypassed_at": {
"type": "string",
"format": "date-time",
"nullable": true,
"description": "The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`."
},
"push_protection_bypassed_by": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"closure_request_reviewer_comment": {
"type": "string",
"nullable": true,
"description": "An optional comment from the closure request reviewer."
},
"push_protection_bypass_request_comment": {
"type": "string",
"nullable": true,
"description": "An optional comment when requesting a push protection bypass."
},
"push_protection_bypass_request_html_url": {
"type": "string",
"format": "uri",
"nullable": true,
"description": "The URL to a push protection bypass request."
},
"push_protection_bypass_request_reviewer": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"push_protection_bypass_request_reviewer_comment": {
"type": "string",
"nullable": true,
"description": "An optional comment when reviewing a push protection bypass."
}
}
}
secret-scanning-location
{
"type": "object",
"properties": {
"type": {
"enum": [
"commit",
"wiki_commit",
"issue_title",
"issue_body",
"issue_comment",
"discussion_title",
"discussion_body",
"discussion_comment",
"pull_request_title",
"pull_request_body",
"pull_request_comment",
"pull_request_review",
"pull_request_review_comment"
],
"type": "string",
"example": "commit",
"description": "The location type. Because secrets may be found in different types of resources (ie. code, comments, issues, pull requests, discussions), this field identifies the type of resource where the secret was found."
},
"details": {
"oneOf": [
{
"$ref": "#/components/schemas/secret-scanning-location-commit"
},
{
"$ref": "#/components/schemas/secret-scanning-location-wiki-commit"
},
{
"$ref": "#/components/schemas/secret-scanning-location-issue-title"
},
{
"$ref": "#/components/schemas/secret-scanning-location-issue-body"
},
{
"$ref": "#/components/schemas/secret-scanning-location-issue-comment"
},
{
"$ref": "#/components/schemas/secret-scanning-location-discussion-title"
},
{
"$ref": "#/components/schemas/secret-scanning-location-discussion-body"
},
{
"$ref": "#/components/schemas/secret-scanning-location-discussion-comment"
},
{
"$ref": "#/components/schemas/secret-scanning-location-pull-request-title"
},
{
"$ref": "#/components/schemas/secret-scanning-location-pull-request-body"
},
{
"$ref": "#/components/schemas/secret-scanning-location-pull-request-comment"
},
{
"$ref": "#/components/schemas/secret-scanning-location-pull-request-review"
},
{
"$ref": "#/components/schemas/secret-scanning-location-pull-request-review-comment"
}
]
}
}
}
secret-scanning-location-commit
{
"type": "object",
"required": [
"path",
"start_line",
"end_line",
"start_column",
"end_column",
"blob_sha",
"blob_url",
"commit_sha",
"commit_url"
],
"properties": {
"path": {
"type": "string",
"example": "/example/secrets.txt",
"description": "The file path in the repository"
},
"blob_sha": {
"type": "string",
"example": "af5626b4a114abcb82d63db7c8082c3c4756e51b",
"description": "SHA-1 hash ID of the associated blob"
},
"blob_url": {
"type": "string",
"description": "The API URL to get the associated blob resource"
},
"end_line": {
"type": "number",
"description": "Line number at which the secret ends in the file"
},
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/octocat/Hello-World/blob/af5626b/example/secrets.txt#L1-L1",
"description": "The GitHub URL to get the associated commit resource."
},
"commit_sha": {
"type": "string",
"example": "af5626b4a114abcb82d63db7c8082c3c4756e51b",
"description": "SHA-1 hash ID of the associated commit"
},
"commit_url": {
"type": "string",
"description": "The API URL to get the associated commit resource"
},
"end_column": {
"type": "number",
"description": "The column at which the secret ends within the end line when the file is interpreted as 8BIT ASCII"
},
"start_line": {
"type": "number",
"description": "Line number at which the secret starts in the file"
},
"start_column": {
"type": "number",
"description": "The column at which the secret starts within the start line when the file is interpreted as 8BIT ASCII"
}
},
"description": "Represents a 'commit' secret scanning location type. This location type shows that a secret was detected inside a commit to a repository."
}
secret-scanning-location-discussion-body
{
"type": "object",
"required": [
"discussion_body_url"
],
"properties": {
"discussion_body_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/community/community/discussions/39082#discussion-4566270",
"description": "The URL to the discussion where the secret was detected."
}
},
"description": "Represents a 'discussion_body' secret scanning location type. This location type shows that a secret was detected in the body of a discussion."
}
secret-scanning-location-discussion-comment
{
"type": "object",
"required": [
"discussion_comment_url"
],
"properties": {
"discussion_comment_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/community/community/discussions/39082#discussioncomment-4158232",
"description": "The API URL to get the discussion comment where the secret was detected."
}
},
"description": "Represents a 'discussion_comment' secret scanning location type. This location type shows that a secret was detected in a comment on a discussion."
}
secret-scanning-location-discussion-title
{
"type": "object",
"required": [
"discussion_title_url"
],
"properties": {
"discussion_title_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/community/community/discussions/39082",
"description": "The URL to the discussion where the secret was detected."
}
},
"description": "Represents a 'discussion_title' secret scanning location type. This location type shows that a secret was detected in the title of a discussion."
}
secret-scanning-location-issue-body
{
"type": "object",
"required": [
"issue_body_url"
],
"properties": {
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/octocat/Hello-World/issues/1",
"description": "The GitHub URL for the issue where the secret was detected."
},
"issue_body_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/issues/1347",
"description": "The API URL to get the issue where the secret was detected."
}
},
"description": "Represents an 'issue_body' secret scanning location type. This location type shows that a secret was detected in the body of an issue."
}
secret-scanning-location-issue-comment
{
"type": "object",
"required": [
"issue_comment_url"
],
"properties": {
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/octocat/Hello-World/issues/1#issuecomment-1081119451",
"description": "The GitHub URL for the issue comment where the secret was detected."
},
"issue_comment_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/issues/comments/1081119451",
"description": "The API URL to get the issue comment where the secret was detected."
}
},
"description": "Represents an 'issue_comment' secret scanning location type. This location type shows that a secret was detected in a comment on an issue."
}
secret-scanning-location-issue-title
{
"type": "object",
"required": [
"issue_title_url"
],
"properties": {
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/octocat/Hello-World/issues/1",
"description": "The GitHub URL for the issue where the secret was detected."
},
"issue_title_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/issues/1347",
"description": "The API URL to get the issue where the secret was detected."
}
},
"description": "Represents an 'issue_title' secret scanning location type. This location type shows that a secret was detected in the title of an issue."
}
secret-scanning-location-pull-request-body
{
"type": "object",
"required": [
"pull_request_body_url"
],
"properties": {
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/octocat/Hello-World/pull/2846",
"description": "The GitHub URL for the pull request where the secret was detected."
},
"pull_request_body_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/pulls/2846",
"description": "The API URL to get the pull request where the secret was detected."
}
},
"description": "Represents a 'pull_request_body' secret scanning location type. This location type shows that a secret was detected in the body of a pull request."
}
secret-scanning-location-pull-request-comment
{
"type": "object",
"required": [
"pull_request_comment_url"
],
"properties": {
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/octocat/Hello-World/pull/2846#issuecomment-1081119451",
"description": "The GitHub URL for the pull request comment where the secret was detected."
},
"pull_request_comment_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/issues/comments/1081119451",
"description": "The API URL to get the pull request comment where the secret was detected."
}
},
"description": "Represents a 'pull_request_comment' secret scanning location type. This location type shows that a secret was detected in a comment on a pull request."
}
secret-scanning-location-pull-request-review
{
"type": "object",
"required": [
"pull_request_review_url"
],
"properties": {
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/octocat/Hello-World/pull/2846#pullrequestreview-80",
"description": "The GitHub URL for the pull request review where the secret was detected."
},
"pull_request_review_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/pulls/2846/reviews/80",
"description": "The API URL to get the pull request review where the secret was detected."
}
},
"description": "Represents a 'pull_request_review' secret scanning location type. This location type shows that a secret was detected in a review on a pull request."
}
secret-scanning-location-pull-request-review-comment
{
"type": "object",
"required": [
"pull_request_review_comment_url"
],
"properties": {
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/octocat/Hello-World/pull/2846#discussion_r12",
"description": "The GitHub URL for the pull request review comment where the secret was detected."
},
"pull_request_review_comment_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/pulls/comments/12",
"description": "The API URL to get the pull request review comment where the secret was detected."
}
},
"description": "Represents a 'pull_request_review_comment' secret scanning location type. This location type shows that a secret was detected in a review comment on a pull request."
}
secret-scanning-location-pull-request-title
{
"type": "object",
"required": [
"pull_request_title_url"
],
"properties": {
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/octocat/Hello-World/pull/2846",
"description": "The GitHub URL for the pull request where the secret was detected."
},
"pull_request_title_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/pulls/2846",
"description": "The API URL to get the pull request where the secret was detected."
}
},
"description": "Represents a 'pull_request_title' secret scanning location type. This location type shows that a secret was detected in the title of a pull request."
}
secret-scanning-location-wiki-commit
{
"type": "object",
"required": [
"path",
"start_line",
"end_line",
"start_column",
"end_column",
"blob_sha",
"page_url",
"commit_sha",
"commit_url"
],
"properties": {
"path": {
"type": "string",
"example": "/example/Home.md",
"description": "The file path of the wiki page"
},
"blob_sha": {
"type": "string",
"example": "af5626b4a114abcb82d63db7c8082c3c4756e51b",
"description": "SHA-1 hash ID of the associated blob"
},
"end_line": {
"type": "number",
"description": "Line number at which the secret ends in the file"
},
"page_url": {
"type": "string",
"example": "https://github.com/octocat/Hello-World/wiki/Home/302c0b7e200761c9dd9b57e57db540ee0b4293a5",
"description": "The GitHub URL to get the associated wiki page"
},
"commit_sha": {
"type": "string",
"example": "302c0b7e200761c9dd9b57e57db540ee0b4293a5",
"description": "SHA-1 hash ID of the associated commit"
},
"commit_url": {
"type": "string",
"example": "https://github.com/octocat/Hello-World/wiki/_compare/302c0b7e200761c9dd9b57e57db540ee0b4293a5",
"description": "The GitHub URL to get the associated wiki commit"
},
"end_column": {
"type": "number",
"description": "The column at which the secret ends within the end line when the file is interpreted as 8-bit ASCII."
},
"start_line": {
"type": "number",
"description": "Line number at which the secret starts in the file"
},
"start_column": {
"type": "number",
"description": "The column at which the secret starts within the start line when the file is interpreted as 8-bit ASCII."
}
},
"description": "Represents a 'wiki_commit' secret scanning location type. This location type shows that a secret was detected inside a commit to a repository wiki."
}
secret-scanning-pattern-configuration
{
"type": "object",
"title": "Secret scanning pattern configuration",
"properties": {
"pattern_config_version": {
"$ref": "#/components/schemas/secret-scanning-row-version"
},
"custom_pattern_overrides": {
"type": "array",
"items": {
"$ref": "#/components/schemas/secret-scanning-pattern-override"
},
"description": "Overrides for custom patterns defined by the organization."
},
"provider_pattern_overrides": {
"type": "array",
"items": {
"$ref": "#/components/schemas/secret-scanning-pattern-override"
},
"description": "Overrides for partner patterns."
}
},
"description": "A collection of secret scanning patterns and their settings related to push protection."
}
secret-scanning-pattern-override
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "The slug of the pattern."
},
"setting": {
"enum": [
"not-set",
"disabled",
"enabled"
],
"type": "string",
"description": "The current push protection setting for this pattern. If this is `not-set`, then it inherits either the enterprise setting if it exists or the default setting."
},
"token_type": {
"type": "string",
"description": "The ID of the pattern."
},
"alert_total": {
"type": "integer",
"description": "The total number of alerts generated by this pattern."
},
"bypass_rate": {
"type": "integer",
"description": "The percentage of blocks for this pattern that were bypassed, rounded to the nearest integer."
},
"display_name": {
"type": "string",
"description": "The user-friendly name for the pattern."
},
"default_setting": {
"enum": [
"disabled",
"enabled"
],
"type": "string",
"description": "The default push protection setting for this pattern."
},
"false_positives": {
"type": "integer",
"description": "The number of false positive alerts generated by this pattern."
},
"enterprise_setting": {
"enum": [
"not-set",
"disabled",
"enabled"
],
"type": "string",
"nullable": true,
"description": "The push protection setting for this pattern set at the enterprise level. Only present for partner patterns when the organization has a parent enterprise."
},
"false_positive_rate": {
"type": "integer",
"description": "The percentage of alerts from this pattern that are false positives, rounded to the nearest integer."
},
"alert_total_percentage": {
"type": "integer",
"description": "The percentage of all alerts that this pattern represents, rounded to the nearest integer."
},
"custom_pattern_version": {
"type": "string",
"nullable": true,
"description": "The version of this pattern if it's a custom pattern."
}
}
}
secret-scanning-push-protection-bypass
{
"type": "object",
"properties": {
"reason": {
"$ref": "#/components/schemas/secret-scanning-push-protection-bypass-reason"
},
"expire_at": {
"type": "string",
"format": "date-time",
"nullable": true,
"description": "The time that the bypass will expire in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`."
},
"token_type": {
"type": "string",
"description": "The token type this bypass is for."
}
}
}
secret-scanning-push-protection-bypass-placeholder-id
{
"type": "string",
"description": "The ID of the push protection bypass placeholder. This value is returned on any push protected routes."
}
secret-scanning-push-protection-bypass-reason
{
"enum": [
"false_positive",
"used_in_tests",
"will_fix_later"
],
"type": "string",
"description": "The reason for bypassing push protection."
}
secret-scanning-row-version
{
"type": "string",
"nullable": true,
"description": "The version of the entity. This is used to confirm you're updating the current version of the entity and mitigate unintentionally overriding someone else's update."
}
secret-scanning-scan
{
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "The type of scan"
},
"status": {
"type": "string",
"description": "The state of the scan. Either \"completed\", \"running\", or \"pending\""
},
"started_at": {
"type": "string",
"format": "date-time",
"nullable": true,
"description": "The time that the scan was started. Empty if the scan is pending"
},
"completed_at": {
"type": "string",
"format": "date-time",
"nullable": true,
"description": "The time that the scan was completed. Empty if the scan is running"
}
},
"description": "Information on a single scan performed by secret scanning on the repository"
}
secret-scanning-scan-history
{
"type": "object",
"properties": {
"backfill_scans": {
"type": "array",
"items": {
"$ref": "#/components/schemas/secret-scanning-scan"
}
},
"incremental_scans": {
"type": "array",
"items": {
"$ref": "#/components/schemas/secret-scanning-scan"
}
},
"pattern_update_scans": {
"type": "array",
"items": {
"$ref": "#/components/schemas/secret-scanning-scan"
}
},
"custom_pattern_backfill_scans": {
"type": "array",
"items": {
"allOf": [
{
"$ref": "#/components/schemas/secret-scanning-scan"
},
{
"type": "object",
"properties": {
"pattern_name": {
"type": "string",
"description": "Name of the custom pattern for custom pattern scans"
},
"pattern_scope": {
"type": "string",
"description": "Level at which the custom pattern is defined, one of \"repository\", \"organization\", or \"enterprise\""
}
}
}
]
}
},
"generic_secrets_backfill_scans": {
"type": "array",
"items": {
"$ref": "#/components/schemas/secret-scanning-scan"
}
}
}
}
security-advisory-credit-types
{
"enum": [
"analyst",
"finder",
"reporter",
"coordinator",
"remediation_developer",
"remediation_reviewer",
"remediation_verifier",
"tool",
"sponsor",
"other"
],
"type": "string",
"description": "The type of credit the user is receiving."
}
security-advisory-ecosystems
{
"enum": [
"rubygems",
"npm",
"pip",
"maven",
"nuget",
"composer",
"go",
"rust",
"erlang",
"actions",
"pub",
"other",
"swift"
],
"type": "string",
"description": "The package's language or package management ecosystem."
}
security-advisory-epss
{
"type": "object",
"nullable": true,
"readOnly": true,
"properties": {
"percentage": {
"type": "number",
"maximum": 100,
"minimum": 0
},
"percentile": {
"type": "number",
"maximum": 100,
"minimum": 0
}
},
"description": "The EPSS scores as calculated by the [Exploit Prediction Scoring System](https://www.first.org/epss)."
}
security-and-analysis
{
"type": "object",
"nullable": true,
"properties": {
"code_security": {
"type": "object",
"properties": {
"status": {
"enum": [
"enabled",
"disabled"
],
"type": "string"
}
}
},
"secret_scanning": {
"type": "object",
"properties": {
"status": {
"enum": [
"enabled",
"disabled"
],
"type": "string"
}
}
},
"advanced_security": {
"type": "object",
"properties": {
"status": {
"enum": [
"enabled",
"disabled"
],
"type": "string"
}
},
"description": "Enable or disable GitHub Advanced Security for the repository.\n\nFor standalone Code Scanning or Secret Protection products, this parameter cannot be used.\n"
},
"dependabot_security_updates": {
"type": "object",
"properties": {
"status": {
"enum": [
"enabled",
"disabled"
],
"type": "string",
"description": "The enablement status of Dependabot security updates for the repository."
}
},
"description": "Enable or disable Dependabot security updates for the repository."
},
"secret_scanning_ai_detection": {
"type": "object",
"properties": {
"status": {
"enum": [
"enabled",
"disabled"
],
"type": "string"
}
}
},
"secret_scanning_push_protection": {
"type": "object",
"properties": {
"status": {
"enum": [
"enabled",
"disabled"
],
"type": "string"
}
}
},
"secret_scanning_delegated_bypass": {
"type": "object",
"properties": {
"status": {
"enum": [
"enabled",
"disabled"
],
"type": "string"
}
}
},
"secret_scanning_non_provider_patterns": {
"type": "object",
"properties": {
"status": {
"enum": [
"enabled",
"disabled"
],
"type": "string"
}
}
},
"secret_scanning_delegated_bypass_options": {
"type": "object",
"properties": {
"reviewers": {
"type": "array",
"items": {
"type": "object",
"required": [
"reviewer_id",
"reviewer_type"
],
"properties": {
"mode": {
"enum": [
"ALWAYS",
"EXEMPT"
],
"type": "string",
"default": "ALWAYS",
"description": "The bypass mode for the reviewer"
},
"reviewer_id": {
"type": "integer",
"description": "The ID of the team or role selected as a bypass reviewer"
},
"reviewer_type": {
"enum": [
"TEAM",
"ROLE"
],
"type": "string",
"description": "The type of the bypass reviewer"
}
}
},
"description": "The bypass reviewers for secret scanning delegated bypass"
}
}
},
"secret_scanning_delegated_alert_dismissal": {
"type": "object",
"properties": {
"status": {
"enum": [
"enabled",
"disabled"
],
"type": "string"
}
}
}
}
}
selected-actions
{
"type": "object",
"properties": {
"patterns_allowed": {
"type": "array",
"items": {
"type": "string"
},
"description": "Specifies a list of string-matching patterns to allow specific action(s) and reusable workflow(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`.\n\n> [!NOTE]\n> The `patterns_allowed` setting only applies to public repositories."
},
"verified_allowed": {
"type": "boolean",
"description": "Whether actions from GitHub Marketplace verified creators are allowed. Set to `true` to allow all actions by GitHub Marketplace verified creators."
},
"github_owned_allowed": {
"type": "boolean",
"description": "Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization."
}
}
}
selected-actions-url
{
"type": "string",
"description": "The API URL to use to get or set the actions and reusable workflows that are allowed to run, when `allowed_actions` is set to `selected`."
}
self-hosted-runners-settings
{
"type": "object",
"required": [
"enabled_repositories"
],
"properties": {
"enabled_repositories": {
"enum": [
"all",
"selected",
"none"
],
"type": "string",
"description": "The policy that controls whether self-hosted runners can be used by repositories in the organization"
},
"selected_repositories_url": {
"type": "string",
"description": "The URL to the endpoint for managing selected repositories for self-hosted runners in the organization"
}
}
}
sha-pinning-required
{
"type": "boolean",
"description": "Whether actions must be pinned to a full-length commit SHA."
}
short-blob
{
"type": "object",
"title": "Short Blob",
"required": [
"url",
"sha"
],
"properties": {
"sha": {
"type": "string"
},
"url": {
"type": "string"
}
},
"description": "Short Blob"
}
short-branch
{
"type": "object",
"title": "Short Branch",
"required": [
"name",
"commit",
"protected"
],
"properties": {
"name": {
"type": "string"
},
"commit": {
"type": "object",
"required": [
"sha",
"url"
],
"properties": {
"sha": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
}
}
},
"protected": {
"type": "boolean"
},
"protection": {
"$ref": "#/components/schemas/branch-protection"
},
"protection_url": {
"type": "string",
"format": "uri"
}
},
"description": "Short Branch"
}
simple-check-suite
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"example": 5
},
"app": {
"$ref": "#/components/schemas/integration"
},
"url": {
"type": "string",
"example": "https://api.github.com/repos/github/hello-world/check-suites/5"
},
"after": {
"type": "string",
"example": "d6fde92930d4715a2b49857d24b940956b26d2d3",
"nullable": true
},
"before": {
"type": "string",
"example": "146e867f55c26428e5f9fade55a9bbf5e95a7912",
"nullable": true
},
"status": {
"enum": [
"queued",
"in_progress",
"completed",
"pending",
"waiting"
],
"type": "string",
"example": "completed"
},
"node_id": {
"type": "string",
"example": "MDEwOkNoZWNrU3VpdGU1"
},
"head_sha": {
"type": "string",
"example": "009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d",
"description": "The SHA of the head commit that is being checked."
},
"conclusion": {
"enum": [
"success",
"failure",
"neutral",
"cancelled",
"skipped",
"timed_out",
"action_required",
"stale",
"startup_failure"
],
"type": "string",
"example": "neutral",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"repository": {
"$ref": "#/components/schemas/minimal-repository"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"head_branch": {
"type": "string",
"example": "master",
"nullable": true
},
"pull_requests": {
"type": "array",
"items": {
"$ref": "#/components/schemas/pull-request-minimal"
}
}
},
"description": "A suite of checks performed on the code of a given code change"
}
simple-classroom
{
"type": "object",
"title": "Simple Classroom",
"required": [
"id",
"name",
"archived",
"url"
],
"properties": {
"id": {
"type": "integer",
"example": 42,
"description": "Unique identifier of the classroom."
},
"url": {
"type": "string",
"example": "https://classroom.github.com/classrooms/1-programming-elixir",
"description": "The url of the classroom on GitHub Classroom."
},
"name": {
"type": "string",
"example": "Programming Elixir",
"description": "The name of the classroom."
},
"archived": {
"type": "boolean",
"example": false,
"description": "Returns whether classroom is archived or not."
}
},
"description": "A GitHub Classroom classroom"
}
simple-classroom-assignment
{
"type": "object",
"title": "Simple Classroom Assignment",
"required": [
"id",
"public_repo",
"title",
"type",
"invite_link",
"invitations_enabled",
"slug",
"students_are_repo_admins",
"feedback_pull_requests_enabled",
"editor",
"accepted",
"submitted",
"passing",
"language",
"deadline",
"classroom"
],
"properties": {
"id": {
"type": "integer",
"example": 42,
"description": "Unique identifier of the repository."
},
"slug": {
"type": "string",
"example": "intro-to-binaries",
"description": "Sluggified name of the assignment."
},
"type": {
"enum": [
"individual",
"group"
],
"type": "string",
"example": "individual",
"description": "Whether it's a Group Assignment or Individual Assignment."
},
"title": {
"type": "string",
"example": "Intro to Binaries",
"description": "Assignment title."
},
"editor": {
"type": "string",
"example": "codespaces",
"description": "The selected editor for the assignment."
},
"passing": {
"type": "integer",
"example": 10,
"description": "The number of students that have passed the assignment."
},
"accepted": {
"type": "integer",
"example": 25,
"description": "The number of students that have accepted the assignment."
},
"deadline": {
"type": "string",
"format": "date-time",
"example": "2011-01-26T19:06:43Z",
"nullable": true,
"description": "The time at which the assignment is due."
},
"language": {
"type": "string",
"example": "elixir",
"description": "The programming language used in the assignment."
},
"classroom": {
"$ref": "#/components/schemas/simple-classroom"
},
"max_teams": {
"type": "integer",
"example": 0,
"nullable": true,
"description": "The maximum allowable teams for the assignment."
},
"submitted": {
"type": "integer",
"example": 10,
"description": "The number of students that have submitted the assignment."
},
"invite_link": {
"type": "string",
"example": "https://classroom.github.com/a/Lx7jiUgx",
"description": "The link that a student can use to accept the assignment."
},
"max_members": {
"type": "integer",
"example": 0,
"nullable": true,
"description": "The maximum allowable members per team."
},
"public_repo": {
"type": "boolean",
"example": true,
"description": "Whether an accepted assignment creates a public repository."
},
"invitations_enabled": {
"type": "boolean",
"example": true,
"description": "Whether the invitation link is enabled. Visiting an enabled invitation link will accept the assignment."
},
"students_are_repo_admins": {
"type": "boolean",
"example": true,
"description": "Whether students are admins on created repository on accepted assignment."
},
"feedback_pull_requests_enabled": {
"type": "boolean",
"example": true,
"description": "Whether feedback pull request will be created on assignment acceptance."
}
},
"description": "A GitHub Classroom assignment"
}
simple-classroom-organization
{
"type": "object",
"title": "Organization Simple for Classroom",
"required": [
"id",
"login",
"node_id",
"html_url",
"name",
"avatar_url"
],
"properties": {
"id": {
"type": "integer",
"example": 1
},
"name": {
"type": "string",
"example": "Github - Code thigns happen here",
"nullable": true
},
"login": {
"type": "string",
"example": "github"
},
"node_id": {
"type": "string",
"example": "MDEyOk9yZ2FuaXphdGlvbjE="
},
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/github"
},
"avatar_url": {
"type": "string",
"example": "https://github.com/images/error/octocat_happy.gif"
}
},
"description": "A GitHub organization."
}
simple-classroom-repository
{
"type": "object",
"title": "Simple Classroom Repository",
"required": [
"id",
"full_name",
"html_url",
"node_id",
"private",
"default_branch"
],
"properties": {
"id": {
"type": "integer",
"example": 1296269,
"description": "A unique identifier of the repository."
},
"node_id": {
"type": "string",
"example": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5",
"description": "The GraphQL identifier of the repository."
},
"private": {
"type": "boolean",
"description": "Whether the repository is private."
},
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/octocat/Hello-World",
"description": "The URL to view the repository on GitHub.com."
},
"full_name": {
"type": "string",
"example": "octocat/Hello-World",
"description": "The full, globally unique name of the repository."
},
"default_branch": {
"type": "string",
"example": "main",
"description": "The default branch for the repository."
}
},
"description": "A GitHub repository view for Classroom"
}
simple-classroom-user
{
"type": "object",
"title": "Simple Classroom User",
"required": [
"id",
"login",
"avatar_url",
"html_url"
],
"properties": {
"id": {
"type": "integer",
"example": 1
},
"login": {
"type": "string",
"example": "octocat"
},
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/octocat"
},
"avatar_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/images/error/octocat_happy.gif"
}
},
"description": "A GitHub user simplified for Classroom."
}
simple-commit
{
"type": "object",
"title": "Simple Commit",
"required": [
"id",
"tree_id",
"message",
"timestamp",
"author",
"committer"
],
"properties": {
"id": {
"type": "string",
"example": "7638417db6d59f3c431d3e1f261cc637155684cd",
"description": "SHA for the commit"
},
"author": {
"type": "object",
"nullable": true,
"required": [
"name",
"email"
],
"properties": {
"name": {
"type": "string",
"example": "Monalisa Octocat",
"description": "Name of the commit's author"
},
"email": {
"type": "string",
"format": "email",
"example": "monalisa.octocat@example.com",
"description": "Git email address of the commit's author"
}
},
"description": "Information about the Git author"
},
"message": {
"type": "string",
"example": "Fix #42",
"description": "Message describing the purpose of the commit"
},
"tree_id": {
"type": "string",
"description": "SHA for the commit's tree"
},
"committer": {
"type": "object",
"nullable": true,
"required": [
"name",
"email"
],
"properties": {
"name": {
"type": "string",
"example": "Monalisa Octocat",
"description": "Name of the commit's committer"
},
"email": {
"type": "string",
"format": "email",
"example": "monalisa.octocat@example.com",
"description": "Git email address of the commit's committer"
}
},
"description": "Information about the Git committer"
},
"timestamp": {
"type": "string",
"format": "date-time",
"example": "2014-08-09T08:02:04+12:00",
"description": "Timestamp of the commit"
}
},
"description": "A commit."
}
simple-commit-status
{
"type": "object",
"title": "Simple Commit Status",
"required": [
"description",
"id",
"node_id",
"state",
"context",
"target_url",
"avatar_url",
"url",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"state": {
"type": "string"
},
"context": {
"type": "string"
},
"node_id": {
"type": "string"
},
"required": {
"type": "boolean",
"nullable": true
},
"avatar_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"target_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string",
"nullable": true
}
}
}
simple-installation
{
"type": "object",
"title": "Simple Installation",
"required": [
"id",
"node_id"
],
"properties": {
"id": {
"type": "integer",
"example": 1,
"description": "The ID of the installation."
},
"node_id": {
"type": "string",
"example": "MDQ6VXNlcjU4MzIzMQ==",
"description": "The global node ID of the installation."
}
},
"description": "The GitHub App installation. Webhook payloads contain the `installation` property when the event is configured\nfor and sent to a GitHub App. For more information,\nsee \"[Using webhooks with GitHub Apps](https://docs.github.com/apps/creating-github-apps/registering-a-github-app/using-webhooks-with-github-apps).\""
}
simple-repository
{
"type": "object",
"title": "Simple Repository",
"required": [
"archive_url",
"assignees_url",
"blobs_url",
"branches_url",
"collaborators_url",
"comments_url",
"commits_url",
"compare_url",
"contents_url",
"contributors_url",
"deployments_url",
"description",
"downloads_url",
"events_url",
"fork",
"forks_url",
"full_name",
"git_commits_url",
"git_refs_url",
"git_tags_url",
"hooks_url",
"html_url",
"id",
"node_id",
"issue_comment_url",
"issue_events_url",
"issues_url",
"keys_url",
"labels_url",
"languages_url",
"merges_url",
"milestones_url",
"name",
"notifications_url",
"owner",
"private",
"pulls_url",
"releases_url",
"stargazers_url",
"statuses_url",
"subscribers_url",
"subscription_url",
"tags_url",
"teams_url",
"trees_url",
"url"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 1296269,
"description": "A unique identifier of the repository."
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World",
"description": "The URL to get more information about the repository from the GitHub API."
},
"fork": {
"type": "boolean",
"description": "Whether the repository is a fork."
},
"name": {
"type": "string",
"example": "Hello-World",
"description": "The name of the repository."
},
"owner": {
"$ref": "#/components/schemas/simple-user"
},
"node_id": {
"type": "string",
"example": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5",
"description": "The GraphQL identifier of the repository."
},
"private": {
"type": "boolean",
"description": "Whether the repository is private."
},
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/octocat/Hello-World",
"description": "The URL to view the repository on GitHub.com."
},
"keys_url": {
"type": "string",
"example": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}",
"description": "A template for the API URL to get information about deploy keys on the repository."
},
"tags_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/tags",
"description": "The API URL to get information about tags on the repository."
},
"blobs_url": {
"type": "string",
"example": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}",
"description": "A template for the API URL to create or retrieve a raw Git blob in the repository."
},
"forks_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/forks",
"description": "The API URL to list the forks of the repository."
},
"full_name": {
"type": "string",
"example": "octocat/Hello-World",
"description": "The full, globally unique, name of the repository."
},
"hooks_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/hooks",
"description": "The API URL to list the hooks on the repository."
},
"pulls_url": {
"type": "string",
"example": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}",
"description": "A template for the API URL to get information about pull requests on the repository."
},
"teams_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/teams",
"description": "The API URL to list the teams on the repository."
},
"trees_url": {
"type": "string",
"example": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}",
"description": "A template for the API URL to create or retrieve a raw Git tree of the repository."
},
"events_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/events",
"description": "The API URL to list the events of the repository."
},
"issues_url": {
"type": "string",
"example": "https://api.github.com/repos/octocat/Hello-World/issues{/number}",
"description": "A template for the API URL to get information about issues on the repository."
},
"labels_url": {
"type": "string",
"example": "https://api.github.com/repos/octocat/Hello-World/labels{/name}",
"description": "A template for the API URL to get information about labels of the repository."
},
"merges_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/merges",
"description": "The API URL to merge branches in the repository."
},
"archive_url": {
"type": "string",
"example": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}",
"description": "A template for the API URL to download the repository as an archive."
},
"commits_url": {
"type": "string",
"example": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}",
"description": "A template for the API URL to get information about commits on the repository."
},
"compare_url": {
"type": "string",
"example": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}",
"description": "A template for the API URL to compare two commits or refs."
},
"description": {
"type": "string",
"example": "This your first repo!",
"nullable": true,
"description": "The repository description."
},
"branches_url": {
"type": "string",
"example": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}",
"description": "A template for the API URL to get information about branches in the repository."
},
"comments_url": {
"type": "string",
"example": "https://api.github.com/repos/octocat/Hello-World/comments{/number}",
"description": "A template for the API URL to get information about comments on the repository."
},
"contents_url": {
"type": "string",
"example": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}",
"description": "A template for the API URL to get the contents of the repository."
},
"git_refs_url": {
"type": "string",
"example": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}",
"description": "A template for the API URL to get information about Git refs of the repository."
},
"git_tags_url": {
"type": "string",
"example": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}",
"description": "A template for the API URL to get information about Git tags of the repository."
},
"releases_url": {
"type": "string",
"example": "https://api.github.com/repos/octocat/Hello-World/releases{/id}",
"description": "A template for the API URL to get information about releases on the repository."
},
"statuses_url": {
"type": "string",
"example": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}",
"description": "A template for the API URL to get information about statuses of a commit."
},
"assignees_url": {
"type": "string",
"example": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}",
"description": "A template for the API URL to list the available assignees for issues in the repository."
},
"downloads_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/downloads",
"description": "The API URL to list the downloads on the repository."
},
"languages_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/languages",
"description": "The API URL to get information about the languages of the repository."
},
"milestones_url": {
"type": "string",
"example": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}",
"description": "A template for the API URL to get information about milestones of the repository."
},
"stargazers_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/stargazers",
"description": "The API URL to list the stargazers on the repository."
},
"deployments_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/deployments",
"description": "The API URL to list the deployments of the repository."
},
"git_commits_url": {
"type": "string",
"example": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}",
"description": "A template for the API URL to get information about Git commits of the repository."
},
"subscribers_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/subscribers",
"description": "The API URL to list the subscribers on the repository."
},
"contributors_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/contributors",
"description": "A template for the API URL to list the contributors to the repository."
},
"issue_events_url": {
"type": "string",
"example": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}",
"description": "A template for the API URL to get information about issue events on the repository."
},
"subscription_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/subscription",
"description": "The API URL to subscribe to notifications for this repository."
},
"collaborators_url": {
"type": "string",
"example": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}",
"description": "A template for the API URL to get information about collaborators of the repository."
},
"issue_comment_url": {
"type": "string",
"example": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}",
"description": "A template for the API URL to get information about issue comments on the repository."
},
"notifications_url": {
"type": "string",
"example": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}",
"description": "A template for the API URL to get information about notifications on the repository."
}
},
"description": "A GitHub repository."
}
simple-user
{
"type": "object",
"title": "Simple User",
"required": [
"avatar_url",
"events_url",
"followers_url",
"following_url",
"gists_url",
"gravatar_id",
"html_url",
"id",
"node_id",
"login",
"organizations_url",
"received_events_url",
"repos_url",
"site_admin",
"starred_url",
"subscriptions_url",
"type",
"url"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 1
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/users/octocat"
},
"name": {
"type": "string",
"nullable": true
},
"type": {
"type": "string",
"example": "User"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string",
"example": "octocat"
},
"node_id": {
"type": "string",
"example": "MDQ6VXNlcjE="
},
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/octocat"
},
"gists_url": {
"type": "string",
"example": "https://api.github.com/users/octocat/gists{/gist_id}"
},
"repos_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/users/octocat/repos"
},
"avatar_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/images/error/octocat_happy.gif"
},
"events_url": {
"type": "string",
"example": "https://api.github.com/users/octocat/events{/privacy}"
},
"site_admin": {
"type": "boolean"
},
"starred_at": {
"type": "string",
"example": "\"2020-07-09T00:17:55Z\""
},
"gravatar_id": {
"type": "string",
"example": "41d064eb2195891e12d0413f63227ea7",
"nullable": true
},
"starred_url": {
"type": "string",
"example": "https://api.github.com/users/octocat/starred{/owner}{/repo}"
},
"followers_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/users/octocat/followers"
},
"following_url": {
"type": "string",
"example": "https://api.github.com/users/octocat/following{/other_user}"
},
"user_view_type": {
"type": "string",
"example": "public"
},
"organizations_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/users/octocat/orgs"
},
"subscriptions_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/users/octocat/subscriptions"
},
"received_events_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/users/octocat/received_events"
}
},
"description": "A GitHub user."
}
snapshot
{
"type": "object",
"title": "snapshot",
"required": [
"detector",
"version",
"ref",
"sha",
"job",
"scanned"
],
"properties": {
"job": {
"type": "object",
"required": [
"id",
"correlator"
],
"properties": {
"id": {
"type": "string",
"example": "5622a2b0-63f6-4732-8c34-a1ab27e102a11",
"description": "The external ID of the job."
},
"html_url": {
"type": "string",
"example": "http://example.com/build",
"description": "The url for the job."
},
"correlator": {
"type": "string",
"example": "yourworkflowname_yourjobname",
"description": "Correlator provides a key that is used to group snapshots submitted over time. Only the \"latest\" submitted snapshot for a given combination of `job.correlator` and `detector.name` will be considered when calculating a repository's current dependencies. Correlator should be as unique as it takes to distinguish all detection runs for a given \"wave\" of CI workflow you run. If you're using GitHub Actions, a good default value for this could be the environment variables GITHUB_WORKFLOW and GITHUB_JOB concatenated together. If you're using a build matrix, then you'll also need to add additional key(s) to distinguish between each submission inside a matrix variation."
}
},
"additionalProperties": false
},
"ref": {
"type": "string",
"example": "refs/heads/main",
"pattern": "^refs/",
"description": "The repository branch that triggered this snapshot."
},
"sha": {
"type": "string",
"example": "ddc951f4b1293222421f2c8df679786153acf689",
"maxLength": 40,
"minLength": 40,
"description": "The commit SHA associated with this dependency snapshot. Maximum length: 40 characters."
},
"scanned": {
"type": "string",
"format": "date-time",
"example": "2020-06-13T14:52:50-05:00",
"description": "The time at which the snapshot was scanned."
},
"version": {
"type": "integer",
"description": "The version of the repository snapshot submission."
},
"detector": {
"type": "object",
"required": [
"name",
"version",
"url"
],
"properties": {
"url": {
"type": "string",
"example": "http://example.com/docker-buildtimer-detector",
"description": "The url of the detector used."
},
"name": {
"type": "string",
"example": "docker buildtime detector",
"description": "The name of the detector used."
},
"version": {
"type": "string",
"example": "1.0.0",
"description": "The version of the detector used."
}
},
"description": "A description of the detector used.",
"additionalProperties": false
},
"metadata": {
"$ref": "#/components/schemas/metadata"
},
"manifests": {
"type": "object",
"description": "A collection of package manifests, which are a collection of related dependencies declared in a file or representing a logical group of dependencies.",
"additionalProperties": {
"$ref": "#/components/schemas/manifest"
}
}
},
"description": "Create a new snapshot of a repository's dependencies.",
"additionalProperties": false
}
social-account
{
"type": "object",
"title": "Social account",
"required": [
"provider",
"url"
],
"properties": {
"url": {
"type": "string",
"example": "https://www.linkedin.com/company/github/"
},
"provider": {
"type": "string",
"example": "linkedin"
}
},
"description": "Social media account"
}
ssh-signing-key
{
"type": "object",
"title": "SSH Signing Key",
"required": [
"key",
"id",
"title",
"created_at"
],
"properties": {
"id": {
"type": "integer"
},
"key": {
"type": "string"
},
"title": {
"type": "string"
},
"created_at": {
"type": "string",
"format": "date-time"
}
},
"description": "A public SSH key used to sign Git commits"
}
stargazer
{
"type": "object",
"title": "Stargazer",
"required": [
"starred_at",
"user"
],
"properties": {
"user": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"starred_at": {
"type": "string",
"format": "date-time"
}
},
"description": "Stargazer"
}
starred-repository
{
"type": "object",
"title": "Starred Repository",
"required": [
"starred_at",
"repo"
],
"properties": {
"repo": {
"$ref": "#/components/schemas/repository"
},
"starred_at": {
"type": "string",
"format": "date-time"
}
},
"description": "Starred Repository"
}
state-change-issue-event
{
"type": "object",
"title": "State Change Issue Event",
"required": [
"id",
"node_id",
"url",
"actor",
"event",
"commit_id",
"commit_url",
"created_at",
"performed_via_github_app"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"actor": {
"$ref": "#/components/schemas/simple-user"
},
"event": {
"type": "string"
},
"node_id": {
"type": "string"
},
"commit_id": {
"type": "string",
"nullable": true
},
"commit_url": {
"type": "string",
"nullable": true
},
"created_at": {
"type": "string"
},
"state_reason": {
"type": "string",
"nullable": true
},
"performed_via_github_app": {
"$ref": "#/components/schemas/nullable-integration"
}
},
"description": "State Change Issue Event"
}
status
{
"type": "object",
"title": "Status",
"required": [
"url",
"avatar_url",
"id",
"node_id",
"state",
"description",
"target_url",
"context",
"created_at",
"updated_at",
"creator"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"state": {
"type": "string"
},
"context": {
"type": "string"
},
"creator": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"node_id": {
"type": "string"
},
"avatar_url": {
"type": "string",
"nullable": true
},
"created_at": {
"type": "string"
},
"target_url": {
"type": "string",
"nullable": true
},
"updated_at": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
},
"description": "The status of a commit."
}
status-check-policy
{
"type": "object",
"title": "Status Check Policy",
"required": [
"url",
"contexts_url",
"strict",
"contexts",
"checks"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_status_checks"
},
"checks": {
"type": "array",
"items": {
"type": "object",
"required": [
"context",
"app_id"
],
"properties": {
"app_id": {
"type": "integer",
"nullable": true
},
"context": {
"type": "string",
"example": "continuous-integration/travis-ci"
}
}
}
},
"strict": {
"type": "boolean",
"example": true
},
"contexts": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"continuous-integration/travis-ci"
]
},
"contexts_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_status_checks/contexts"
}
},
"description": "Status Check Policy"
}
sub-issues-summary
{
"type": "object",
"title": "Sub-issues Summary",
"required": [
"total",
"completed",
"percent_completed"
],
"properties": {
"total": {
"type": "integer"
},
"completed": {
"type": "integer"
},
"percent_completed": {
"type": "integer"
}
}
}
tag
{
"type": "object",
"title": "Tag",
"required": [
"name",
"node_id",
"commit",
"zipball_url",
"tarball_url"
],
"properties": {
"name": {
"type": "string",
"example": "v0.1"
},
"commit": {
"type": "object",
"required": [
"sha",
"url"
],
"properties": {
"sha": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"tarball_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/octocat/Hello-World/tarball/v0.1"
},
"zipball_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/octocat/Hello-World/zipball/v0.1"
}
},
"description": "Tag"
}
team
{
"type": "object",
"title": "Team",
"required": [
"id",
"node_id",
"url",
"members_url",
"name",
"description",
"permission",
"html_url",
"repositories_url",
"slug",
"parent",
"type"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"slug": {
"type": "string"
},
"type": {
"enum": [
"enterprise",
"organization"
],
"type": "string",
"description": "The ownership type of the team"
},
"parent": {
"$ref": "#/components/schemas/nullable-team-simple"
},
"node_id": {
"type": "string"
},
"privacy": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/orgs/rails/teams/core"
},
"permission": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
},
"members_url": {
"type": "string"
},
"permissions": {
"type": "object",
"required": [
"pull",
"triage",
"push",
"maintain",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"enterprise_id": {
"type": "integer",
"example": 42,
"description": "Unique identifier of the enterprise to which this team belongs"
},
"organization_id": {
"type": "integer",
"example": 37,
"description": "Unique identifier of the organization to which this team belongs"
},
"repositories_url": {
"type": "string",
"format": "uri"
},
"notification_setting": {
"type": "string"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
team-full
{
"type": "object",
"title": "Full Team",
"required": [
"id",
"node_id",
"url",
"members_url",
"name",
"description",
"permission",
"html_url",
"repositories_url",
"slug",
"type",
"created_at",
"updated_at",
"members_count",
"repos_count",
"organization"
],
"properties": {
"id": {
"type": "integer",
"example": 42,
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/organizations/1/team/1",
"description": "URL for the team"
},
"name": {
"type": "string",
"example": "Developers",
"description": "Name of the team"
},
"slug": {
"type": "string",
"example": "justice-league"
},
"type": {
"enum": [
"enterprise",
"organization"
],
"type": "string",
"description": "The ownership type of the team"
},
"parent": {
"$ref": "#/components/schemas/nullable-team-simple"
},
"ldap_dn": {
"$ref": "#/components/schemas/ldap-dn"
},
"node_id": {
"type": "string",
"example": "MDQ6VGVhbTE="
},
"privacy": {
"enum": [
"closed",
"secret"
],
"type": "string",
"example": "closed",
"description": "The level of privacy this team should have"
},
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/orgs/rails/teams/core"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2017-07-14T16:53:42Z"
},
"permission": {
"type": "string",
"example": "push",
"description": "Permission that the team will have for its repositories"
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2017-08-17T12:37:15Z"
},
"description": {
"type": "string",
"example": "A great team.",
"nullable": true
},
"members_url": {
"type": "string",
"example": "https://api.github.com/organizations/1/team/1/members{/member}"
},
"repos_count": {
"type": "integer",
"example": 10
},
"organization": {
"$ref": "#/components/schemas/team-organization"
},
"enterprise_id": {
"type": "integer",
"example": 42,
"description": "Unique identifier of the enterprise to which this team belongs"
},
"members_count": {
"type": "integer",
"example": 3
},
"organization_id": {
"type": "integer",
"example": 37,
"description": "Unique identifier of the organization to which this team belongs"
},
"repositories_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/organizations/1/team/1/repos"
},
"notification_setting": {
"enum": [
"notifications_enabled",
"notifications_disabled"
],
"type": "string",
"example": "notifications_enabled",
"description": "The notification setting the team has set"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
team-membership
{
"type": "object",
"title": "Team Membership",
"required": [
"role",
"state",
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"role": {
"enum": [
"member",
"maintainer"
],
"type": "string",
"default": "member",
"example": "member",
"description": "The role of the user in the team."
},
"state": {
"enum": [
"active",
"pending"
],
"type": "string",
"description": "The state of the user's membership in the team."
}
},
"description": "Team Membership"
}
team-organization
{
"type": "object",
"title": "Team Organization",
"required": [
"login",
"url",
"id",
"node_id",
"repos_url",
"events_url",
"hooks_url",
"issues_url",
"members_url",
"public_members_url",
"avatar_url",
"description",
"html_url",
"has_organization_projects",
"has_repository_projects",
"public_repos",
"public_gists",
"followers",
"following",
"type",
"created_at",
"updated_at",
"archived_at"
],
"properties": {
"id": {
"type": "integer",
"example": 1
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/orgs/github"
},
"blog": {
"type": "string",
"format": "uri",
"example": "https://github.com/blog"
},
"name": {
"type": "string",
"example": "github"
},
"plan": {
"type": "object",
"required": [
"name",
"space",
"private_repos"
],
"properties": {
"name": {
"type": "string"
},
"seats": {
"type": "integer"
},
"space": {
"type": "integer"
},
"filled_seats": {
"type": "integer"
},
"private_repos": {
"type": "integer"
}
}
},
"type": {
"type": "string",
"example": "Organization"
},
"email": {
"type": "string",
"format": "email",
"example": "octocat@github.com"
},
"login": {
"type": "string",
"example": "github"
},
"company": {
"type": "string",
"example": "GitHub"
},
"node_id": {
"type": "string",
"example": "MDEyOk9yZ2FuaXphdGlvbjE="
},
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/octocat"
},
"location": {
"type": "string",
"example": "San Francisco"
},
"followers": {
"type": "integer",
"example": 20
},
"following": {
"type": "integer",
"example": 0
},
"hooks_url": {
"type": "string",
"example": "https://api.github.com/orgs/github/hooks"
},
"repos_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/orgs/github/repos"
},
"avatar_url": {
"type": "string",
"example": "https://github.com/images/error/octocat_happy.gif"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2008-01-14T04:33:35Z"
},
"disk_usage": {
"type": "integer",
"example": 10000,
"nullable": true
},
"events_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/orgs/github/events"
},
"issues_url": {
"type": "string",
"example": "https://api.github.com/orgs/github/issues"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"archived_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"description": {
"type": "string",
"example": "A great organization",
"nullable": true
},
"is_verified": {
"type": "boolean",
"example": true
},
"members_url": {
"type": "string",
"example": "https://api.github.com/orgs/github/members{/member}"
},
"public_gists": {
"type": "integer",
"example": 1
},
"public_repos": {
"type": "integer",
"example": 2
},
"billing_email": {
"type": "string",
"format": "email",
"example": "org@example.com",
"nullable": true
},
"collaborators": {
"type": "integer",
"example": 8,
"nullable": true
},
"private_gists": {
"type": "integer",
"example": 81,
"nullable": true
},
"twitter_username": {
"type": "string",
"example": "github",
"nullable": true
},
"public_members_url": {
"type": "string",
"example": "https://api.github.com/orgs/github/public_members{/member}"
},
"owned_private_repos": {
"type": "integer",
"example": 100
},
"total_private_repos": {
"type": "integer",
"example": 100
},
"has_repository_projects": {
"type": "boolean",
"example": true
},
"members_can_create_pages": {
"type": "boolean",
"example": true
},
"has_organization_projects": {
"type": "boolean",
"example": true
},
"web_commit_signoff_required": {
"type": "boolean",
"example": false
},
"default_repository_permission": {
"type": "string",
"nullable": true
},
"two_factor_requirement_enabled": {
"type": "boolean",
"example": true,
"nullable": true
},
"members_can_create_public_pages": {
"type": "boolean",
"example": true
},
"members_can_create_repositories": {
"type": "boolean",
"example": true,
"nullable": true
},
"members_can_create_private_pages": {
"type": "boolean",
"example": true
},
"members_can_fork_private_repositories": {
"type": "boolean",
"example": false,
"nullable": true
},
"members_can_create_public_repositories": {
"type": "boolean",
"example": true
},
"members_can_create_private_repositories": {
"type": "boolean",
"example": true
},
"members_allowed_repository_creation_type": {
"type": "string",
"example": "all"
},
"members_can_create_internal_repositories": {
"type": "boolean",
"example": true
}
},
"description": "Team Organization"
}
team-repository
{
"type": "object",
"title": "Team Repository",
"required": [
"archive_url",
"assignees_url",
"blobs_url",
"branches_url",
"collaborators_url",
"comments_url",
"commits_url",
"compare_url",
"contents_url",
"contributors_url",
"deployments_url",
"description",
"downloads_url",
"events_url",
"fork",
"forks_url",
"full_name",
"git_commits_url",
"git_refs_url",
"git_tags_url",
"hooks_url",
"html_url",
"id",
"node_id",
"issue_comment_url",
"issue_events_url",
"issues_url",
"keys_url",
"labels_url",
"languages_url",
"merges_url",
"milestones_url",
"name",
"notifications_url",
"owner",
"private",
"pulls_url",
"releases_url",
"stargazers_url",
"statuses_url",
"subscribers_url",
"subscription_url",
"tags_url",
"teams_url",
"trees_url",
"url",
"clone_url",
"default_branch",
"forks",
"forks_count",
"git_url",
"has_downloads",
"has_issues",
"has_projects",
"has_wiki",
"has_pages",
"homepage",
"language",
"archived",
"disabled",
"mirror_url",
"open_issues",
"open_issues_count",
"license",
"pushed_at",
"size",
"ssh_url",
"stargazers_count",
"svn_url",
"watchers",
"watchers_count",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"example": 42,
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"example": "Team Environment",
"description": "The name of the repository."
},
"size": {
"type": "integer",
"example": 108
},
"forks": {
"type": "integer"
},
"owner": {
"$ref": "#/components/schemas/nullable-simple-user"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"example": "git:github.com/octocat/Hello-World.git"
},
"license": {
"$ref": "#/components/schemas/nullable-license-simple"
},
"node_id": {
"type": "string",
"example": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5"
},
"private": {
"type": "boolean",
"default": false,
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string",
"example": "git@github.com:octocat/Hello-World.git"
},
"svn_url": {
"type": "string",
"format": "uri",
"example": "https://svn.github.com/octocat/Hello-World"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"example": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"format": "uri",
"example": "https://github.com",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/octocat/Hello-World"
},
"keys_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/keys{/key_id}"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/tags"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}"
},
"clone_url": {
"type": "string",
"example": "https://github.com/octocat/Hello-World.git"
},
"forks_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/forks"
},
"full_name": {
"type": "string",
"example": "octocat/Hello-World"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/hooks"
},
"pulls_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/pulls{/number}"
},
"pushed_at": {
"type": "string",
"format": "date-time",
"example": "2011-01-26T19:06:43Z",
"nullable": true
},
"role_name": {
"type": "string",
"example": "admin"
},
"teams_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/teams"
},
"trees_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/git/trees{/sha}"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2011-01-26T19:01:12Z",
"nullable": true
},
"events_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/events"
},
"has_issues": {
"type": "boolean",
"default": true,
"example": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/issues{/number}"
},
"labels_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/labels{/name}"
},
"merges_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/merges"
},
"mirror_url": {
"type": "string",
"format": "uri",
"example": "git:git.example.com/octocat/Hello-World",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2011-01-26T19:14:43Z",
"nullable": true
},
"visibility": {
"type": "string",
"default": "public",
"description": "The repository visibility: public, private, or internal."
},
"archive_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}"
},
"commits_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/commits{/sha}"
},
"compare_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}"
},
"description": {
"type": "string",
"example": "This your first repo!",
"nullable": true
},
"forks_count": {
"type": "integer",
"example": 9
},
"is_template": {
"type": "boolean",
"default": false,
"example": true,
"description": "Whether this repository acts as a template that can be used to generate new repositories."
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"admin",
"pull",
"push"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/branches{/branch}"
},
"comments_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/comments{/number}"
},
"contents_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/contents/{+path}"
},
"git_refs_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/git/refs{/sha}"
},
"git_tags_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/git/tags{/sha}"
},
"has_projects": {
"type": "boolean",
"default": true,
"example": true,
"description": "Whether projects are enabled."
},
"releases_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/releases{/id}"
},
"statuses_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/statuses/{sha}"
},
"allow_forking": {
"type": "boolean",
"default": false,
"example": false,
"description": "Whether to allow forking this repo"
},
"assignees_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/assignees{/user}"
},
"downloads_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/downloads"
},
"has_downloads": {
"type": "boolean",
"default": true,
"example": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/languages"
},
"master_branch": {
"type": "string"
},
"network_count": {
"type": "integer"
},
"default_branch": {
"type": "string",
"example": "master",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/milestones{/number}"
},
"stargazers_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/stargazers"
},
"watchers_count": {
"type": "integer",
"example": 80
},
"deployments_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/deployments"
},
"git_commits_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/git/commits{/sha}"
},
"subscribers_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/subscribers"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"example": false,
"description": "Whether to allow Auto-merge to be used on pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/contributors"
},
"issue_events_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/issues/events{/number}"
},
"stargazers_count": {
"type": "integer",
"example": 80
},
"subscription_url": {
"type": "string",
"format": "uri",
"example": "http://api.github.com/repos/octocat/Hello-World/subscription"
},
"temp_clone_token": {
"type": "string"
},
"collaborators_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}"
},
"issue_comment_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/issues/comments{/number}"
},
"notifications_url": {
"type": "string",
"example": "http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}"
},
"open_issues_count": {
"type": "integer",
"example": 0
},
"subscribers_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"example": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"example": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"example": true,
"description": "Whether to allow squash merges for pull requests."
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"example": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"web_commit_signoff_required": {
"type": "boolean",
"default": false,
"example": false,
"description": "Whether to require contributors to sign off on web-based commits"
}
},
"description": "A team's access to a repository.",
"x-github-breaking-changes": [
{
"patch": {
"required": [
"archive_url",
"assignees_url",
"blobs_url",
"branches_url",
"collaborators_url",
"comments_url",
"commits_url",
"compare_url",
"contents_url",
"contributors_url",
"deployments_url",
"description",
"downloads_url",
"events_url",
"fork",
"forks_url",
"full_name",
"git_commits_url",
"git_refs_url",
"git_tags_url",
"hooks_url",
"html_url",
"id",
"node_id",
"issue_comment_url",
"issue_events_url",
"issues_url",
"keys_url",
"labels_url",
"languages_url",
"merges_url",
"milestones_url",
"name",
"notifications_url",
"owner",
"private",
"pulls_url",
"releases_url",
"stargazers_url",
"statuses_url",
"subscribers_url",
"subscription_url",
"tags_url",
"teams_url",
"trees_url",
"url",
"clone_url",
"default_branch",
"forks",
"forks_count",
"git_url",
"has_issues",
"has_projects",
"has_wiki",
"has_pages",
"homepage",
"language",
"archived",
"disabled",
"mirror_url",
"open_issues",
"open_issues_count",
"license",
"pushed_at",
"size",
"ssh_url",
"stargazers_count",
"svn_url",
"watchers",
"watchers_count",
"created_at",
"updated_at"
],
"properties": {
"has_downloads": null
}
},
"version": "2026-03-10",
"changeset": "remove_has_downloads"
}
]
}
team-role-assignment
{
"type": "object",
"title": "A Role Assignment for a Team",
"required": [
"id",
"node_id",
"url",
"members_url",
"name",
"description",
"permission",
"html_url",
"repositories_url",
"slug",
"type",
"parent"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"slug": {
"type": "string"
},
"type": {
"enum": [
"enterprise",
"organization"
],
"type": "string",
"description": "The ownership type of the team"
},
"parent": {
"$ref": "#/components/schemas/nullable-team-simple"
},
"node_id": {
"type": "string"
},
"privacy": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/orgs/rails/teams/core"
},
"assignment": {
"enum": [
"direct",
"indirect",
"mixed"
],
"type": "string",
"example": "direct",
"description": "Determines if the team has a direct, indirect, or mixed relationship to a role"
},
"permission": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
},
"members_url": {
"type": "string"
},
"permissions": {
"type": "object",
"required": [
"pull",
"triage",
"push",
"maintain",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"enterprise_id": {
"type": "integer",
"example": 42,
"description": "Unique identifier of the enterprise to which this team belongs"
},
"organization_id": {
"type": "integer",
"example": 37,
"description": "Unique identifier of the organization to which this team belongs"
},
"repositories_url": {
"type": "string",
"format": "uri"
},
"notification_setting": {
"type": "string"
}
},
"description": "The Relationship a Team has with a role."
}
team-simple
{
"type": "object",
"title": "Team Simple",
"required": [
"id",
"node_id",
"url",
"members_url",
"name",
"description",
"permission",
"html_url",
"repositories_url",
"slug",
"type"
],
"properties": {
"id": {
"type": "integer",
"example": 1,
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/organizations/1/team/1",
"description": "URL for the team"
},
"name": {
"type": "string",
"example": "Justice League",
"description": "Name of the team"
},
"slug": {
"type": "string",
"example": "justice-league"
},
"type": {
"enum": [
"enterprise",
"organization"
],
"type": "string",
"description": "The ownership type of the team"
},
"ldap_dn": {
"type": "string",
"example": "uid=example,ou=users,dc=github,dc=com",
"description": "Distinguished Name (DN) that team maps to within LDAP environment"
},
"node_id": {
"type": "string",
"example": "MDQ6VGVhbTE="
},
"privacy": {
"type": "string",
"example": "closed",
"description": "The level of privacy this team should have"
},
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/orgs/rails/teams/core"
},
"permission": {
"type": "string",
"example": "admin",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"example": "A great team.",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"example": "https://api.github.com/organizations/1/team/1/members{/member}"
},
"enterprise_id": {
"type": "integer",
"example": 42,
"description": "Unique identifier of the enterprise to which this team belongs"
},
"organization_id": {
"type": "integer",
"example": 37,
"description": "Unique identifier of the organization to which this team belongs"
},
"repositories_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/organizations/1/team/1/repos"
},
"notification_setting": {
"type": "string",
"example": "notifications_enabled",
"description": "The notification setting the team has set"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
thread
{
"type": "object",
"title": "Thread",
"required": [
"id",
"unread",
"reason",
"updated_at",
"last_read_at",
"subject",
"repository",
"url",
"subscription_url"
],
"properties": {
"id": {
"type": "string"
},
"url": {
"type": "string"
},
"reason": {
"type": "string"
},
"unread": {
"type": "boolean"
},
"subject": {
"type": "object",
"required": [
"title",
"url",
"latest_comment_url",
"type"
],
"properties": {
"url": {
"type": "string"
},
"type": {
"type": "string"
},
"title": {
"type": "string"
},
"latest_comment_url": {
"type": "string"
}
}
},
"repository": {
"$ref": "#/components/schemas/minimal-repository"
},
"updated_at": {
"type": "string"
},
"last_read_at": {
"type": "string",
"nullable": true
},
"subscription_url": {
"type": "string",
"example": "https://api.github.com/notifications/threads/2/subscription"
}
},
"description": "Thread"
}
thread-subscription
{
"type": "object",
"title": "Thread Subscription",
"required": [
"created_at",
"ignored",
"reason",
"url",
"subscribed"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/notifications/threads/1/subscription"
},
"reason": {
"type": "string",
"nullable": true
},
"ignored": {
"type": "boolean"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2012-10-06T21:34:12Z",
"nullable": true
},
"subscribed": {
"type": "boolean",
"example": true
},
"thread_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/notifications/threads/1"
},
"repository_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/1"
}
},
"description": "Thread Subscription"
}
timeline-assigned-issue-event
{
"type": "object",
"title": "Timeline Assigned Issue Event",
"required": [
"id",
"node_id",
"url",
"actor",
"event",
"commit_id",
"commit_url",
"created_at",
"performed_via_github_app",
"assignee"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"actor": {
"$ref": "#/components/schemas/simple-user"
},
"event": {
"type": "string"
},
"node_id": {
"type": "string"
},
"assignee": {
"$ref": "#/components/schemas/simple-user"
},
"commit_id": {
"type": "string",
"nullable": true
},
"commit_url": {
"type": "string",
"nullable": true
},
"created_at": {
"type": "string"
},
"performed_via_github_app": {
"$ref": "#/components/schemas/nullable-integration"
}
},
"description": "Timeline Assigned Issue Event"
}
timeline-comment-event
{
"type": "object",
"title": "Timeline Comment Event",
"required": [
"event",
"actor",
"id",
"node_id",
"html_url",
"issue_url",
"author_association",
"user",
"url",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"example": 42,
"description": "Unique identifier of the issue comment"
},
"pin": {
"$ref": "#/components/schemas/nullable-pinned-issue-comment"
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repositories/42/issues/comments/1",
"description": "URL for the issue comment"
},
"body": {
"type": "string",
"example": "What version of Safari were you using when you observed this bug?",
"description": "Contents of the issue comment"
},
"user": {
"$ref": "#/components/schemas/simple-user"
},
"actor": {
"$ref": "#/components/schemas/simple-user"
},
"event": {
"type": "string"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"body_html": {
"type": "string"
},
"body_text": {
"type": "string"
},
"issue_url": {
"type": "string",
"format": "uri"
},
"reactions": {
"$ref": "#/components/schemas/reaction-rollup"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2011-04-14T16:00:49Z"
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2011-04-14T16:00:49Z"
},
"author_association": {
"$ref": "#/components/schemas/author-association"
},
"performed_via_github_app": {
"$ref": "#/components/schemas/nullable-integration"
}
},
"description": "Timeline Comment Event"
}
timeline-commit-commented-event
{
"type": "object",
"title": "Timeline Commit Commented Event",
"properties": {
"event": {
"type": "string"
},
"node_id": {
"type": "string"
},
"comments": {
"type": "array",
"items": {
"$ref": "#/components/schemas/commit-comment"
}
},
"commit_id": {
"type": "string"
}
},
"description": "Timeline Commit Commented Event"
}
timeline-committed-event
{
"type": "object",
"title": "Timeline Committed Event",
"required": [
"sha",
"node_id",
"url",
"html_url",
"author",
"committer",
"tree",
"message",
"parents",
"verification"
],
"properties": {
"sha": {
"type": "string",
"example": "7638417db6d59f3c431d3e1f261cc637155684cd",
"description": "SHA for the commit"
},
"url": {
"type": "string",
"format": "uri"
},
"tree": {
"type": "object",
"required": [
"sha",
"url"
],
"properties": {
"sha": {
"type": "string",
"example": "7638417db6d59f3c431d3e1f261cc637155684cd",
"description": "SHA for the commit"
},
"url": {
"type": "string",
"format": "uri"
}
}
},
"event": {
"type": "string"
},
"author": {
"type": "object",
"required": [
"email",
"name",
"date"
],
"properties": {
"date": {
"type": "string",
"format": "date-time",
"example": "2014-08-09T08:02:04+12:00",
"description": "Timestamp of the commit"
},
"name": {
"type": "string",
"example": "Monalisa Octocat",
"description": "Name of the git user"
},
"email": {
"type": "string",
"example": "monalisa.octocat@example.com",
"description": "Git email address of the user"
}
},
"description": "Identifying information for the git-user"
},
"message": {
"type": "string",
"example": "Fix #42",
"description": "Message describing the purpose of the commit"
},
"node_id": {
"type": "string"
},
"parents": {
"type": "array",
"items": {
"type": "object",
"required": [
"sha",
"url",
"html_url"
],
"properties": {
"sha": {
"type": "string",
"example": "7638417db6d59f3c431d3e1f261cc637155684cd",
"description": "SHA for the commit"
},
"url": {
"type": "string",
"format": "uri"
},
"html_url": {
"type": "string",
"format": "uri"
}
}
}
},
"html_url": {
"type": "string",
"format": "uri"
},
"committer": {
"type": "object",
"required": [
"email",
"name",
"date"
],
"properties": {
"date": {
"type": "string",
"format": "date-time",
"example": "2014-08-09T08:02:04+12:00",
"description": "Timestamp of the commit"
},
"name": {
"type": "string",
"example": "Monalisa Octocat",
"description": "Name of the git user"
},
"email": {
"type": "string",
"example": "monalisa.octocat@example.com",
"description": "Git email address of the user"
}
},
"description": "Identifying information for the git-user"
},
"verification": {
"type": "object",
"required": [
"verified",
"reason",
"signature",
"payload",
"verified_at"
],
"properties": {
"reason": {
"type": "string"
},
"payload": {
"type": "string",
"nullable": true
},
"verified": {
"type": "boolean"
},
"signature": {
"type": "string",
"nullable": true
},
"verified_at": {
"type": "string",
"nullable": true
}
}
}
},
"description": "Timeline Committed Event"
}
timeline-cross-referenced-event
{
"type": "object",
"title": "Timeline Cross Referenced Event",
"required": [
"event",
"created_at",
"updated_at",
"source"
],
"properties": {
"actor": {
"$ref": "#/components/schemas/simple-user"
},
"event": {
"type": "string"
},
"source": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"issue": {
"$ref": "#/components/schemas/issue"
}
}
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
}
},
"description": "Timeline Cross Referenced Event"
}
timeline-issue-events
{
"type": "object",
"anyOf": [
{
"$ref": "#/components/schemas/labeled-issue-event"
},
{
"$ref": "#/components/schemas/unlabeled-issue-event"
},
{
"$ref": "#/components/schemas/milestoned-issue-event"
},
{
"$ref": "#/components/schemas/demilestoned-issue-event"
},
{
"$ref": "#/components/schemas/renamed-issue-event"
},
{
"$ref": "#/components/schemas/review-requested-issue-event"
},
{
"$ref": "#/components/schemas/review-request-removed-issue-event"
},
{
"$ref": "#/components/schemas/review-dismissed-issue-event"
},
{
"$ref": "#/components/schemas/locked-issue-event"
},
{
"$ref": "#/components/schemas/added-to-project-issue-event"
},
{
"$ref": "#/components/schemas/moved-column-in-project-issue-event"
},
{
"$ref": "#/components/schemas/removed-from-project-issue-event"
},
{
"$ref": "#/components/schemas/converted-note-to-issue-issue-event"
},
{
"$ref": "#/components/schemas/timeline-comment-event"
},
{
"$ref": "#/components/schemas/timeline-cross-referenced-event"
},
{
"$ref": "#/components/schemas/timeline-committed-event"
},
{
"$ref": "#/components/schemas/timeline-reviewed-event"
},
{
"$ref": "#/components/schemas/timeline-line-commented-event"
},
{
"$ref": "#/components/schemas/timeline-commit-commented-event"
},
{
"$ref": "#/components/schemas/timeline-assigned-issue-event"
},
{
"$ref": "#/components/schemas/timeline-unassigned-issue-event"
},
{
"$ref": "#/components/schemas/state-change-issue-event"
}
],
"title": "Timeline Event",
"description": "Timeline Event"
}
timeline-line-commented-event
{
"type": "object",
"title": "Timeline Line Commented Event",
"properties": {
"event": {
"type": "string"
},
"node_id": {
"type": "string"
},
"comments": {
"type": "array",
"items": {
"$ref": "#/components/schemas/pull-request-review-comment"
}
}
},
"description": "Timeline Line Commented Event"
}
timeline-reviewed-event
{
"type": "object",
"title": "Timeline Reviewed Event",
"required": [
"event",
"id",
"node_id",
"user",
"body",
"state",
"commit_id",
"html_url",
"pull_request_url",
"_links",
"author_association"
],
"properties": {
"id": {
"type": "integer",
"example": 42,
"description": "Unique identifier of the review"
},
"body": {
"type": "string",
"example": "This looks great.",
"nullable": true,
"description": "The text of the review."
},
"user": {
"$ref": "#/components/schemas/simple-user"
},
"event": {
"type": "string"
},
"state": {
"type": "string",
"example": "CHANGES_REQUESTED"
},
"_links": {
"type": "object",
"required": [
"html",
"pull_request"
],
"properties": {
"html": {
"type": "object",
"required": [
"href"
],
"properties": {
"href": {
"type": "string"
}
}
},
"pull_request": {
"type": "object",
"required": [
"href"
],
"properties": {
"href": {
"type": "string"
}
}
}
}
},
"node_id": {
"type": "string",
"example": "MDE3OlB1bGxSZXF1ZXN0UmV2aWV3ODA="
},
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80"
},
"body_html": {
"type": "string"
},
"body_text": {
"type": "string"
},
"commit_id": {
"type": "string",
"example": "54bb654c9e6025347f57900a4a5c2313a96b8035",
"description": "A commit SHA for the review."
},
"updated_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"submitted_at": {
"type": "string",
"format": "date-time"
},
"pull_request_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/repos/octocat/Hello-World/pulls/12"
},
"author_association": {
"$ref": "#/components/schemas/author-association"
}
},
"description": "Timeline Reviewed Event"
}
timeline-unassigned-issue-event
{
"type": "object",
"title": "Timeline Unassigned Issue Event",
"required": [
"id",
"node_id",
"url",
"actor",
"event",
"commit_id",
"commit_url",
"created_at",
"performed_via_github_app",
"assignee"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"actor": {
"$ref": "#/components/schemas/simple-user"
},
"event": {
"type": "string"
},
"node_id": {
"type": "string"
},
"assignee": {
"$ref": "#/components/schemas/simple-user"
},
"commit_id": {
"type": "string",
"nullable": true
},
"commit_url": {
"type": "string",
"nullable": true
},
"created_at": {
"type": "string"
},
"performed_via_github_app": {
"$ref": "#/components/schemas/nullable-integration"
}
},
"description": "Timeline Unassigned Issue Event"
}
topic
{
"type": "object",
"title": "Topic",
"required": [
"names"
],
"properties": {
"names": {
"type": "array",
"items": {
"type": "string"
}
}
},
"description": "A topic aggregates entities that are related to a subject."
}
topic-search-result-item
{
"type": "object",
"title": "Topic Search Result Item",
"required": [
"name",
"display_name",
"short_description",
"description",
"created_by",
"released",
"created_at",
"updated_at",
"featured",
"curated",
"score"
],
"properties": {
"name": {
"type": "string"
},
"score": {
"type": "number"
},
"aliases": {
"type": "array",
"items": {
"type": "object",
"properties": {
"topic_relation": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"topic_id": {
"type": "integer"
},
"relation_type": {
"type": "string"
}
}
}
}
},
"nullable": true
},
"curated": {
"type": "boolean"
},
"related": {
"type": "array",
"items": {
"type": "object",
"properties": {
"topic_relation": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"topic_id": {
"type": "integer"
},
"relation_type": {
"type": "string"
}
}
}
}
},
"nullable": true
},
"featured": {
"type": "boolean"
},
"logo_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"released": {
"type": "string",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"created_by": {
"type": "string",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string",
"nullable": true
},
"display_name": {
"type": "string",
"nullable": true
},
"text_matches": {
"$ref": "#/components/schemas/search-result-text-matches"
},
"repository_count": {
"type": "integer",
"nullable": true
},
"short_description": {
"type": "string",
"nullable": true
}
},
"description": "Topic Search Result Item"
}
traffic
{
"type": "object",
"title": "Traffic",
"required": [
"timestamp",
"uniques",
"count"
],
"properties": {
"count": {
"type": "integer"
},
"uniques": {
"type": "integer"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
}
unassigned-issue-event
{
"type": "object",
"title": "Unassigned Issue Event",
"required": [
"id",
"node_id",
"url",
"actor",
"event",
"commit_id",
"commit_url",
"created_at",
"performed_via_github_app",
"assignee",
"assigner"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"actor": {
"$ref": "#/components/schemas/simple-user"
},
"event": {
"type": "string"
},
"node_id": {
"type": "string"
},
"assignee": {
"$ref": "#/components/schemas/simple-user"
},
"assigner": {
"$ref": "#/components/schemas/simple-user"
},
"commit_id": {
"type": "string",
"nullable": true
},
"commit_url": {
"type": "string",
"nullable": true
},
"created_at": {
"type": "string"
},
"performed_via_github_app": {
"$ref": "#/components/schemas/nullable-integration"
}
},
"description": "Unassigned Issue Event"
}
unlabeled-issue-event
{
"type": "object",
"title": "Unlabeled Issue Event",
"required": [
"label",
"id",
"node_id",
"url",
"actor",
"event",
"commit_id",
"commit_url",
"created_at",
"performed_via_github_app"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"actor": {
"$ref": "#/components/schemas/simple-user"
},
"event": {
"type": "string"
},
"label": {
"type": "object",
"required": [
"name",
"color"
],
"properties": {
"name": {
"type": "string"
},
"color": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"commit_id": {
"type": "string",
"nullable": true
},
"commit_url": {
"type": "string",
"nullable": true
},
"created_at": {
"type": "string"
},
"performed_via_github_app": {
"$ref": "#/components/schemas/nullable-integration"
}
},
"description": "Unlabeled Issue Event"
}
user-marketplace-purchase
{
"type": "object",
"title": "User Marketplace Purchase",
"required": [
"billing_cycle",
"next_billing_date",
"unit_count",
"updated_at",
"on_free_trial",
"free_trial_ends_on",
"account",
"plan"
],
"properties": {
"plan": {
"$ref": "#/components/schemas/marketplace-listing-plan"
},
"account": {
"$ref": "#/components/schemas/marketplace-account"
},
"unit_count": {
"type": "integer",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2017-11-02T01:12:12Z",
"nullable": true
},
"billing_cycle": {
"type": "string",
"example": "monthly"
},
"on_free_trial": {
"type": "boolean",
"example": true
},
"next_billing_date": {
"type": "string",
"format": "date-time",
"example": "2017-11-11T00:00:00Z",
"nullable": true
},
"free_trial_ends_on": {
"type": "string",
"format": "date-time",
"example": "2017-11-11T00:00:00Z",
"nullable": true
}
},
"description": "User Marketplace Purchase"
}
user-role-assignment
{
"type": "object",
"title": "A Role Assignment for a User",
"required": [
"avatar_url",
"events_url",
"followers_url",
"following_url",
"gists_url",
"gravatar_id",
"html_url",
"id",
"node_id",
"login",
"organizations_url",
"received_events_url",
"repos_url",
"site_admin",
"starred_url",
"subscriptions_url",
"type",
"url"
],
"properties": {
"id": {
"type": "integer",
"example": 1
},
"url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/users/octocat"
},
"name": {
"type": "string",
"nullable": true
},
"type": {
"type": "string",
"example": "User"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string",
"example": "octocat"
},
"node_id": {
"type": "string",
"example": "MDQ6VXNlcjE="
},
"html_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/octocat"
},
"gists_url": {
"type": "string",
"example": "https://api.github.com/users/octocat/gists{/gist_id}"
},
"repos_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/users/octocat/repos"
},
"assignment": {
"enum": [
"direct",
"indirect",
"mixed"
],
"type": "string",
"example": "direct",
"description": "Determines if the user has a direct, indirect, or mixed relationship to a role"
},
"avatar_url": {
"type": "string",
"format": "uri",
"example": "https://github.com/images/error/octocat_happy.gif"
},
"events_url": {
"type": "string",
"example": "https://api.github.com/users/octocat/events{/privacy}"
},
"site_admin": {
"type": "boolean"
},
"starred_at": {
"type": "string",
"example": "\"2020-07-09T00:17:55Z\""
},
"gravatar_id": {
"type": "string",
"example": "41d064eb2195891e12d0413f63227ea7",
"nullable": true
},
"starred_url": {
"type": "string",
"example": "https://api.github.com/users/octocat/starred{/owner}{/repo}"
},
"followers_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/users/octocat/followers"
},
"following_url": {
"type": "string",
"example": "https://api.github.com/users/octocat/following{/other_user}"
},
"inherited_from": {
"type": "array",
"items": {
"$ref": "#/components/schemas/team-simple"
},
"description": "Team the user has gotten the role through"
},
"user_view_type": {
"type": "string",
"example": "public"
},
"organizations_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/users/octocat/orgs"
},
"subscriptions_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/users/octocat/subscriptions"
},
"received_events_url": {
"type": "string",
"format": "uri",
"example": "https://api.github.com/users/octocat/received_events"
}
},
"description": "The Relationship a User has with a role."
}
user-search-result-item
{
"type": "object",
"title": "User Search Result Item",
"required": [
"avatar_url",
"events_url",
"followers_url",
"following_url",
"gists_url",
"gravatar_id",
"html_url",
"id",
"node_id",
"login",
"organizations_url",
"received_events_url",
"repos_url",
"site_admin",
"starred_url",
"subscriptions_url",
"type",
"url",
"score"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"bio": {
"type": "string",
"nullable": true
},
"url": {
"type": "string",
"format": "uri"
},
"blog": {
"type": "string",
"nullable": true
},
"name": {
"type": "string",
"nullable": true
},
"type": {
"type": "string"
},
"email": {
"type": "string",
"format": "email",
"nullable": true
},
"login": {
"type": "string"
},
"score": {
"type": "number"
},
"company": {
"type": "string",
"nullable": true
},
"node_id": {
"type": "string"
},
"hireable": {
"type": "boolean",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"location": {
"type": "string",
"nullable": true
},
"followers": {
"type": "integer"
},
"following": {
"type": "integer"
},
"gists_url": {
"type": "string"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"created_at": {
"type": "string",
"format": "date-time"
},
"events_url": {
"type": "string"
},
"site_admin": {
"type": "boolean"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"gravatar_id": {
"type": "string",
"nullable": true
},
"starred_url": {
"type": "string"
},
"public_gists": {
"type": "integer"
},
"public_repos": {
"type": "integer"
},
"suspended_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"text_matches": {
"$ref": "#/components/schemas/search-result-text-matches"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
},
"description": "User Search Result Item"
}
validation-error
{
"type": "object",
"title": "Validation Error",
"required": [
"message",
"documentation_url"
],
"properties": {
"errors": {
"type": "array",
"items": {
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string"
},
"field": {
"type": "string"
},
"index": {
"type": "integer"
},
"value": {
"oneOf": [
{
"type": "string",
"nullable": true
},
{
"type": "integer",
"nullable": true
},
{
"type": "array",
"items": {
"type": "string"
},
"nullable": true
}
]
},
"message": {
"type": "string"
},
"resource": {
"type": "string"
}
}
}
},
"message": {
"type": "string"
},
"documentation_url": {
"type": "string"
}
},
"description": "Validation Error"
}
validation-error-simple
{
"type": "object",
"title": "Validation Error Simple",
"required": [
"message",
"documentation_url"
],
"properties": {
"errors": {
"type": "array",
"items": {
"type": "string"
}
},
"message": {
"type": "string"
},
"documentation_url": {
"type": "string"
}
},
"description": "Validation Error Simple"
}
verification
{
"type": "object",
"title": "Verification",
"required": [
"verified",
"reason",
"payload",
"signature",
"verified_at"
],
"properties": {
"reason": {
"type": "string"
},
"payload": {
"type": "string",
"nullable": true
},
"verified": {
"type": "boolean"
},
"signature": {
"type": "string",
"nullable": true
},
"verified_at": {
"type": "string",
"nullable": true
}
}
}
view-traffic
{
"type": "object",
"title": "View Traffic",
"required": [
"uniques",
"count",
"views"
],
"properties": {
"count": {
"type": "integer",
"example": 14850
},
"views": {
"type": "array",
"items": {
"$ref": "#/components/schemas/traffic"
}
},
"uniques": {
"type": "integer",
"example": 3782
}
},
"description": "View Traffic"
}
vulnerability
{
"type": "object",
"required": [
"package",
"vulnerable_version_range",
"first_patched_version",
"vulnerable_functions"
],
"properties": {
"package": {
"type": "object",
"nullable": true,
"required": [
"ecosystem",
"name"
],
"properties": {
"name": {
"type": "string",
"nullable": true,
"description": "The unique package name within its ecosystem."
},
"ecosystem": {
"$ref": "#/components/schemas/security-advisory-ecosystems"
}
},
"description": "The name of the package affected by the vulnerability."
},
"vulnerable_functions": {
"type": "array",
"items": {
"type": "string"
},
"nullable": true,
"readOnly": true,
"description": "The functions in the package that are affected by the vulnerability."
},
"first_patched_version": {
"type": "string",
"nullable": true,
"description": "The package version that resolves the vulnerability."
},
"vulnerable_version_range": {
"type": "string",
"nullable": true,
"description": "The range of the package versions affected by the vulnerability."
}
},
"description": "A vulnerability describing the product and its affected versions within a GitHub Security Advisory."
}
wait-timer
{
"type": "integer",
"example": 30,
"description": "The amount of time to delay a job after the job is initially triggered. The time (in minutes) must be an integer between 0 and 43,200 (30 days)."
}
watch-event
{
"type": "object",
"title": "WatchEvent",
"required": [
"action"
],
"properties": {
"action": {
"type": "string"
}
}
}
webhook-branch-protection-configuration-disabled
{
"type": "object",
"title": "branch protection configuration disabled event",
"required": [
"action",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"disabled"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-branch-protection-configuration-enabled
{
"type": "object",
"title": "branch protection configuration enabled event",
"required": [
"action",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"enabled"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-branch-protection-rule-created
{
"type": "object",
"title": "branch protection rule created event",
"required": [
"action",
"rule",
"repository",
"sender"
],
"properties": {
"rule": {
"$ref": "#/components/schemas/webhooks_rule"
},
"action": {
"enum": [
"created"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-branch-protection-rule-deleted
{
"type": "object",
"title": "branch protection rule deleted event",
"required": [
"action",
"rule",
"repository",
"sender"
],
"properties": {
"rule": {
"$ref": "#/components/schemas/webhooks_rule"
},
"action": {
"enum": [
"deleted"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-branch-protection-rule-edited
{
"type": "object",
"title": "branch protection rule edited event",
"required": [
"action",
"rule",
"repository",
"sender"
],
"properties": {
"rule": {
"$ref": "#/components/schemas/webhooks_rule"
},
"action": {
"enum": [
"edited"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"changes": {
"type": "object",
"properties": {
"admin_enforced": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"type": "boolean",
"nullable": true
}
}
},
"lock_allows_fork_sync": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"type": "boolean",
"nullable": true
}
}
},
"authorized_actor_names": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"authorized_actors_only": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"type": "boolean",
"nullable": true
}
}
},
"required_status_checks": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"require_last_push_approval": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"type": "boolean",
"nullable": true
}
}
},
"lock_branch_enforcement_level": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"enum": [
"off",
"non_admins",
"everyone"
],
"type": "string"
}
}
},
"authorized_dismissal_actors_only": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"type": "boolean",
"nullable": true
}
}
},
"pull_request_reviews_enforcement_level": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"enum": [
"off",
"non_admins",
"everyone"
],
"type": "string"
}
}
},
"required_status_checks_enforcement_level": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"enum": [
"off",
"non_admins",
"everyone"
],
"type": "string"
}
}
},
"linear_history_requirement_enforcement_level": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"enum": [
"off",
"non_admins",
"everyone"
],
"type": "string"
}
}
}
},
"description": "If the action was `edited`, the changes to the rule."
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-check-run-completed
{
"type": "object",
"title": "Check Run Completed Event",
"required": [
"check_run",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"completed"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"check_run": {
"$ref": "#/components/schemas/check-run-with-simple-check-suite"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-check-run-completed-form-encoded
{
"type": "object",
"title": "Check Run Completed Event",
"required": [
"payload"
],
"properties": {
"payload": {
"type": "string",
"description": "A URL-encoded string of the check_run.completed JSON payload. The decoded payload is a JSON object."
}
},
"description": "The check_run.completed webhook encoded with URL encoding"
}
webhook-check-run-created
{
"type": "object",
"title": "Check Run Created Event",
"required": [
"check_run",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"created"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"check_run": {
"$ref": "#/components/schemas/check-run-with-simple-check-suite"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-check-run-created-form-encoded
{
"type": "object",
"title": "Check Run Created Event",
"required": [
"payload"
],
"properties": {
"payload": {
"type": "string",
"description": "A URL-encoded string of the check_run.created JSON payload. The decoded payload is a JSON object."
}
},
"description": "The check_run.created webhook encoded with URL encoding"
}
webhook-check-run-requested-action
{
"type": "object",
"title": "Check Run Requested Action Event",
"required": [
"action",
"check_run",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"requested_action"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"check_run": {
"$ref": "#/components/schemas/check-run-with-simple-check-suite"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"requested_action": {
"type": "object",
"properties": {
"identifier": {
"type": "string",
"description": "The integrator reference of the action requested by the user."
}
},
"description": "The action requested by the user."
}
}
}
webhook-check-run-requested-action-form-encoded
{
"type": "object",
"title": "Check Run Requested Action Event",
"required": [
"payload"
],
"properties": {
"payload": {
"type": "string",
"description": "A URL-encoded string of the check_run.requested_action JSON payload. The decoded payload is a JSON object."
}
},
"description": "The check_run.requested_action webhook encoded with URL encoding"
}
webhook-check-run-rerequested
{
"type": "object",
"title": "Check Run Re-Requested Event",
"required": [
"check_run",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"rerequested"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"check_run": {
"$ref": "#/components/schemas/check-run-with-simple-check-suite"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-check-run-rerequested-form-encoded
{
"type": "object",
"title": "Check Run Re-Requested Event",
"required": [
"payload"
],
"properties": {
"payload": {
"type": "string",
"description": "A URL-encoded string of the check_run.rerequested JSON payload. The decoded payload is a JSON object."
}
},
"description": "The check_run.rerequested webhook encoded with URL encoding"
}
webhook-check-suite-completed
{
"type": "object",
"title": "check_suite completed event",
"required": [
"action",
"check_suite",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"completed"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"check_suite": {
"type": "object",
"required": [
"id",
"node_id",
"head_branch",
"head_sha",
"status",
"conclusion",
"url",
"before",
"after",
"pull_requests",
"app",
"created_at",
"updated_at",
"latest_check_runs_count",
"check_runs_url",
"head_commit"
],
"properties": {
"id": {
"type": "integer"
},
"app": {
"type": "object",
"title": "App",
"required": [
"id",
"node_id",
"owner",
"name",
"description",
"external_url",
"html_url",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"nullable": true,
"description": "Unique identifier of the GitHub app"
},
"name": {
"type": "string",
"description": "The name of the GitHub app"
},
"slug": {
"type": "string",
"description": "The slug name of the GitHub app"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"events": {
"type": "array",
"items": {
"enum": [
"branch_protection_rule",
"check_run",
"check_suite",
"code_scanning_alert",
"commit_comment",
"content_reference",
"create",
"delete",
"deployment",
"deployment_review",
"deployment_status",
"deploy_key",
"discussion",
"discussion_comment",
"fork",
"gollum",
"issues",
"issue_comment",
"label",
"member",
"membership",
"milestone",
"organization",
"org_block",
"page_build",
"project",
"project_card",
"project_column",
"public",
"pull_request",
"pull_request_review",
"pull_request_review_comment",
"push",
"registry_package",
"release",
"repository",
"repository_dispatch",
"secret_scanning_alert",
"star",
"status",
"team",
"team_add",
"watch",
"workflow_dispatch",
"workflow_run",
"merge_group",
"pull_request_review_thread",
"workflow_job",
"merge_queue_entry",
"security_and_analysis",
"projects_v2_item",
"secret_scanning_alert_location"
],
"type": "string"
},
"description": "The list of events for the GitHub app"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"client_id": {
"type": "string",
"nullable": true,
"description": "The client ID of the GitHub app"
},
"created_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"permissions": {
"type": "object",
"properties": {
"keys": {
"enum": [
"read",
"write"
],
"type": "string"
},
"pages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"checks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"emails": {
"enum": [
"read",
"write"
],
"type": "string"
},
"issues": {
"enum": [
"read",
"write"
],
"type": "string"
},
"actions": {
"enum": [
"read",
"write"
],
"type": "string"
},
"members": {
"enum": [
"read",
"write"
],
"type": "string"
},
"secrets": {
"enum": [
"read",
"write"
],
"type": "string"
},
"contents": {
"enum": [
"read",
"write"
],
"type": "string"
},
"metadata": {
"enum": [
"read",
"write"
],
"type": "string"
},
"packages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"statuses": {
"enum": [
"read",
"write"
],
"type": "string"
},
"workflows": {
"enum": [
"read",
"write"
],
"type": "string"
},
"deployments": {
"enum": [
"read",
"write"
],
"type": "string"
},
"discussions": {
"enum": [
"read",
"write"
],
"type": "string"
},
"single_file": {
"enum": [
"read",
"write"
],
"type": "string"
},
"environments": {
"enum": [
"read",
"write"
],
"type": "string"
},
"pull_requests": {
"enum": [
"read",
"write"
],
"type": "string"
},
"administration": {
"enum": [
"read",
"write"
],
"type": "string"
},
"security_events": {
"enum": [
"read",
"write"
],
"type": "string"
},
"repository_hooks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_plan": {
"enum": [
"read",
"write"
],
"type": "string"
},
"content_references": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_hooks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"repository_projects": {
"enum": [
"read",
"write",
"admin"
],
"type": "string"
},
"organization_secrets": {
"enum": [
"read",
"write"
],
"type": "string"
},
"vulnerability_alerts": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_packages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_projects": {
"enum": [
"read",
"write",
"admin"
],
"type": "string"
},
"secret_scanning_alerts": {
"enum": [
"read",
"write"
],
"type": "string"
},
"security_scanning_alert": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_user_blocking": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_administration": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_self_hosted_runners": {
"enum": [
"read",
"write"
],
"type": "string"
}
},
"description": "The set of permissions for the GitHub app"
},
"external_url": {
"type": "string",
"format": "uri",
"nullable": true
}
},
"description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub."
},
"url": {
"type": "string",
"format": "uri",
"description": "URL that points to the check suite API resource."
},
"after": {
"type": "string",
"nullable": true
},
"before": {
"type": "string",
"nullable": true
},
"status": {
"enum": [
"requested",
"in_progress",
"completed",
"queued",
null,
"pending"
],
"type": "string",
"nullable": true,
"description": "The summary status for all check runs that are part of the check suite. Can be `requested`, `in_progress`, or `completed`."
},
"node_id": {
"type": "string"
},
"head_sha": {
"type": "string",
"description": "The SHA of the head commit that is being checked."
},
"conclusion": {
"enum": [
"success",
"failure",
"neutral",
"cancelled",
"timed_out",
"action_required",
"stale",
null,
"skipped",
"startup_failure"
],
"type": "string",
"nullable": true,
"description": "The summary conclusion for all check runs that are part of the check suite. This value will be `null` until the check run has `completed`."
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"head_branch": {
"type": "string",
"nullable": true,
"description": "The head branch name the changes are on."
},
"head_commit": {
"type": "object",
"title": "SimpleCommit",
"required": [
"id",
"tree_id",
"message",
"timestamp",
"author",
"committer"
],
"properties": {
"id": {
"type": "string"
},
"author": {
"type": "object",
"title": "Committer",
"required": [
"email",
"name"
],
"properties": {
"date": {
"type": "string",
"format": "date-time"
},
"name": {
"type": "string",
"description": "The git author's name."
},
"email": {
"type": "string",
"format": "email",
"nullable": true
},
"username": {
"type": "string"
}
},
"description": "Metaproperties for Git author/committer information."
},
"message": {
"type": "string"
},
"tree_id": {
"type": "string"
},
"committer": {
"type": "object",
"title": "Committer",
"required": [
"email",
"name"
],
"properties": {
"date": {
"type": "string",
"format": "date-time"
},
"name": {
"type": "string",
"description": "The git author's name."
},
"email": {
"type": "string",
"format": "email",
"nullable": true
},
"username": {
"type": "string"
}
},
"description": "Metaproperties for Git author/committer information."
},
"timestamp": {
"type": "string"
}
}
},
"pull_requests": {
"type": "array",
"items": {
"type": "object",
"title": "Check Run Pull Request",
"required": [
"url",
"id",
"number",
"head",
"base"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"base": {
"type": "object",
"required": [
"ref",
"sha",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repo Ref",
"required": [
"id",
"url",
"name"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
}
}
}
}
},
"head": {
"type": "object",
"required": [
"ref",
"sha",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repo Ref",
"required": [
"id",
"url",
"name"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
}
}
}
}
},
"number": {
"type": "integer"
}
}
},
"description": "An array of pull requests that match this check suite. A pull request matches a check suite if they have the same `head_sha` and `head_branch`. When the check suite's `head_branch` is in a forked repository it will be `null` and the `pull_requests` array will be empty."
},
"rerequestable": {
"type": "boolean"
},
"check_runs_url": {
"type": "string",
"format": "uri"
},
"runs_rerequestable": {
"type": "boolean"
},
"latest_check_runs_count": {
"type": "integer"
}
},
"description": "The [check_suite](https://docs.github.com/rest/checks/suites#get-a-check-suite)."
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-check-suite-requested
{
"type": "object",
"title": "check_suite requested event",
"required": [
"action",
"check_suite",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"requested"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"check_suite": {
"type": "object",
"required": [
"id",
"node_id",
"head_branch",
"head_sha",
"status",
"conclusion",
"url",
"before",
"after",
"pull_requests",
"app",
"created_at",
"updated_at",
"latest_check_runs_count",
"check_runs_url",
"head_commit"
],
"properties": {
"id": {
"type": "integer"
},
"app": {
"type": "object",
"title": "App",
"required": [
"id",
"node_id",
"owner",
"name",
"description",
"external_url",
"html_url",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"nullable": true,
"description": "Unique identifier of the GitHub app"
},
"name": {
"type": "string",
"description": "The name of the GitHub app"
},
"slug": {
"type": "string",
"description": "The slug name of the GitHub app"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"events": {
"type": "array",
"items": {
"enum": [
"branch_protection_rule",
"check_run",
"check_suite",
"code_scanning_alert",
"commit_comment",
"content_reference",
"create",
"delete",
"deployment",
"deployment_review",
"deployment_status",
"deploy_key",
"discussion",
"discussion_comment",
"fork",
"gollum",
"issues",
"issue_comment",
"label",
"member",
"membership",
"milestone",
"organization",
"org_block",
"page_build",
"project",
"project_card",
"project_column",
"public",
"pull_request",
"pull_request_review",
"pull_request_review_comment",
"push",
"registry_package",
"release",
"repository",
"repository_dispatch",
"secret_scanning_alert",
"star",
"status",
"team",
"team_add",
"watch",
"workflow_dispatch",
"workflow_run",
"pull_request_review_thread",
"workflow_job",
"merge_queue_entry",
"security_and_analysis",
"secret_scanning_alert_location",
"projects_v2_item",
"merge_group",
"repository_import"
],
"type": "string"
},
"description": "The list of events for the GitHub app"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"client_id": {
"type": "string",
"nullable": true,
"description": "Client ID of the GitHub app"
},
"created_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"permissions": {
"type": "object",
"properties": {
"keys": {
"enum": [
"read",
"write"
],
"type": "string"
},
"pages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"checks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"emails": {
"enum": [
"read",
"write"
],
"type": "string"
},
"issues": {
"enum": [
"read",
"write"
],
"type": "string"
},
"models": {
"enum": [
"read",
"write"
],
"type": "string"
},
"actions": {
"enum": [
"read",
"write"
],
"type": "string"
},
"members": {
"enum": [
"read",
"write"
],
"type": "string"
},
"secrets": {
"enum": [
"read",
"write"
],
"type": "string"
},
"contents": {
"enum": [
"read",
"write"
],
"type": "string"
},
"metadata": {
"enum": [
"read",
"write"
],
"type": "string"
},
"packages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"statuses": {
"enum": [
"read",
"write"
],
"type": "string"
},
"workflows": {
"enum": [
"read",
"write"
],
"type": "string"
},
"deployments": {
"enum": [
"read",
"write"
],
"type": "string"
},
"discussions": {
"enum": [
"read",
"write"
],
"type": "string"
},
"single_file": {
"enum": [
"read",
"write"
],
"type": "string"
},
"attestations": {
"enum": [
"read",
"write"
],
"type": "string"
},
"environments": {
"enum": [
"read",
"write"
],
"type": "string"
},
"merge_queues": {
"enum": [
"read",
"write"
],
"type": "string"
},
"pull_requests": {
"enum": [
"read",
"write"
],
"type": "string"
},
"administration": {
"enum": [
"read",
"write"
],
"type": "string"
},
"security_events": {
"enum": [
"read",
"write"
],
"type": "string"
},
"copilot_requests": {
"enum": [
"write"
],
"type": "string"
},
"repository_hooks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"artifact_metadata": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_plan": {
"enum": [
"read",
"write"
],
"type": "string"
},
"content_references": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_hooks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"repository_projects": {
"enum": [
"read",
"write",
"admin"
],
"type": "string"
},
"organization_secrets": {
"enum": [
"read",
"write"
],
"type": "string"
},
"vulnerability_alerts": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_packages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_projects": {
"enum": [
"read",
"write",
"admin"
],
"type": "string"
},
"secret_scanning_alerts": {
"enum": [
"read",
"write"
],
"type": "string"
},
"security_scanning_alert": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_user_blocking": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_administration": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_self_hosted_runners": {
"enum": [
"read",
"write"
],
"type": "string"
}
},
"description": "The set of permissions for the GitHub app"
},
"external_url": {
"type": "string",
"format": "uri",
"nullable": true
}
},
"description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub."
},
"url": {
"type": "string",
"format": "uri",
"description": "URL that points to the check suite API resource."
},
"after": {
"type": "string",
"nullable": true
},
"before": {
"type": "string",
"nullable": true
},
"status": {
"enum": [
"requested",
"in_progress",
"completed",
"queued",
null
],
"type": "string",
"nullable": true,
"description": "The summary status for all check runs that are part of the check suite. Can be `requested`, `in_progress`, or `completed`."
},
"node_id": {
"type": "string"
},
"head_sha": {
"type": "string",
"description": "The SHA of the head commit that is being checked."
},
"conclusion": {
"enum": [
"success",
"failure",
"neutral",
"cancelled",
"timed_out",
"action_required",
"stale",
null,
"skipped"
],
"type": "string",
"nullable": true,
"description": "The summary conclusion for all check runs that are part of the check suite. This value will be `null` until the check run has completed."
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"head_branch": {
"type": "string",
"nullable": true,
"description": "The head branch name the changes are on."
},
"head_commit": {
"type": "object",
"title": "SimpleCommit",
"required": [
"id",
"tree_id",
"message",
"timestamp",
"author",
"committer"
],
"properties": {
"id": {
"type": "string"
},
"author": {
"type": "object",
"title": "Committer",
"required": [
"email",
"name"
],
"properties": {
"date": {
"type": "string",
"format": "date-time"
},
"name": {
"type": "string",
"description": "The git author's name."
},
"email": {
"type": "string",
"format": "email",
"nullable": true
},
"username": {
"type": "string"
}
},
"description": "Metaproperties for Git author/committer information."
},
"message": {
"type": "string"
},
"tree_id": {
"type": "string"
},
"committer": {
"type": "object",
"title": "Committer",
"required": [
"email",
"name"
],
"properties": {
"date": {
"type": "string",
"format": "date-time"
},
"name": {
"type": "string",
"description": "The git author's name."
},
"email": {
"type": "string",
"format": "email",
"nullable": true
},
"username": {
"type": "string"
}
},
"description": "Metaproperties for Git author/committer information."
},
"timestamp": {
"type": "string"
}
}
},
"pull_requests": {
"type": "array",
"items": {
"type": "object",
"title": "Check Run Pull Request",
"required": [
"url",
"id",
"number",
"head",
"base"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"base": {
"type": "object",
"required": [
"ref",
"sha",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repo Ref",
"required": [
"id",
"url",
"name"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
}
}
}
}
},
"head": {
"type": "object",
"required": [
"ref",
"sha",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repo Ref",
"required": [
"id",
"url",
"name"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
}
}
}
}
},
"number": {
"type": "integer"
}
}
},
"description": "An array of pull requests that match this check suite. A pull request matches a check suite if they have the same `head_sha` and `head_branch`. When the check suite's `head_branch` is in a forked repository it will be `null` and the `pull_requests` array will be empty."
},
"rerequestable": {
"type": "boolean"
},
"check_runs_url": {
"type": "string",
"format": "uri"
},
"runs_rerequestable": {
"type": "boolean"
},
"latest_check_runs_count": {
"type": "integer"
}
},
"description": "The [check_suite](https://docs.github.com/rest/checks/suites#get-a-check-suite)."
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-check-suite-rerequested
{
"type": "object",
"title": "check_suite rerequested event",
"required": [
"action",
"check_suite",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"rerequested"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"check_suite": {
"type": "object",
"required": [
"id",
"node_id",
"head_branch",
"head_sha",
"status",
"conclusion",
"url",
"before",
"after",
"pull_requests",
"app",
"created_at",
"updated_at",
"latest_check_runs_count",
"check_runs_url",
"head_commit"
],
"properties": {
"id": {
"type": "integer"
},
"app": {
"type": "object",
"title": "App",
"required": [
"id",
"node_id",
"owner",
"name",
"description",
"external_url",
"html_url",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"nullable": true,
"description": "Unique identifier of the GitHub app"
},
"name": {
"type": "string",
"description": "The name of the GitHub app"
},
"slug": {
"type": "string",
"description": "The slug name of the GitHub app"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"events": {
"type": "array",
"items": {
"enum": [
"branch_protection_rule",
"check_run",
"check_suite",
"code_scanning_alert",
"commit_comment",
"content_reference",
"create",
"delete",
"deployment",
"deployment_review",
"deployment_status",
"deploy_key",
"discussion",
"discussion_comment",
"fork",
"gollum",
"issues",
"issue_comment",
"label",
"member",
"membership",
"milestone",
"organization",
"org_block",
"page_build",
"project",
"project_card",
"project_column",
"public",
"pull_request",
"pull_request_review",
"pull_request_review_comment",
"push",
"registry_package",
"release",
"repository",
"repository_dispatch",
"secret_scanning_alert",
"star",
"status",
"team",
"team_add",
"watch",
"workflow_dispatch",
"workflow_run",
"pull_request_review_thread",
"merge_queue_entry",
"workflow_job"
],
"type": "string"
},
"description": "The list of events for the GitHub app"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"client_id": {
"type": "string",
"nullable": true,
"description": "The Client ID for the GitHub app"
},
"created_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"permissions": {
"type": "object",
"properties": {
"keys": {
"enum": [
"read",
"write"
],
"type": "string"
},
"pages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"checks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"emails": {
"enum": [
"read",
"write"
],
"type": "string"
},
"issues": {
"enum": [
"read",
"write"
],
"type": "string"
},
"models": {
"enum": [
"read",
"write"
],
"type": "string"
},
"actions": {
"enum": [
"read",
"write"
],
"type": "string"
},
"members": {
"enum": [
"read",
"write"
],
"type": "string"
},
"secrets": {
"enum": [
"read",
"write"
],
"type": "string"
},
"contents": {
"enum": [
"read",
"write"
],
"type": "string"
},
"metadata": {
"enum": [
"read",
"write"
],
"type": "string"
},
"packages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"statuses": {
"enum": [
"read",
"write"
],
"type": "string"
},
"workflows": {
"enum": [
"read",
"write"
],
"type": "string"
},
"deployments": {
"enum": [
"read",
"write"
],
"type": "string"
},
"discussions": {
"enum": [
"read",
"write"
],
"type": "string"
},
"single_file": {
"enum": [
"read",
"write"
],
"type": "string"
},
"attestations": {
"enum": [
"read",
"write"
],
"type": "string"
},
"environments": {
"enum": [
"read",
"write"
],
"type": "string"
},
"merge_queues": {
"enum": [
"read",
"write"
],
"type": "string"
},
"pull_requests": {
"enum": [
"read",
"write"
],
"type": "string"
},
"administration": {
"enum": [
"read",
"write"
],
"type": "string"
},
"security_events": {
"enum": [
"read",
"write"
],
"type": "string"
},
"copilot_requests": {
"enum": [
"write"
],
"type": "string"
},
"repository_hooks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"artifact_metadata": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_plan": {
"enum": [
"read",
"write"
],
"type": "string"
},
"content_references": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_hooks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"repository_projects": {
"enum": [
"read",
"write",
"admin"
],
"type": "string"
},
"organization_secrets": {
"enum": [
"read",
"write"
],
"type": "string"
},
"vulnerability_alerts": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_packages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_projects": {
"enum": [
"read",
"write",
"admin"
],
"type": "string"
},
"secret_scanning_alerts": {
"enum": [
"read",
"write"
],
"type": "string"
},
"security_scanning_alert": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_user_blocking": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_administration": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_self_hosted_runners": {
"enum": [
"read",
"write"
],
"type": "string"
}
},
"description": "The set of permissions for the GitHub app"
},
"external_url": {
"type": "string",
"format": "uri",
"nullable": true
}
},
"description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub."
},
"url": {
"type": "string",
"format": "uri",
"description": "URL that points to the check suite API resource."
},
"after": {
"type": "string",
"nullable": true
},
"before": {
"type": "string",
"nullable": true
},
"status": {
"enum": [
"requested",
"in_progress",
"completed",
"queued",
null
],
"type": "string",
"nullable": true,
"description": "The summary status for all check runs that are part of the check suite. Can be `requested`, `in_progress`, or `completed`."
},
"node_id": {
"type": "string"
},
"head_sha": {
"type": "string",
"description": "The SHA of the head commit that is being checked."
},
"conclusion": {
"enum": [
"success",
"failure",
"neutral",
"cancelled",
"timed_out",
"action_required",
"stale",
null
],
"type": "string",
"nullable": true,
"description": "The summary conclusion for all check runs that are part of the check suite. This value will be `null` until the check run has completed."
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"head_branch": {
"type": "string",
"nullable": true,
"description": "The head branch name the changes are on."
},
"head_commit": {
"type": "object",
"title": "SimpleCommit",
"required": [
"id",
"tree_id",
"message",
"timestamp",
"author",
"committer"
],
"properties": {
"id": {
"type": "string"
},
"author": {
"type": "object",
"title": "Committer",
"required": [
"email",
"name"
],
"properties": {
"date": {
"type": "string",
"format": "date-time"
},
"name": {
"type": "string",
"description": "The git author's name."
},
"email": {
"type": "string",
"format": "email",
"nullable": true
},
"username": {
"type": "string"
}
},
"description": "Metaproperties for Git author/committer information."
},
"message": {
"type": "string"
},
"tree_id": {
"type": "string"
},
"committer": {
"type": "object",
"title": "Committer",
"required": [
"email",
"name"
],
"properties": {
"date": {
"type": "string",
"format": "date-time"
},
"name": {
"type": "string",
"description": "The git author's name."
},
"email": {
"type": "string",
"format": "email",
"nullable": true
},
"username": {
"type": "string"
}
},
"description": "Metaproperties for Git author/committer information."
},
"timestamp": {
"type": "string"
}
}
},
"pull_requests": {
"type": "array",
"items": {
"type": "object",
"title": "Check Run Pull Request",
"required": [
"url",
"id",
"number",
"head",
"base"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"base": {
"type": "object",
"required": [
"ref",
"sha",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repo Ref",
"required": [
"id",
"url",
"name"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
}
}
}
}
},
"head": {
"type": "object",
"required": [
"ref",
"sha",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repo Ref",
"required": [
"id",
"url",
"name"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
}
}
}
}
},
"number": {
"type": "integer"
}
}
},
"description": "An array of pull requests that match this check suite. A pull request matches a check suite if they have the same `head_sha` and `head_branch`. When the check suite's `head_branch` is in a forked repository it will be `null` and the `pull_requests` array will be empty."
},
"rerequestable": {
"type": "boolean"
},
"check_runs_url": {
"type": "string",
"format": "uri"
},
"runs_rerequestable": {
"type": "boolean"
},
"latest_check_runs_count": {
"type": "integer"
}
},
"description": "The [check_suite](https://docs.github.com/rest/checks/suites#get-a-check-suite)."
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-code-scanning-alert-appeared-in-branch
{
"type": "object",
"title": "code_scanning_alert appeared_in_branch event",
"required": [
"action",
"alert",
"ref",
"commit_oid",
"repository",
"sender"
],
"properties": {
"ref": {
"$ref": "#/components/schemas/webhooks_code_scanning_ref"
},
"alert": {
"type": "object",
"required": [
"number",
"created_at",
"url",
"html_url",
"state",
"dismissed_by",
"dismissed_at",
"dismissed_reason",
"rule",
"tool"
],
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"rule": {
"type": "object",
"required": [
"id",
"severity",
"description"
],
"properties": {
"id": {
"type": "string",
"description": "A unique identifier for the rule used to detect the alert."
},
"severity": {
"enum": [
"none",
"note",
"warning",
"error",
null
],
"type": "string",
"nullable": true,
"description": "The severity of the alert."
},
"description": {
"type": "string",
"description": "A short description of the rule used to detect the alert."
}
}
},
"tool": {
"type": "object",
"required": [
"name",
"version"
],
"properties": {
"name": {
"type": "string",
"description": "The name of the tool used to generate the code scanning analysis alert."
},
"version": {
"type": "string",
"nullable": true,
"description": "The version of the tool used to detect the alert."
}
}
},
"state": {
"enum": [
"open",
"dismissed",
"fixed"
],
"type": "string",
"nullable": true,
"description": "State of a code scanning alert. Events for alerts found outside the default branch will return a `null` value until they are dismissed or fixed."
},
"number": {
"type": "integer",
"description": "The code scanning alert number."
},
"fixed_at": {
"nullable": true,
"description": "The time that the alert was fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`."
},
"html_url": {
"type": "string",
"format": "uri",
"description": "The GitHub URL of the alert resource."
},
"assignees": {
"type": "array",
"items": {
"$ref": "#/components/schemas/simple-user"
}
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.`"
},
"dismissed_at": {
"type": "string",
"format": "date-time",
"nullable": true,
"description": "The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`."
},
"dismissed_by": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"dismissed_reason": {
"enum": [
"false positive",
"won't fix",
"used in tests",
null
],
"type": "string",
"nullable": true,
"description": "The reason for dismissing or closing the alert."
},
"dismissed_comment": {
"$ref": "#/components/schemas/code-scanning-alert-dismissed-comment"
},
"most_recent_instance": {
"type": "object",
"title": "Alert Instance",
"nullable": true,
"required": [
"ref",
"analysis_key",
"environment",
"state"
],
"properties": {
"ref": {
"type": "string",
"description": "The full Git reference, formatted as `refs/heads/<branch name>`."
},
"state": {
"enum": [
"open",
"dismissed",
"fixed"
],
"type": "string",
"description": "State of a code scanning alert."
},
"message": {
"type": "object",
"properties": {
"text": {
"type": "string"
}
}
},
"category": {
"type": "string",
"description": "Identifies the configuration under which the analysis was executed."
},
"location": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"end_line": {
"type": "integer"
},
"end_column": {
"type": "integer"
},
"start_line": {
"type": "integer"
},
"start_column": {
"type": "integer"
}
}
},
"commit_sha": {
"type": "string"
},
"environment": {
"type": "string",
"description": "Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed."
},
"analysis_key": {
"type": "string",
"description": "Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name."
},
"classifications": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"description": "The code scanning alert involved in the event."
},
"action": {
"enum": [
"appeared_in_branch"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"commit_oid": {
"$ref": "#/components/schemas/webhooks_code_scanning_commit_oid"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-code-scanning-alert-closed-by-user
{
"type": "object",
"title": "code_scanning_alert closed_by_user event",
"required": [
"action",
"alert",
"ref",
"commit_oid",
"repository",
"sender"
],
"properties": {
"ref": {
"$ref": "#/components/schemas/webhooks_code_scanning_ref"
},
"alert": {
"type": "object",
"required": [
"number",
"created_at",
"url",
"html_url",
"state",
"dismissed_by",
"dismissed_at",
"dismissed_reason",
"rule",
"tool"
],
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"rule": {
"type": "object",
"required": [
"id",
"severity",
"description"
],
"properties": {
"id": {
"type": "string",
"description": "A unique identifier for the rule used to detect the alert."
},
"help": {
"type": "string",
"nullable": true
},
"name": {
"type": "string"
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"nullable": true
},
"help_uri": {
"type": "string",
"nullable": true,
"description": "A link to the documentation for the rule used to detect the alert."
},
"severity": {
"enum": [
"none",
"note",
"warning",
"error",
null
],
"type": "string",
"nullable": true,
"description": "The severity of the alert."
},
"description": {
"type": "string",
"description": "A short description of the rule used to detect the alert."
},
"full_description": {
"type": "string"
}
}
},
"tool": {
"type": "object",
"required": [
"name",
"version"
],
"properties": {
"guid": {
"type": "string",
"nullable": true
},
"name": {
"type": "string",
"description": "The name of the tool used to generate the code scanning analysis alert."
},
"version": {
"type": "string",
"nullable": true,
"description": "The version of the tool used to detect the alert."
}
}
},
"state": {
"enum": [
"dismissed",
"fixed"
],
"type": "string",
"description": "State of a code scanning alert."
},
"number": {
"type": "integer",
"description": "The code scanning alert number."
},
"fixed_at": {
"nullable": true,
"description": "The time that the alert was fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`."
},
"html_url": {
"type": "string",
"format": "uri",
"description": "The GitHub URL of the alert resource."
},
"assignees": {
"type": "array",
"items": {
"$ref": "#/components/schemas/simple-user"
}
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.`"
},
"dismissed_at": {
"type": "string",
"format": "date-time",
"description": "The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`."
},
"dismissed_by": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"dismissed_reason": {
"enum": [
"false positive",
"won't fix",
"used in tests",
null
],
"type": "string",
"nullable": true,
"description": "The reason for dismissing or closing the alert."
},
"dismissed_comment": {
"$ref": "#/components/schemas/code-scanning-alert-dismissed-comment"
},
"most_recent_instance": {
"type": "object",
"title": "Alert Instance",
"nullable": true,
"required": [
"ref",
"analysis_key",
"environment",
"state"
],
"properties": {
"ref": {
"type": "string",
"description": "The full Git reference, formatted as `refs/heads/<branch name>`."
},
"state": {
"enum": [
"open",
"dismissed",
"fixed"
],
"type": "string",
"description": "State of a code scanning alert."
},
"message": {
"type": "object",
"properties": {
"text": {
"type": "string"
}
}
},
"category": {
"type": "string",
"description": "Identifies the configuration under which the analysis was executed."
},
"location": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"end_line": {
"type": "integer"
},
"end_column": {
"type": "integer"
},
"start_line": {
"type": "integer"
},
"start_column": {
"type": "integer"
}
}
},
"commit_sha": {
"type": "string"
},
"environment": {
"type": "string",
"description": "Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed."
},
"analysis_key": {
"type": "string",
"description": "Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name."
},
"classifications": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"dismissal_approved_by": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
}
},
"description": "The code scanning alert involved in the event."
},
"action": {
"enum": [
"closed_by_user"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"commit_oid": {
"$ref": "#/components/schemas/webhooks_code_scanning_commit_oid"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-code-scanning-alert-created
{
"type": "object",
"title": "code_scanning_alert created event",
"required": [
"action",
"alert",
"ref",
"commit_oid",
"repository",
"sender"
],
"properties": {
"ref": {
"$ref": "#/components/schemas/webhooks_code_scanning_ref"
},
"alert": {
"type": "object",
"required": [
"number",
"created_at",
"url",
"html_url",
"state",
"dismissed_by",
"dismissed_at",
"dismissed_reason",
"rule",
"tool"
],
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"rule": {
"type": "object",
"required": [
"id",
"severity",
"description"
],
"properties": {
"id": {
"type": "string",
"description": "A unique identifier for the rule used to detect the alert."
},
"help": {
"type": "string",
"nullable": true
},
"name": {
"type": "string"
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"nullable": true
},
"help_uri": {
"type": "string",
"nullable": true,
"description": "A link to the documentation for the rule used to detect the alert."
},
"severity": {
"enum": [
"none",
"note",
"warning",
"error",
null
],
"type": "string",
"nullable": true,
"description": "The severity of the alert."
},
"description": {
"type": "string",
"description": "A short description of the rule used to detect the alert."
},
"full_description": {
"type": "string"
}
}
},
"tool": {
"type": "object",
"nullable": true,
"required": [
"name",
"version"
],
"properties": {
"guid": {
"type": "string",
"nullable": true
},
"name": {
"type": "string",
"description": "The name of the tool used to generate the code scanning analysis alert."
},
"version": {
"type": "string",
"nullable": true,
"description": "The version of the tool used to detect the alert."
}
}
},
"state": {
"enum": [
"open",
"dismissed"
],
"type": "string",
"nullable": true,
"description": "State of a code scanning alert. Events for alerts found outside the default branch will return a `null` value until they are dismissed or fixed."
},
"number": {
"type": "integer",
"description": "The code scanning alert number."
},
"fixed_at": {
"nullable": true,
"description": "The time that the alert was fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`."
},
"html_url": {
"type": "string",
"format": "uri",
"description": "The GitHub URL of the alert resource."
},
"assignees": {
"type": "array",
"items": {
"$ref": "#/components/schemas/simple-user"
}
},
"created_at": {
"type": "string",
"format": "date-time",
"nullable": true,
"description": "The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.`"
},
"updated_at": {
"type": "string",
"nullable": true
},
"dismissed_at": {
"nullable": true,
"description": "The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`."
},
"dismissed_by": {
"nullable": true
},
"instances_url": {
"type": "string"
},
"dismissed_reason": {
"nullable": true,
"description": "The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`."
},
"dismissed_comment": {
"$ref": "#/components/schemas/code-scanning-alert-dismissed-comment"
},
"most_recent_instance": {
"type": "object",
"title": "Alert Instance",
"nullable": true,
"required": [
"ref",
"analysis_key",
"environment",
"state"
],
"properties": {
"ref": {
"type": "string",
"description": "The full Git reference, formatted as `refs/heads/<branch name>`."
},
"state": {
"enum": [
"open",
"dismissed",
"fixed"
],
"type": "string",
"description": "State of a code scanning alert."
},
"message": {
"type": "object",
"properties": {
"text": {
"type": "string"
}
}
},
"category": {
"type": "string",
"description": "Identifies the configuration under which the analysis was executed."
},
"location": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"end_line": {
"type": "integer"
},
"end_column": {
"type": "integer"
},
"start_line": {
"type": "integer"
},
"start_column": {
"type": "integer"
}
}
},
"commit_sha": {
"type": "string"
},
"environment": {
"type": "string",
"description": "Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed."
},
"analysis_key": {
"type": "string",
"description": "Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name."
},
"classifications": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"dismissal_approved_by": {
"nullable": true
}
},
"description": "The code scanning alert involved in the event."
},
"action": {
"enum": [
"created"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"commit_oid": {
"$ref": "#/components/schemas/webhooks_code_scanning_commit_oid"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-code-scanning-alert-fixed
{
"type": "object",
"title": "code_scanning_alert fixed event",
"required": [
"action",
"alert",
"ref",
"commit_oid",
"repository",
"sender"
],
"properties": {
"ref": {
"$ref": "#/components/schemas/webhooks_code_scanning_ref"
},
"alert": {
"type": "object",
"required": [
"number",
"created_at",
"url",
"html_url",
"state",
"dismissed_by",
"dismissed_at",
"dismissed_reason",
"rule",
"tool"
],
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"rule": {
"type": "object",
"required": [
"id",
"severity",
"description"
],
"properties": {
"id": {
"type": "string",
"description": "A unique identifier for the rule used to detect the alert."
},
"help": {
"type": "string",
"nullable": true
},
"name": {
"type": "string"
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"nullable": true
},
"help_uri": {
"type": "string",
"nullable": true,
"description": "A link to the documentation for the rule used to detect the alert."
},
"severity": {
"enum": [
"none",
"note",
"warning",
"error",
null
],
"type": "string",
"nullable": true,
"description": "The severity of the alert."
},
"description": {
"type": "string",
"description": "A short description of the rule used to detect the alert."
},
"full_description": {
"type": "string"
}
}
},
"tool": {
"type": "object",
"required": [
"name",
"version"
],
"properties": {
"guid": {
"type": "string",
"nullable": true
},
"name": {
"type": "string",
"description": "The name of the tool used to generate the code scanning analysis alert."
},
"version": {
"type": "string",
"nullable": true,
"description": "The version of the tool used to detect the alert."
}
}
},
"state": {
"enum": [
"fixed"
],
"type": "string",
"nullable": true,
"description": "State of a code scanning alert. Events for alerts found outside the default branch will return a `null` value until they are dismissed or fixed."
},
"number": {
"type": "integer",
"description": "The code scanning alert number."
},
"fixed_at": {
"nullable": true,
"description": "The time that the alert was fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`."
},
"html_url": {
"type": "string",
"format": "uri",
"description": "The GitHub URL of the alert resource."
},
"assignees": {
"type": "array",
"items": {
"$ref": "#/components/schemas/simple-user"
}
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.`"
},
"dismissed_at": {
"type": "string",
"format": "date-time",
"nullable": true,
"description": "The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`."
},
"dismissed_by": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"instances_url": {
"type": "string",
"format": "uri"
},
"dismissed_reason": {
"enum": [
"false positive",
"won't fix",
"used in tests",
null
],
"type": "string",
"nullable": true,
"description": "The reason for dismissing or closing the alert."
},
"dismissed_comment": {
"$ref": "#/components/schemas/code-scanning-alert-dismissed-comment"
},
"most_recent_instance": {
"type": "object",
"title": "Alert Instance",
"nullable": true,
"required": [
"ref",
"analysis_key",
"environment",
"state"
],
"properties": {
"ref": {
"type": "string",
"description": "The full Git reference, formatted as `refs/heads/<branch name>`."
},
"state": {
"enum": [
"open",
"dismissed",
"fixed"
],
"type": "string",
"description": "State of a code scanning alert."
},
"message": {
"type": "object",
"properties": {
"text": {
"type": "string"
}
}
},
"category": {
"type": "string",
"description": "Identifies the configuration under which the analysis was executed."
},
"location": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"end_line": {
"type": "integer"
},
"end_column": {
"type": "integer"
},
"start_line": {
"type": "integer"
},
"start_column": {
"type": "integer"
}
}
},
"commit_sha": {
"type": "string"
},
"environment": {
"type": "string",
"description": "Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed."
},
"analysis_key": {
"type": "string",
"description": "Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name."
},
"classifications": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"description": "The code scanning alert involved in the event."
},
"action": {
"enum": [
"fixed"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"commit_oid": {
"$ref": "#/components/schemas/webhooks_code_scanning_commit_oid"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-code-scanning-alert-reopened
{
"type": "object",
"title": "code_scanning_alert reopened event",
"required": [
"action",
"alert",
"ref",
"commit_oid",
"repository",
"sender"
],
"properties": {
"ref": {
"type": "string",
"nullable": true,
"description": "The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty."
},
"alert": {
"type": "object",
"required": [
"number",
"created_at",
"url",
"html_url",
"state",
"dismissed_by",
"dismissed_at",
"dismissed_reason",
"rule",
"tool"
],
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"rule": {
"type": "object",
"required": [
"id",
"severity",
"description"
],
"properties": {
"id": {
"type": "string",
"description": "A unique identifier for the rule used to detect the alert."
},
"help": {
"type": "string",
"nullable": true
},
"name": {
"type": "string"
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"nullable": true
},
"help_uri": {
"type": "string",
"nullable": true,
"description": "A link to the documentation for the rule used to detect the alert."
},
"severity": {
"enum": [
"none",
"note",
"warning",
"error",
null
],
"type": "string",
"nullable": true,
"description": "The severity of the alert."
},
"description": {
"type": "string",
"description": "A short description of the rule used to detect the alert."
},
"full_description": {
"type": "string"
}
}
},
"tool": {
"type": "object",
"required": [
"name",
"version"
],
"properties": {
"guid": {
"type": "string",
"nullable": true
},
"name": {
"type": "string",
"description": "The name of the tool used to generate the code scanning analysis alert."
},
"version": {
"type": "string",
"nullable": true,
"description": "The version of the tool used to detect the alert."
}
}
},
"state": {
"enum": [
"open",
"dismissed",
"fixed"
],
"type": "string",
"nullable": true,
"description": "State of a code scanning alert. Events for alerts found outside the default branch will return a `null` value until they are dismissed or fixed."
},
"number": {
"type": "integer",
"description": "The code scanning alert number."
},
"fixed_at": {
"nullable": true,
"description": "The time that the alert was fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`."
},
"html_url": {
"type": "string",
"format": "uri",
"description": "The GitHub URL of the alert resource."
},
"assignees": {
"type": "array",
"items": {
"$ref": "#/components/schemas/simple-user"
}
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.`"
},
"updated_at": {
"type": "string",
"nullable": true
},
"dismissed_at": {
"type": "string",
"nullable": true,
"description": "The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`."
},
"dismissed_by": {
"type": "object",
"nullable": true
},
"instances_url": {
"type": "string"
},
"dismissed_reason": {
"type": "string",
"nullable": true,
"description": "The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`."
},
"dismissed_comment": {
"$ref": "#/components/schemas/code-scanning-alert-dismissed-comment"
},
"most_recent_instance": {
"type": "object",
"title": "Alert Instance",
"nullable": true,
"required": [
"ref",
"analysis_key",
"environment",
"state"
],
"properties": {
"ref": {
"type": "string",
"description": "The full Git reference, formatted as `refs/heads/<branch name>`."
},
"state": {
"enum": [
"open",
"dismissed",
"fixed"
],
"type": "string",
"description": "State of a code scanning alert."
},
"message": {
"type": "object",
"properties": {
"text": {
"type": "string"
}
}
},
"category": {
"type": "string",
"description": "Identifies the configuration under which the analysis was executed."
},
"location": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"end_line": {
"type": "integer"
},
"end_column": {
"type": "integer"
},
"start_line": {
"type": "integer"
},
"start_column": {
"type": "integer"
}
}
},
"commit_sha": {
"type": "string"
},
"environment": {
"type": "string",
"description": "Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed."
},
"analysis_key": {
"type": "string",
"description": "Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name."
},
"classifications": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"dismissal_approved_by": {
"nullable": true
}
},
"description": "The code scanning alert involved in the event."
},
"action": {
"enum": [
"reopened"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"commit_oid": {
"type": "string",
"nullable": true,
"description": "The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty."
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-code-scanning-alert-reopened-by-user
{
"type": "object",
"title": "code_scanning_alert reopened_by_user event",
"required": [
"action",
"alert",
"ref",
"commit_oid",
"repository",
"sender"
],
"properties": {
"ref": {
"$ref": "#/components/schemas/webhooks_code_scanning_ref"
},
"alert": {
"type": "object",
"required": [
"number",
"created_at",
"url",
"html_url",
"state",
"dismissed_by",
"dismissed_at",
"dismissed_reason",
"rule",
"tool"
],
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"rule": {
"type": "object",
"required": [
"id",
"severity",
"description"
],
"properties": {
"id": {
"type": "string",
"description": "A unique identifier for the rule used to detect the alert."
},
"severity": {
"enum": [
"none",
"note",
"warning",
"error",
null
],
"type": "string",
"nullable": true,
"description": "The severity of the alert."
},
"description": {
"type": "string",
"description": "A short description of the rule used to detect the alert."
}
}
},
"tool": {
"type": "object",
"required": [
"name",
"version"
],
"properties": {
"name": {
"type": "string",
"description": "The name of the tool used to generate the code scanning analysis alert."
},
"version": {
"type": "string",
"nullable": true,
"description": "The version of the tool used to detect the alert."
}
}
},
"state": {
"enum": [
"open",
"fixed"
],
"type": "string",
"nullable": true,
"description": "State of a code scanning alert. Events for alerts found outside the default branch will return a `null` value until they are dismissed or fixed."
},
"number": {
"type": "integer",
"description": "The code scanning alert number."
},
"fixed_at": {
"nullable": true,
"description": "The time that the alert was fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`."
},
"html_url": {
"type": "string",
"format": "uri",
"description": "The GitHub URL of the alert resource."
},
"assignees": {
"type": "array",
"items": {
"$ref": "#/components/schemas/simple-user"
}
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.`"
},
"dismissed_at": {
"nullable": true,
"description": "The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`."
},
"dismissed_by": {
"nullable": true
},
"dismissed_reason": {
"nullable": true,
"description": "The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`."
},
"dismissed_comment": {
"$ref": "#/components/schemas/code-scanning-alert-dismissed-comment"
},
"most_recent_instance": {
"type": "object",
"title": "Alert Instance",
"nullable": true,
"required": [
"ref",
"analysis_key",
"environment",
"state"
],
"properties": {
"ref": {
"type": "string",
"description": "The full Git reference, formatted as `refs/heads/<branch name>`."
},
"state": {
"enum": [
"open",
"dismissed",
"fixed"
],
"type": "string",
"description": "State of a code scanning alert."
},
"message": {
"type": "object",
"properties": {
"text": {
"type": "string"
}
}
},
"category": {
"type": "string",
"description": "Identifies the configuration under which the analysis was executed."
},
"location": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"end_line": {
"type": "integer"
},
"end_column": {
"type": "integer"
},
"start_line": {
"type": "integer"
},
"start_column": {
"type": "integer"
}
}
},
"commit_sha": {
"type": "string"
},
"environment": {
"type": "string",
"description": "Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed."
},
"analysis_key": {
"type": "string",
"description": "Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name."
},
"classifications": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"description": "The code scanning alert involved in the event."
},
"action": {
"enum": [
"reopened_by_user"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"commit_oid": {
"$ref": "#/components/schemas/webhooks_code_scanning_commit_oid"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-code-scanning-alert-updated-assignment
{
"type": "object",
"title": "code_scanning_alert updated_assignment event",
"required": [
"action",
"alert",
"repository",
"sender"
],
"properties": {
"alert": {
"type": "object",
"required": [
"number",
"created_at",
"url",
"html_url",
"state",
"dismissed_by",
"dismissed_at",
"dismissed_reason",
"rule",
"tool"
],
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"rule": {
"type": "object",
"required": [
"id",
"severity",
"description"
],
"properties": {
"id": {
"type": "string",
"description": "A unique identifier for the rule used to detect the alert."
},
"severity": {
"enum": [
"none",
"note",
"warning",
"error",
null
],
"type": "string",
"nullable": true,
"description": "The severity of the alert."
},
"description": {
"type": "string",
"description": "A short description of the rule used to detect the alert."
}
}
},
"tool": {
"type": "object",
"required": [
"name",
"version"
],
"properties": {
"name": {
"type": "string",
"description": "The name of the tool used to generate the code scanning analysis alert."
},
"version": {
"type": "string",
"nullable": true,
"description": "The version of the tool used to detect the alert."
}
}
},
"state": {
"enum": [
"open",
"dismissed",
"fixed"
],
"type": "string",
"nullable": true,
"description": "State of a code scanning alert. Events for alerts found outside the default branch will return a `null` value until they are dismissed or fixed."
},
"number": {
"type": "integer",
"description": "The code scanning alert number."
},
"fixed_at": {
"nullable": true,
"description": "The time that the alert was fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`."
},
"html_url": {
"type": "string",
"format": "uri",
"description": "The GitHub URL of the alert resource."
},
"assignees": {
"type": "array",
"items": {
"$ref": "#/components/schemas/simple-user"
}
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.`"
},
"dismissed_at": {
"type": "string",
"format": "date-time",
"nullable": true,
"description": "The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`."
},
"dismissed_by": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"dismissed_reason": {
"enum": [
"false positive",
"won't fix",
"used in tests",
null
],
"type": "string",
"nullable": true,
"description": "The reason for dismissing or closing the alert."
},
"dismissed_comment": {
"$ref": "#/components/schemas/code-scanning-alert-dismissed-comment"
},
"most_recent_instance": {
"type": "object",
"title": "Alert Instance",
"nullable": true,
"required": [
"ref",
"analysis_key",
"environment",
"state"
],
"properties": {
"ref": {
"type": "string",
"description": "The full Git reference, formatted as `refs/heads/<branch name>`."
},
"state": {
"enum": [
"open",
"dismissed",
"fixed"
],
"type": "string",
"description": "State of a code scanning alert."
},
"message": {
"type": "object",
"properties": {
"text": {
"type": "string"
}
}
},
"category": {
"type": "string",
"description": "Identifies the configuration under which the analysis was executed."
},
"location": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"end_line": {
"type": "integer"
},
"end_column": {
"type": "integer"
},
"start_line": {
"type": "integer"
},
"start_column": {
"type": "integer"
}
}
},
"commit_sha": {
"type": "string"
},
"environment": {
"type": "string",
"description": "Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed."
},
"analysis_key": {
"type": "string",
"description": "Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name."
},
"classifications": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"description": "The code scanning alert involved in the event."
},
"action": {
"enum": [
"updated_assignment"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-commit-comment-created
{
"type": "object",
"title": "commit_comment created event",
"required": [
"action",
"comment",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"created"
],
"type": "string",
"description": "The action performed. Can be `created`."
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"comment": {
"type": "object",
"required": [
"url",
"html_url",
"id",
"node_id",
"user",
"position",
"line",
"path",
"commit_id",
"created_at",
"updated_at",
"author_association",
"body"
],
"properties": {
"id": {
"type": "integer",
"description": "The ID of the commit comment."
},
"url": {
"type": "string",
"format": "uri"
},
"body": {
"type": "string",
"description": "The text of the comment."
},
"line": {
"type": "integer",
"nullable": true,
"description": "The line of the blob to which the comment applies. The last line of the range for a multi-line comment"
},
"path": {
"type": "string",
"nullable": true,
"description": "The relative path of the file to which the comment applies."
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string",
"description": "The node ID of the commit comment."
},
"html_url": {
"type": "string",
"format": "uri"
},
"position": {
"type": "integer",
"nullable": true,
"description": "The line index in the diff to which the comment applies."
},
"commit_id": {
"type": "string",
"description": "The SHA of the commit to which the comment applies."
},
"reactions": {
"type": "object",
"title": "Reactions",
"required": [
"url",
"total_count",
"+1",
"-1",
"laugh",
"confused",
"heart",
"hooray",
"eyes",
"rocket"
],
"properties": {
"+1": {
"type": "integer"
},
"-1": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"eyes": {
"type": "integer"
},
"heart": {
"type": "integer"
},
"laugh": {
"type": "integer"
},
"hooray": {
"type": "integer"
},
"rocket": {
"type": "integer"
},
"confused": {
"type": "integer"
},
"total_count": {
"type": "integer"
}
}
},
"created_at": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
}
},
"description": "The [commit comment](${externalDocsUpapp/api/description/components/schemas/webhooks/issue-comment-created.yamlrl}/rest/commits/comments#get-a-commit-comment) resource."
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-config
{
"type": "object",
"title": "Webhook Configuration",
"properties": {
"url": {
"$ref": "#/components/schemas/webhook-config-url"
},
"secret": {
"$ref": "#/components/schemas/webhook-config-secret"
},
"content_type": {
"$ref": "#/components/schemas/webhook-config-content-type"
},
"insecure_ssl": {
"$ref": "#/components/schemas/webhook-config-insecure-ssl"
}
},
"description": "Configuration object of the webhook"
}
webhook-config-content-type
{
"type": "string",
"example": "\"json\"",
"description": "The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`."
}
webhook-config-insecure-ssl
{
"oneOf": [
{
"type": "string",
"example": "\"0\"",
"description": "Determines whether the SSL certificate of the host for `url` will be verified when delivering payloads. Supported values include `0` (verification is performed) and `1` (verification is not performed). The default is `0`. **We strongly recommend not setting this to `1` as you are subject to man-in-the-middle and other attacks.**"
},
{
"type": "number"
}
]
}
webhook-config-secret
{
"type": "string",
"example": "\"********\"",
"description": "If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value for [delivery signature headers](https://docs.github.com/webhooks/event-payloads/#delivery-headers)."
}
webhook-config-url
{
"type": "string",
"format": "uri",
"example": "https://example.com/webhook",
"description": "The URL to which the payloads will be delivered."
}
webhook-create
{
"type": "object",
"title": "create event",
"required": [
"ref",
"ref_type",
"master_branch",
"description",
"pusher_type",
"repository",
"sender"
],
"properties": {
"ref": {
"$ref": "#/components/schemas/webhooks_ref_0"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"ref_type": {
"enum": [
"tag",
"branch"
],
"type": "string",
"description": "The type of Git ref object created in the repository."
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"description": {
"type": "string",
"nullable": true,
"description": "The repository's current description."
},
"pusher_type": {
"$ref": "#/components/schemas/webhooks_deploy_pusher_type"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"master_branch": {
"type": "string",
"description": "The name of the repository's default branch (usually `main`)."
}
}
}
webhook-custom-property-created
{
"type": "object",
"title": "custom property created event",
"required": [
"action",
"definition"
],
"properties": {
"action": {
"enum": [
"created"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"definition": {
"$ref": "#/components/schemas/custom-property"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-custom-property-deleted
{
"type": "object",
"title": "custom property deleted event",
"required": [
"action",
"definition"
],
"properties": {
"action": {
"enum": [
"deleted"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"definition": {
"type": "object",
"required": [
"property_name"
],
"properties": {
"property_name": {
"type": "string",
"description": "The name of the property that was deleted."
}
}
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-custom-property-promoted-to-enterprise
{
"type": "object",
"title": "custom property promoted to business event",
"required": [
"action",
"definition"
],
"properties": {
"action": {
"enum": [
"promote_to_enterprise"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"definition": {
"$ref": "#/components/schemas/custom-property"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-custom-property-updated
{
"type": "object",
"title": "custom property updated event",
"required": [
"action",
"definition"
],
"properties": {
"action": {
"enum": [
"updated"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"definition": {
"$ref": "#/components/schemas/custom-property"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-custom-property-values-updated
{
"type": "object",
"title": "Custom property values updated event",
"required": [
"action",
"repository",
"organization",
"new_property_values",
"old_property_values"
],
"properties": {
"action": {
"enum": [
"updated"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"new_property_values": {
"type": "array",
"items": {
"$ref": "#/components/schemas/custom-property-value"
},
"description": "The new custom property values for the repository."
},
"old_property_values": {
"type": "array",
"items": {
"$ref": "#/components/schemas/custom-property-value"
},
"description": "The old custom property values for the repository."
}
}
}
webhook-delete
{
"type": "object",
"title": "delete event",
"required": [
"ref",
"ref_type",
"pusher_type",
"repository",
"sender"
],
"properties": {
"ref": {
"$ref": "#/components/schemas/webhooks_ref_0"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"ref_type": {
"enum": [
"tag",
"branch"
],
"type": "string",
"description": "The type of Git ref object deleted in the repository."
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"pusher_type": {
"$ref": "#/components/schemas/webhooks_deploy_pusher_type"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-dependabot-alert-assignees-changed
{
"type": "object",
"title": "Dependabot alert assignees changed event",
"required": [
"action",
"alert",
"repository",
"sender"
],
"properties": {
"alert": {
"$ref": "#/components/schemas/dependabot-alert"
},
"action": {
"enum": [
"assignees_changed"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-dependabot-alert-auto-dismissed
{
"type": "object",
"title": "Dependabot alert auto-dismissed event",
"required": [
"action",
"alert",
"repository",
"sender"
],
"properties": {
"alert": {
"$ref": "#/components/schemas/dependabot-alert"
},
"action": {
"enum": [
"auto_dismissed"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-dependabot-alert-auto-reopened
{
"type": "object",
"title": "Dependabot alert auto-reopened event",
"required": [
"action",
"alert",
"repository",
"sender"
],
"properties": {
"alert": {
"$ref": "#/components/schemas/dependabot-alert"
},
"action": {
"enum": [
"auto_reopened"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-dependabot-alert-created
{
"type": "object",
"title": "Dependabot alert created event",
"required": [
"action",
"alert",
"repository",
"sender"
],
"properties": {
"alert": {
"$ref": "#/components/schemas/dependabot-alert"
},
"action": {
"enum": [
"created"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-dependabot-alert-dismissed
{
"type": "object",
"title": "Dependabot alert dismissed event",
"required": [
"action",
"alert",
"repository",
"sender"
],
"properties": {
"alert": {
"$ref": "#/components/schemas/dependabot-alert"
},
"action": {
"enum": [
"dismissed"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-dependabot-alert-fixed
{
"type": "object",
"title": "Dependabot alert fixed event",
"required": [
"action",
"alert",
"repository",
"sender"
],
"properties": {
"alert": {
"$ref": "#/components/schemas/dependabot-alert"
},
"action": {
"enum": [
"fixed"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-dependabot-alert-reintroduced
{
"type": "object",
"title": "Dependabot alert reintroduced event",
"required": [
"action",
"alert",
"repository",
"sender"
],
"properties": {
"alert": {
"$ref": "#/components/schemas/dependabot-alert"
},
"action": {
"enum": [
"reintroduced"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-dependabot-alert-reopened
{
"type": "object",
"title": "Dependabot alert reopened event",
"required": [
"action",
"alert",
"repository",
"sender"
],
"properties": {
"alert": {
"$ref": "#/components/schemas/dependabot-alert"
},
"action": {
"enum": [
"reopened"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-deploy-key-created
{
"type": "object",
"title": "deploy_key created event",
"required": [
"action",
"key",
"repository",
"sender"
],
"properties": {
"key": {
"$ref": "#/components/schemas/webhooks_deploy_key"
},
"action": {
"enum": [
"created"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-deploy-key-deleted
{
"type": "object",
"title": "deploy_key deleted event",
"required": [
"action",
"key",
"repository",
"sender"
],
"properties": {
"key": {
"$ref": "#/components/schemas/webhooks_deploy_key"
},
"action": {
"enum": [
"deleted"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-deployment-created
{
"type": "object",
"title": "deployment created event",
"required": [
"action",
"deployment",
"workflow",
"workflow_run",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"created"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"workflow": {
"$ref": "#/components/schemas/webhooks_workflow"
},
"deployment": {
"type": "object",
"title": "Deployment",
"required": [
"url",
"id",
"node_id",
"sha",
"ref",
"task",
"payload",
"original_environment",
"environment",
"description",
"creator",
"created_at",
"updated_at",
"statuses_url",
"repository_url"
],
"properties": {
"id": {
"type": "integer"
},
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"task": {
"type": "string"
},
"creator": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"payload": {
"oneOf": [
{
"type": "object"
},
{
"type": "string"
}
]
},
"created_at": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
},
"environment": {
"type": "string"
},
"statuses_url": {
"type": "string",
"format": "uri"
},
"repository_url": {
"type": "string",
"format": "uri"
},
"original_environment": {
"type": "string"
},
"transient_environment": {
"type": "boolean"
},
"production_environment": {
"type": "boolean"
},
"performed_via_github_app": {
"type": "object",
"title": "App",
"nullable": true,
"required": [
"id",
"node_id",
"owner",
"name",
"description",
"external_url",
"html_url",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"nullable": true,
"description": "Unique identifier of the GitHub app"
},
"name": {
"type": "string",
"description": "The name of the GitHub app"
},
"slug": {
"type": "string",
"description": "The slug name of the GitHub app"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"events": {
"type": "array",
"items": {
"enum": [
"branch_protection_rule",
"check_run",
"check_suite",
"code_scanning_alert",
"commit_comment",
"content_reference",
"create",
"delete",
"deployment",
"deployment_review",
"deployment_status",
"deploy_key",
"discussion",
"discussion_comment",
"fork",
"gollum",
"issues",
"issue_comment",
"label",
"member",
"membership",
"milestone",
"organization",
"org_block",
"page_build",
"project",
"project_card",
"project_column",
"public",
"pull_request",
"pull_request_review",
"pull_request_review_comment",
"push",
"registry_package",
"release",
"repository",
"repository_dispatch",
"secret_scanning_alert",
"star",
"status",
"team",
"team_add",
"watch",
"workflow_dispatch",
"workflow_run",
"workflow_job",
"pull_request_review_thread",
"merge_queue_entry",
"secret_scanning_alert_location",
"merge_group"
],
"type": "string"
},
"description": "The list of events for the GitHub app"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"created_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"permissions": {
"type": "object",
"properties": {
"keys": {
"enum": [
"read",
"write"
],
"type": "string"
},
"pages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"checks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"emails": {
"enum": [
"read",
"write"
],
"type": "string"
},
"issues": {
"enum": [
"read",
"write"
],
"type": "string"
},
"actions": {
"enum": [
"read",
"write"
],
"type": "string"
},
"members": {
"enum": [
"read",
"write"
],
"type": "string"
},
"secrets": {
"enum": [
"read",
"write"
],
"type": "string"
},
"contents": {
"enum": [
"read",
"write"
],
"type": "string"
},
"metadata": {
"enum": [
"read",
"write"
],
"type": "string"
},
"packages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"statuses": {
"enum": [
"read",
"write"
],
"type": "string"
},
"workflows": {
"enum": [
"read",
"write"
],
"type": "string"
},
"deployments": {
"enum": [
"read",
"write"
],
"type": "string"
},
"discussions": {
"enum": [
"read",
"write"
],
"type": "string"
},
"single_file": {
"enum": [
"read",
"write"
],
"type": "string"
},
"environments": {
"enum": [
"read",
"write"
],
"type": "string"
},
"pull_requests": {
"enum": [
"read",
"write"
],
"type": "string"
},
"administration": {
"enum": [
"read",
"write"
],
"type": "string"
},
"security_events": {
"enum": [
"read",
"write"
],
"type": "string"
},
"repository_hooks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_plan": {
"enum": [
"read",
"write"
],
"type": "string"
},
"content_references": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_hooks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"repository_projects": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_secrets": {
"enum": [
"read",
"write"
],
"type": "string"
},
"vulnerability_alerts": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_packages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_projects": {
"enum": [
"read",
"write"
],
"type": "string"
},
"secret_scanning_alerts": {
"enum": [
"read",
"write"
],
"type": "string"
},
"security_scanning_alert": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_user_blocking": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_administration": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_self_hosted_runners": {
"enum": [
"read",
"write"
],
"type": "string"
}
},
"description": "The set of permissions for the GitHub app"
},
"external_url": {
"type": "string",
"format": "uri",
"nullable": true
}
},
"description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub."
}
},
"description": "The [deployment](https://docs.github.com/rest/deployments/deployments#list-deployments)."
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"workflow_run": {
"type": "object",
"title": "Deployment Workflow Run",
"nullable": true,
"required": [
"id",
"name",
"node_id",
"head_branch",
"head_sha",
"run_number",
"event",
"status",
"conclusion",
"workflow_id",
"check_suite_id",
"check_suite_node_id",
"url",
"html_url",
"path",
"pull_requests",
"created_at",
"updated_at",
"actor",
"run_attempt",
"run_started_at",
"display_title"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"path": {
"type": "string"
},
"actor": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"event": {
"type": "string"
},
"status": {
"enum": [
"requested",
"in_progress",
"completed",
"queued",
"waiting",
"pending"
],
"type": "string"
},
"node_id": {
"type": "string"
},
"head_sha": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"jobs_url": {
"type": "string"
},
"logs_url": {
"type": "string"
},
"rerun_url": {
"type": "string"
},
"cancel_url": {
"type": "string"
},
"conclusion": {
"enum": [
"success",
"failure",
"neutral",
"cancelled",
"timed_out",
"action_required",
"stale",
null
],
"type": "string",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"repository": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string"
},
"owner": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"type": {
"type": "string"
},
"login": {
"type": "string"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string"
},
"gists_url": {
"type": "string"
},
"repos_url": {
"type": "string"
},
"avatar_url": {
"type": "string"
},
"events_url": {
"type": "string"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string"
},
"followers_url": {
"type": "string"
},
"following_url": {
"type": "string"
},
"organizations_url": {
"type": "string"
},
"subscriptions_url": {
"type": "string"
},
"received_events_url": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean"
},
"html_url": {
"type": "string"
},
"keys_url": {
"type": "string"
},
"tags_url": {
"type": "string"
},
"blobs_url": {
"type": "string"
},
"forks_url": {
"type": "string"
},
"full_name": {
"type": "string"
},
"hooks_url": {
"type": "string"
},
"pulls_url": {
"type": "string"
},
"teams_url": {
"type": "string"
},
"trees_url": {
"type": "string"
},
"events_url": {
"type": "string"
},
"issues_url": {
"type": "string"
},
"labels_url": {
"type": "string"
},
"merges_url": {
"type": "string"
},
"archive_url": {
"type": "string"
},
"commits_url": {
"type": "string"
},
"compare_url": {
"type": "string"
},
"description": {
"nullable": true
},
"branches_url": {
"type": "string"
},
"comments_url": {
"type": "string"
},
"contents_url": {
"type": "string"
},
"git_refs_url": {
"type": "string"
},
"git_tags_url": {
"type": "string"
},
"releases_url": {
"type": "string"
},
"statuses_url": {
"type": "string"
},
"assignees_url": {
"type": "string"
},
"downloads_url": {
"type": "string"
},
"languages_url": {
"type": "string"
},
"milestones_url": {
"type": "string"
},
"stargazers_url": {
"type": "string"
},
"deployments_url": {
"type": "string"
},
"git_commits_url": {
"type": "string"
},
"subscribers_url": {
"type": "string"
},
"contributors_url": {
"type": "string"
},
"issue_events_url": {
"type": "string"
},
"subscription_url": {
"type": "string"
},
"collaborators_url": {
"type": "string"
},
"issue_comment_url": {
"type": "string"
},
"notifications_url": {
"type": "string"
}
}
},
"run_number": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"head_branch": {
"type": "string"
},
"head_commit": {
"nullable": true
},
"run_attempt": {
"type": "integer"
},
"workflow_id": {
"type": "integer"
},
"workflow_url": {
"type": "string"
},
"artifacts_url": {
"type": "string"
},
"display_title": {
"type": "string"
},
"pull_requests": {
"type": "array",
"items": {
"type": "object",
"title": "Check Run Pull Request",
"required": [
"url",
"id",
"number",
"head",
"base"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"base": {
"type": "object",
"required": [
"ref",
"sha",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repo Ref",
"required": [
"id",
"url",
"name"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
}
}
}
}
},
"head": {
"type": "object",
"required": [
"ref",
"sha",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repo Ref",
"required": [
"id",
"url",
"name"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
}
}
}
}
},
"number": {
"type": "integer"
}
}
}
},
"check_suite_id": {
"type": "integer"
},
"run_started_at": {
"type": "string",
"format": "date-time"
},
"check_suite_url": {
"type": "string"
},
"head_repository": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string"
},
"owner": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"type": {
"type": "string"
},
"login": {
"type": "string"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string"
},
"gists_url": {
"type": "string"
},
"repos_url": {
"type": "string"
},
"avatar_url": {
"type": "string"
},
"events_url": {
"type": "string"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string"
},
"followers_url": {
"type": "string"
},
"following_url": {
"type": "string"
},
"organizations_url": {
"type": "string"
},
"subscriptions_url": {
"type": "string"
},
"received_events_url": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean"
},
"html_url": {
"type": "string"
},
"keys_url": {
"type": "string"
},
"tags_url": {
"type": "string"
},
"blobs_url": {
"type": "string"
},
"forks_url": {
"type": "string"
},
"full_name": {
"type": "string"
},
"hooks_url": {
"type": "string"
},
"pulls_url": {
"type": "string"
},
"teams_url": {
"type": "string"
},
"trees_url": {
"type": "string"
},
"events_url": {
"type": "string"
},
"issues_url": {
"type": "string"
},
"labels_url": {
"type": "string"
},
"merges_url": {
"type": "string"
},
"archive_url": {
"type": "string"
},
"commits_url": {
"type": "string"
},
"compare_url": {
"type": "string"
},
"description": {
"nullable": true
},
"branches_url": {
"type": "string"
},
"comments_url": {
"type": "string"
},
"contents_url": {
"type": "string"
},
"git_refs_url": {
"type": "string"
},
"git_tags_url": {
"type": "string"
},
"releases_url": {
"type": "string"
},
"statuses_url": {
"type": "string"
},
"assignees_url": {
"type": "string"
},
"downloads_url": {
"type": "string"
},
"languages_url": {
"type": "string"
},
"milestones_url": {
"type": "string"
},
"stargazers_url": {
"type": "string"
},
"deployments_url": {
"type": "string"
},
"git_commits_url": {
"type": "string"
},
"subscribers_url": {
"type": "string"
},
"contributors_url": {
"type": "string"
},
"issue_events_url": {
"type": "string"
},
"subscription_url": {
"type": "string"
},
"collaborators_url": {
"type": "string"
},
"issue_comment_url": {
"type": "string"
},
"notifications_url": {
"type": "string"
}
}
},
"triggering_actor": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"check_suite_node_id": {
"type": "string"
},
"previous_attempt_url": {
"nullable": true
},
"referenced_workflows": {
"type": "array",
"items": {
"type": "object",
"required": [
"path",
"sha"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"path": {
"type": "string"
}
}
},
"nullable": true
}
}
}
}
}
webhook-deployment-protection-rule-requested
{
"type": "object",
"title": "deployment protection rule requested event",
"properties": {
"ref": {
"type": "string",
"description": "The ref (branch or tag) that triggered the workflow. Always populated from the check suite, regardless of whether a deployment is created."
},
"sha": {
"type": "string",
"description": "The commit SHA that triggered the workflow. Always populated from the check suite, regardless of whether a deployment is created."
},
"event": {
"type": "string",
"description": "The event that triggered the deployment protection rule."
},
"action": {
"enum": [
"requested"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"deployment": {
"$ref": "#/components/schemas/nullable-deployment"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"environment": {
"type": "string",
"description": "The name of the environment that has the deployment protection rule."
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"pull_requests": {
"type": "array",
"items": {
"$ref": "#/components/schemas/pull-request"
}
},
"deployment_callback_url": {
"type": "string",
"format": "uri",
"description": "The URL to review the deployment protection rule."
}
}
}
webhook-deployment-review-approved
{
"type": "object",
"required": [
"action",
"workflow_run",
"since",
"repository",
"organization",
"sender"
],
"properties": {
"since": {
"type": "string"
},
"action": {
"enum": [
"approved"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"comment": {
"type": "string"
},
"approver": {
"$ref": "#/components/schemas/webhooks_approver"
},
"reviewers": {
"$ref": "#/components/schemas/webhooks_reviewers"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"workflow_run": {
"type": "object",
"title": "Deployment Workflow Run",
"nullable": true,
"required": [
"id",
"name",
"node_id",
"head_branch",
"head_sha",
"run_number",
"event",
"status",
"conclusion",
"workflow_id",
"check_suite_id",
"check_suite_node_id",
"url",
"html_url",
"path",
"pull_requests",
"created_at",
"updated_at",
"actor",
"triggering_actor",
"run_attempt",
"run_started_at",
"display_title"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"path": {
"type": "string"
},
"actor": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"event": {
"type": "string"
},
"status": {
"enum": [
"requested",
"in_progress",
"completed",
"queued",
"waiting",
"pending"
],
"type": "string"
},
"node_id": {
"type": "string"
},
"head_sha": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"jobs_url": {
"type": "string"
},
"logs_url": {
"type": "string"
},
"rerun_url": {
"type": "string"
},
"cancel_url": {
"type": "string"
},
"conclusion": {
"enum": [
"success",
"failure",
"neutral",
"cancelled",
"timed_out",
"action_required",
"stale",
null
],
"type": "string",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"repository": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string"
},
"owner": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"type": {
"type": "string"
},
"login": {
"type": "string"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string"
},
"gists_url": {
"type": "string"
},
"repos_url": {
"type": "string"
},
"avatar_url": {
"type": "string"
},
"events_url": {
"type": "string"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string"
},
"followers_url": {
"type": "string"
},
"following_url": {
"type": "string"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string"
},
"subscriptions_url": {
"type": "string"
},
"received_events_url": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean"
},
"html_url": {
"type": "string"
},
"keys_url": {
"type": "string"
},
"tags_url": {
"type": "string"
},
"blobs_url": {
"type": "string"
},
"forks_url": {
"type": "string"
},
"full_name": {
"type": "string"
},
"hooks_url": {
"type": "string"
},
"pulls_url": {
"type": "string"
},
"teams_url": {
"type": "string"
},
"trees_url": {
"type": "string"
},
"events_url": {
"type": "string"
},
"issues_url": {
"type": "string"
},
"labels_url": {
"type": "string"
},
"merges_url": {
"type": "string"
},
"archive_url": {
"type": "string"
},
"commits_url": {
"type": "string"
},
"compare_url": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
},
"branches_url": {
"type": "string"
},
"comments_url": {
"type": "string"
},
"contents_url": {
"type": "string"
},
"git_refs_url": {
"type": "string"
},
"git_tags_url": {
"type": "string"
},
"releases_url": {
"type": "string"
},
"statuses_url": {
"type": "string"
},
"assignees_url": {
"type": "string"
},
"downloads_url": {
"type": "string"
},
"languages_url": {
"type": "string"
},
"milestones_url": {
"type": "string"
},
"stargazers_url": {
"type": "string"
},
"deployments_url": {
"type": "string"
},
"git_commits_url": {
"type": "string"
},
"subscribers_url": {
"type": "string"
},
"contributors_url": {
"type": "string"
},
"issue_events_url": {
"type": "string"
},
"subscription_url": {
"type": "string"
},
"collaborators_url": {
"type": "string"
},
"issue_comment_url": {
"type": "string"
},
"notifications_url": {
"type": "string"
}
}
},
"run_number": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"head_branch": {
"type": "string"
},
"head_commit": {
"type": "object",
"nullable": true
},
"run_attempt": {
"type": "integer"
},
"workflow_id": {
"type": "integer"
},
"workflow_url": {
"type": "string"
},
"artifacts_url": {
"type": "string"
},
"display_title": {
"type": "string"
},
"pull_requests": {
"type": "array",
"items": {
"type": "object",
"title": "Check Run Pull Request",
"required": [
"url",
"id",
"number",
"head",
"base"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"base": {
"type": "object",
"required": [
"ref",
"sha",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repo Ref",
"required": [
"id",
"url",
"name"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
}
}
}
}
},
"head": {
"type": "object",
"required": [
"ref",
"sha",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repo Ref",
"required": [
"id",
"url",
"name"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
}
}
}
}
},
"number": {
"type": "integer"
}
}
}
},
"check_suite_id": {
"type": "integer"
},
"run_started_at": {
"type": "string",
"format": "date-time"
},
"check_suite_url": {
"type": "string"
},
"head_repository": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string"
},
"owner": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"type": {
"type": "string"
},
"login": {
"type": "string"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string"
},
"gists_url": {
"type": "string"
},
"repos_url": {
"type": "string"
},
"avatar_url": {
"type": "string"
},
"events_url": {
"type": "string"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string"
},
"followers_url": {
"type": "string"
},
"following_url": {
"type": "string"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string"
},
"subscriptions_url": {
"type": "string"
},
"received_events_url": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean"
},
"html_url": {
"type": "string"
},
"keys_url": {
"type": "string"
},
"tags_url": {
"type": "string"
},
"blobs_url": {
"type": "string"
},
"forks_url": {
"type": "string"
},
"full_name": {
"type": "string"
},
"hooks_url": {
"type": "string"
},
"pulls_url": {
"type": "string"
},
"teams_url": {
"type": "string"
},
"trees_url": {
"type": "string"
},
"events_url": {
"type": "string"
},
"issues_url": {
"type": "string"
},
"labels_url": {
"type": "string"
},
"merges_url": {
"type": "string"
},
"archive_url": {
"type": "string"
},
"commits_url": {
"type": "string"
},
"compare_url": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
},
"branches_url": {
"type": "string"
},
"comments_url": {
"type": "string"
},
"contents_url": {
"type": "string"
},
"git_refs_url": {
"type": "string"
},
"git_tags_url": {
"type": "string"
},
"releases_url": {
"type": "string"
},
"statuses_url": {
"type": "string"
},
"assignees_url": {
"type": "string"
},
"downloads_url": {
"type": "string"
},
"languages_url": {
"type": "string"
},
"milestones_url": {
"type": "string"
},
"stargazers_url": {
"type": "string"
},
"deployments_url": {
"type": "string"
},
"git_commits_url": {
"type": "string"
},
"subscribers_url": {
"type": "string"
},
"contributors_url": {
"type": "string"
},
"issue_events_url": {
"type": "string"
},
"subscription_url": {
"type": "string"
},
"collaborators_url": {
"type": "string"
},
"issue_comment_url": {
"type": "string"
},
"notifications_url": {
"type": "string"
}
}
},
"triggering_actor": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"check_suite_node_id": {
"type": "string"
},
"previous_attempt_url": {
"type": "string",
"nullable": true
},
"referenced_workflows": {
"type": "array",
"items": {
"type": "object",
"required": [
"path",
"sha"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"path": {
"type": "string"
}
}
},
"nullable": true
}
}
},
"workflow_job_run": {
"$ref": "#/components/schemas/webhooks_workflow_job_run"
},
"workflow_job_runs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string",
"nullable": true
},
"status": {
"type": "string"
},
"html_url": {
"type": "string"
},
"conclusion": {
"nullable": true
},
"created_at": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"environment": {
"type": "string"
}
}
}
}
}
}
webhook-deployment-review-rejected
{
"type": "object",
"required": [
"action",
"workflow_run",
"since",
"repository",
"organization",
"sender"
],
"properties": {
"since": {
"type": "string"
},
"action": {
"enum": [
"rejected"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"comment": {
"type": "string"
},
"approver": {
"$ref": "#/components/schemas/webhooks_approver"
},
"reviewers": {
"$ref": "#/components/schemas/webhooks_reviewers"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"workflow_run": {
"type": "object",
"title": "Deployment Workflow Run",
"nullable": true,
"required": [
"id",
"name",
"node_id",
"head_branch",
"head_sha",
"run_number",
"event",
"status",
"conclusion",
"workflow_id",
"check_suite_id",
"check_suite_node_id",
"url",
"html_url",
"path",
"pull_requests",
"created_at",
"updated_at",
"actor",
"triggering_actor",
"run_attempt",
"run_started_at",
"display_title"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"path": {
"type": "string"
},
"actor": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"event": {
"type": "string"
},
"status": {
"enum": [
"requested",
"in_progress",
"completed",
"queued",
"waiting"
],
"type": "string"
},
"node_id": {
"type": "string"
},
"head_sha": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"jobs_url": {
"type": "string"
},
"logs_url": {
"type": "string"
},
"rerun_url": {
"type": "string"
},
"cancel_url": {
"type": "string"
},
"conclusion": {
"enum": [
"success",
"failure",
"neutral",
"cancelled",
"timed_out",
"action_required",
"stale",
null
],
"type": "string",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"repository": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string"
},
"owner": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"type": {
"type": "string"
},
"login": {
"type": "string"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string"
},
"gists_url": {
"type": "string"
},
"repos_url": {
"type": "string"
},
"avatar_url": {
"type": "string"
},
"events_url": {
"type": "string"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string"
},
"followers_url": {
"type": "string"
},
"following_url": {
"type": "string"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string"
},
"subscriptions_url": {
"type": "string"
},
"received_events_url": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean"
},
"html_url": {
"type": "string"
},
"keys_url": {
"type": "string"
},
"tags_url": {
"type": "string"
},
"blobs_url": {
"type": "string"
},
"forks_url": {
"type": "string"
},
"full_name": {
"type": "string"
},
"hooks_url": {
"type": "string"
},
"pulls_url": {
"type": "string"
},
"teams_url": {
"type": "string"
},
"trees_url": {
"type": "string"
},
"events_url": {
"type": "string"
},
"issues_url": {
"type": "string"
},
"labels_url": {
"type": "string"
},
"merges_url": {
"type": "string"
},
"archive_url": {
"type": "string"
},
"commits_url": {
"type": "string"
},
"compare_url": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
},
"branches_url": {
"type": "string"
},
"comments_url": {
"type": "string"
},
"contents_url": {
"type": "string"
},
"git_refs_url": {
"type": "string"
},
"git_tags_url": {
"type": "string"
},
"releases_url": {
"type": "string"
},
"statuses_url": {
"type": "string"
},
"assignees_url": {
"type": "string"
},
"downloads_url": {
"type": "string"
},
"languages_url": {
"type": "string"
},
"milestones_url": {
"type": "string"
},
"stargazers_url": {
"type": "string"
},
"deployments_url": {
"type": "string"
},
"git_commits_url": {
"type": "string"
},
"subscribers_url": {
"type": "string"
},
"contributors_url": {
"type": "string"
},
"issue_events_url": {
"type": "string"
},
"subscription_url": {
"type": "string"
},
"collaborators_url": {
"type": "string"
},
"issue_comment_url": {
"type": "string"
},
"notifications_url": {
"type": "string"
}
}
},
"run_number": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"head_branch": {
"type": "string"
},
"head_commit": {
"type": "object",
"nullable": true
},
"run_attempt": {
"type": "integer"
},
"workflow_id": {
"type": "integer"
},
"workflow_url": {
"type": "string"
},
"artifacts_url": {
"type": "string"
},
"display_title": {
"type": "string"
},
"pull_requests": {
"type": "array",
"items": {
"type": "object",
"title": "Check Run Pull Request",
"required": [
"url",
"id",
"number",
"head",
"base"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"base": {
"type": "object",
"required": [
"ref",
"sha",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repo Ref",
"required": [
"id",
"url",
"name"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
}
}
}
}
},
"head": {
"type": "object",
"required": [
"ref",
"sha",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repo Ref",
"required": [
"id",
"url",
"name"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
}
}
}
}
},
"number": {
"type": "integer"
}
}
}
},
"check_suite_id": {
"type": "integer"
},
"run_started_at": {
"type": "string",
"format": "date-time"
},
"check_suite_url": {
"type": "string"
},
"head_repository": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string"
},
"owner": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"type": {
"type": "string"
},
"login": {
"type": "string"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string"
},
"gists_url": {
"type": "string"
},
"repos_url": {
"type": "string"
},
"avatar_url": {
"type": "string"
},
"events_url": {
"type": "string"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string"
},
"followers_url": {
"type": "string"
},
"following_url": {
"type": "string"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string"
},
"subscriptions_url": {
"type": "string"
},
"received_events_url": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean"
},
"html_url": {
"type": "string"
},
"keys_url": {
"type": "string"
},
"tags_url": {
"type": "string"
},
"blobs_url": {
"type": "string"
},
"forks_url": {
"type": "string"
},
"full_name": {
"type": "string"
},
"hooks_url": {
"type": "string"
},
"pulls_url": {
"type": "string"
},
"teams_url": {
"type": "string"
},
"trees_url": {
"type": "string"
},
"events_url": {
"type": "string"
},
"issues_url": {
"type": "string"
},
"labels_url": {
"type": "string"
},
"merges_url": {
"type": "string"
},
"archive_url": {
"type": "string"
},
"commits_url": {
"type": "string"
},
"compare_url": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
},
"branches_url": {
"type": "string"
},
"comments_url": {
"type": "string"
},
"contents_url": {
"type": "string"
},
"git_refs_url": {
"type": "string"
},
"git_tags_url": {
"type": "string"
},
"releases_url": {
"type": "string"
},
"statuses_url": {
"type": "string"
},
"assignees_url": {
"type": "string"
},
"downloads_url": {
"type": "string"
},
"languages_url": {
"type": "string"
},
"milestones_url": {
"type": "string"
},
"stargazers_url": {
"type": "string"
},
"deployments_url": {
"type": "string"
},
"git_commits_url": {
"type": "string"
},
"subscribers_url": {
"type": "string"
},
"contributors_url": {
"type": "string"
},
"issue_events_url": {
"type": "string"
},
"subscription_url": {
"type": "string"
},
"collaborators_url": {
"type": "string"
},
"issue_comment_url": {
"type": "string"
},
"notifications_url": {
"type": "string"
}
}
},
"triggering_actor": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"check_suite_node_id": {
"type": "string"
},
"previous_attempt_url": {
"type": "string",
"nullable": true
},
"referenced_workflows": {
"type": "array",
"items": {
"type": "object",
"required": [
"path",
"sha"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"path": {
"type": "string"
}
}
},
"nullable": true
}
}
},
"workflow_job_run": {
"$ref": "#/components/schemas/webhooks_workflow_job_run"
},
"workflow_job_runs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string",
"nullable": true
},
"status": {
"type": "string"
},
"html_url": {
"type": "string"
},
"conclusion": {
"type": "string",
"nullable": true
},
"created_at": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"environment": {
"type": "string"
}
}
}
}
}
}
webhook-deployment-review-requested
{
"type": "object",
"required": [
"action",
"workflow_run",
"since",
"workflow_job_run",
"environment",
"reviewers",
"requestor",
"repository",
"organization",
"sender"
],
"properties": {
"since": {
"type": "string"
},
"action": {
"enum": [
"requested"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"requestor": {
"$ref": "#/components/schemas/webhooks_user"
},
"reviewers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"enum": [
"User",
"Team"
],
"type": "string"
},
"reviewer": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
}
}
}
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"environment": {
"type": "string"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"workflow_run": {
"type": "object",
"title": "Deployment Workflow Run",
"nullable": true,
"required": [
"id",
"name",
"node_id",
"head_branch",
"head_sha",
"run_number",
"event",
"status",
"conclusion",
"workflow_id",
"check_suite_id",
"check_suite_node_id",
"url",
"html_url",
"path",
"pull_requests",
"created_at",
"updated_at",
"actor",
"triggering_actor",
"run_attempt",
"run_started_at",
"display_title"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"path": {
"type": "string"
},
"actor": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"event": {
"type": "string"
},
"status": {
"enum": [
"requested",
"in_progress",
"completed",
"queued",
"waiting",
"pending"
],
"type": "string"
},
"node_id": {
"type": "string"
},
"head_sha": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"jobs_url": {
"type": "string"
},
"logs_url": {
"type": "string"
},
"rerun_url": {
"type": "string"
},
"cancel_url": {
"type": "string"
},
"conclusion": {
"enum": [
"success",
"failure",
"neutral",
"cancelled",
"timed_out",
"action_required",
"stale",
null
],
"type": "string",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"repository": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string"
},
"owner": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"type": {
"type": "string"
},
"login": {
"type": "string"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string"
},
"gists_url": {
"type": "string"
},
"repos_url": {
"type": "string"
},
"avatar_url": {
"type": "string"
},
"events_url": {
"type": "string"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string"
},
"followers_url": {
"type": "string"
},
"following_url": {
"type": "string"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string"
},
"subscriptions_url": {
"type": "string"
},
"received_events_url": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean"
},
"html_url": {
"type": "string"
},
"keys_url": {
"type": "string"
},
"tags_url": {
"type": "string"
},
"blobs_url": {
"type": "string"
},
"forks_url": {
"type": "string"
},
"full_name": {
"type": "string"
},
"hooks_url": {
"type": "string"
},
"pulls_url": {
"type": "string"
},
"teams_url": {
"type": "string"
},
"trees_url": {
"type": "string"
},
"events_url": {
"type": "string"
},
"issues_url": {
"type": "string"
},
"labels_url": {
"type": "string"
},
"merges_url": {
"type": "string"
},
"archive_url": {
"type": "string"
},
"commits_url": {
"type": "string"
},
"compare_url": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
},
"branches_url": {
"type": "string"
},
"comments_url": {
"type": "string"
},
"contents_url": {
"type": "string"
},
"git_refs_url": {
"type": "string"
},
"git_tags_url": {
"type": "string"
},
"releases_url": {
"type": "string"
},
"statuses_url": {
"type": "string"
},
"assignees_url": {
"type": "string"
},
"downloads_url": {
"type": "string"
},
"languages_url": {
"type": "string"
},
"milestones_url": {
"type": "string"
},
"stargazers_url": {
"type": "string"
},
"deployments_url": {
"type": "string"
},
"git_commits_url": {
"type": "string"
},
"subscribers_url": {
"type": "string"
},
"contributors_url": {
"type": "string"
},
"issue_events_url": {
"type": "string"
},
"subscription_url": {
"type": "string"
},
"collaborators_url": {
"type": "string"
},
"issue_comment_url": {
"type": "string"
},
"notifications_url": {
"type": "string"
}
}
},
"run_number": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"head_branch": {
"type": "string"
},
"head_commit": {
"type": "object",
"nullable": true
},
"run_attempt": {
"type": "integer"
},
"workflow_id": {
"type": "integer"
},
"workflow_url": {
"type": "string"
},
"artifacts_url": {
"type": "string"
},
"display_title": {
"type": "string"
},
"pull_requests": {
"type": "array",
"items": {
"type": "object",
"title": "Check Run Pull Request",
"required": [
"url",
"id",
"number",
"head",
"base"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"base": {
"type": "object",
"required": [
"ref",
"sha",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repo Ref",
"required": [
"id",
"url",
"name"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
}
}
}
}
},
"head": {
"type": "object",
"required": [
"ref",
"sha",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repo Ref",
"required": [
"id",
"url",
"name"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
}
}
}
}
},
"number": {
"type": "integer"
}
}
}
},
"check_suite_id": {
"type": "integer"
},
"run_started_at": {
"type": "string",
"format": "date-time"
},
"check_suite_url": {
"type": "string"
},
"head_repository": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string"
},
"owner": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"type": {
"type": "string"
},
"login": {
"type": "string"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string"
},
"gists_url": {
"type": "string"
},
"repos_url": {
"type": "string"
},
"avatar_url": {
"type": "string"
},
"events_url": {
"type": "string"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string"
},
"followers_url": {
"type": "string"
},
"following_url": {
"type": "string"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string"
},
"subscriptions_url": {
"type": "string"
},
"received_events_url": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean"
},
"html_url": {
"type": "string"
},
"keys_url": {
"type": "string"
},
"tags_url": {
"type": "string"
},
"blobs_url": {
"type": "string"
},
"forks_url": {
"type": "string"
},
"full_name": {
"type": "string"
},
"hooks_url": {
"type": "string"
},
"pulls_url": {
"type": "string"
},
"teams_url": {
"type": "string"
},
"trees_url": {
"type": "string"
},
"events_url": {
"type": "string"
},
"issues_url": {
"type": "string"
},
"labels_url": {
"type": "string"
},
"merges_url": {
"type": "string"
},
"archive_url": {
"type": "string"
},
"commits_url": {
"type": "string"
},
"compare_url": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
},
"branches_url": {
"type": "string"
},
"comments_url": {
"type": "string"
},
"contents_url": {
"type": "string"
},
"git_refs_url": {
"type": "string"
},
"git_tags_url": {
"type": "string"
},
"releases_url": {
"type": "string"
},
"statuses_url": {
"type": "string"
},
"assignees_url": {
"type": "string"
},
"downloads_url": {
"type": "string"
},
"languages_url": {
"type": "string"
},
"milestones_url": {
"type": "string"
},
"stargazers_url": {
"type": "string"
},
"deployments_url": {
"type": "string"
},
"git_commits_url": {
"type": "string"
},
"subscribers_url": {
"type": "string"
},
"contributors_url": {
"type": "string"
},
"issue_events_url": {
"type": "string"
},
"subscription_url": {
"type": "string"
},
"collaborators_url": {
"type": "string"
},
"issue_comment_url": {
"type": "string"
},
"notifications_url": {
"type": "string"
}
}
},
"triggering_actor": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"check_suite_node_id": {
"type": "string"
},
"previous_attempt_url": {
"type": "string",
"nullable": true
},
"referenced_workflows": {
"type": "array",
"items": {
"type": "object",
"required": [
"path",
"sha"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"path": {
"type": "string"
}
}
},
"nullable": true
}
}
},
"workflow_job_run": {
"type": "object",
"required": [
"id",
"name",
"status",
"conclusion",
"html_url",
"created_at",
"updated_at",
"environment"
],
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string",
"nullable": true
},
"status": {
"type": "string"
},
"html_url": {
"type": "string"
},
"conclusion": {
"nullable": true
},
"created_at": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"environment": {
"type": "string"
}
}
}
}
}
webhook-deployment-status-created
{
"type": "object",
"title": "deployment_status created event",
"required": [
"action",
"deployment_status",
"deployment",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"created"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"workflow": {
"$ref": "#/components/schemas/webhooks_workflow"
},
"check_run": {
"type": "object",
"nullable": true,
"required": [
"id",
"name",
"node_id",
"head_sha",
"external_id",
"url",
"html_url",
"details_url",
"status",
"conclusion",
"started_at",
"completed_at"
],
"properties": {
"id": {
"type": "integer",
"description": "The id of the check."
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string",
"description": "The name of the check run."
},
"status": {
"enum": [
"queued",
"in_progress",
"completed",
"waiting",
"pending"
],
"type": "string",
"description": "The current status of the check run. Can be `queued`, `in_progress`, or `completed`."
},
"node_id": {
"type": "string"
},
"head_sha": {
"type": "string",
"description": "The SHA of the commit that is being checked."
},
"html_url": {
"type": "string",
"format": "uri"
},
"conclusion": {
"enum": [
"success",
"failure",
"neutral",
"cancelled",
"timed_out",
"action_required",
"stale",
"skipped",
null
],
"type": "string",
"nullable": true,
"description": "The result of the completed check run. This value will be `null` until the check run has completed."
},
"started_at": {
"type": "string",
"format": "date-time"
},
"details_url": {
"type": "string",
"format": "uri"
},
"external_id": {
"type": "string"
},
"completed_at": {
"type": "string",
"format": "date-time",
"nullable": true
}
}
},
"deployment": {
"type": "object",
"title": "Deployment",
"required": [
"url",
"id",
"node_id",
"sha",
"ref",
"task",
"payload",
"original_environment",
"environment",
"description",
"creator",
"created_at",
"updated_at",
"statuses_url",
"repository_url"
],
"properties": {
"id": {
"type": "integer"
},
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"task": {
"type": "string"
},
"creator": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"payload": {
"oneOf": [
{
"type": "string"
},
{
"type": "object"
}
],
"nullable": true
},
"created_at": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
},
"environment": {
"type": "string"
},
"statuses_url": {
"type": "string",
"format": "uri"
},
"repository_url": {
"type": "string",
"format": "uri"
},
"original_environment": {
"type": "string"
},
"transient_environment": {
"type": "boolean"
},
"production_environment": {
"type": "boolean"
},
"performed_via_github_app": {
"type": "object",
"title": "App",
"nullable": true,
"required": [
"id",
"node_id",
"owner",
"name",
"description",
"external_url",
"html_url",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"nullable": true,
"description": "Unique identifier of the GitHub app"
},
"name": {
"type": "string",
"description": "The name of the GitHub app"
},
"slug": {
"type": "string",
"description": "The slug name of the GitHub app"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"events": {
"type": "array",
"items": {
"enum": [
"branch_protection_rule",
"check_run",
"check_suite",
"code_scanning_alert",
"commit_comment",
"content_reference",
"create",
"delete",
"deployment",
"deployment_review",
"deployment_status",
"deploy_key",
"discussion",
"discussion_comment",
"fork",
"gollum",
"issues",
"issue_comment",
"label",
"member",
"membership",
"milestone",
"organization",
"org_block",
"page_build",
"project",
"project_card",
"project_column",
"public",
"pull_request",
"pull_request_review",
"pull_request_review_comment",
"push",
"registry_package",
"release",
"repository",
"repository_dispatch",
"secret_scanning_alert",
"star",
"status",
"team",
"team_add",
"watch",
"workflow_dispatch",
"workflow_run",
"merge_queue_entry",
"workflow_job",
"pull_request_review_thread",
"secret_scanning_alert_location",
"merge_group"
],
"type": "string"
},
"description": "The list of events for the GitHub app"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"created_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"permissions": {
"type": "object",
"properties": {
"keys": {
"enum": [
"read",
"write"
],
"type": "string"
},
"pages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"checks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"emails": {
"enum": [
"read",
"write"
],
"type": "string"
},
"issues": {
"enum": [
"read",
"write"
],
"type": "string"
},
"actions": {
"enum": [
"read",
"write"
],
"type": "string"
},
"members": {
"enum": [
"read",
"write"
],
"type": "string"
},
"secrets": {
"enum": [
"read",
"write"
],
"type": "string"
},
"contents": {
"enum": [
"read",
"write"
],
"type": "string"
},
"metadata": {
"enum": [
"read",
"write"
],
"type": "string"
},
"packages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"statuses": {
"enum": [
"read",
"write"
],
"type": "string"
},
"workflows": {
"enum": [
"read",
"write"
],
"type": "string"
},
"deployments": {
"enum": [
"read",
"write"
],
"type": "string"
},
"discussions": {
"enum": [
"read",
"write"
],
"type": "string"
},
"single_file": {
"enum": [
"read",
"write"
],
"type": "string"
},
"environments": {
"enum": [
"read",
"write"
],
"type": "string"
},
"pull_requests": {
"enum": [
"read",
"write"
],
"type": "string"
},
"administration": {
"enum": [
"read",
"write"
],
"type": "string"
},
"security_events": {
"enum": [
"read",
"write"
],
"type": "string"
},
"repository_hooks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_plan": {
"enum": [
"read",
"write"
],
"type": "string"
},
"content_references": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_hooks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"repository_projects": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_secrets": {
"enum": [
"read",
"write"
],
"type": "string"
},
"vulnerability_alerts": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_packages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_projects": {
"enum": [
"read",
"write"
],
"type": "string"
},
"secret_scanning_alerts": {
"enum": [
"read",
"write"
],
"type": "string"
},
"security_scanning_alert": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_user_blocking": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_administration": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_self_hosted_runners": {
"enum": [
"read",
"write"
],
"type": "string"
}
},
"description": "The set of permissions for the GitHub app"
},
"external_url": {
"type": "string",
"format": "uri",
"nullable": true
}
},
"description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub."
}
},
"description": "The [deployment](https://docs.github.com/rest/deployments/deployments#list-deployments)."
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"workflow_run": {
"type": "object",
"title": "Deployment Workflow Run",
"nullable": true,
"required": [
"id",
"name",
"node_id",
"head_branch",
"head_sha",
"run_number",
"event",
"status",
"conclusion",
"workflow_id",
"check_suite_id",
"check_suite_node_id",
"url",
"html_url",
"path",
"pull_requests",
"created_at",
"updated_at",
"actor",
"triggering_actor",
"run_attempt",
"run_started_at",
"display_title"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"path": {
"type": "string"
},
"actor": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"event": {
"type": "string"
},
"status": {
"enum": [
"requested",
"in_progress",
"completed",
"queued",
"waiting",
"pending"
],
"type": "string"
},
"node_id": {
"type": "string"
},
"head_sha": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"jobs_url": {
"type": "string"
},
"logs_url": {
"type": "string"
},
"rerun_url": {
"type": "string"
},
"cancel_url": {
"type": "string"
},
"conclusion": {
"enum": [
"success",
"failure",
"neutral",
"cancelled",
"timed_out",
"action_required",
"stale",
null,
"startup_failure"
],
"type": "string",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"repository": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string"
},
"owner": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"type": {
"type": "string"
},
"login": {
"type": "string"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string"
},
"gists_url": {
"type": "string"
},
"repos_url": {
"type": "string"
},
"avatar_url": {
"type": "string"
},
"events_url": {
"type": "string"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string"
},
"followers_url": {
"type": "string"
},
"following_url": {
"type": "string"
},
"organizations_url": {
"type": "string"
},
"subscriptions_url": {
"type": "string"
},
"received_events_url": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean"
},
"html_url": {
"type": "string"
},
"keys_url": {
"type": "string"
},
"tags_url": {
"type": "string"
},
"blobs_url": {
"type": "string"
},
"forks_url": {
"type": "string"
},
"full_name": {
"type": "string"
},
"hooks_url": {
"type": "string"
},
"pulls_url": {
"type": "string"
},
"teams_url": {
"type": "string"
},
"trees_url": {
"type": "string"
},
"events_url": {
"type": "string"
},
"issues_url": {
"type": "string"
},
"labels_url": {
"type": "string"
},
"merges_url": {
"type": "string"
},
"archive_url": {
"type": "string"
},
"commits_url": {
"type": "string"
},
"compare_url": {
"type": "string"
},
"description": {
"nullable": true
},
"branches_url": {
"type": "string"
},
"comments_url": {
"type": "string"
},
"contents_url": {
"type": "string"
},
"git_refs_url": {
"type": "string"
},
"git_tags_url": {
"type": "string"
},
"releases_url": {
"type": "string"
},
"statuses_url": {
"type": "string"
},
"assignees_url": {
"type": "string"
},
"downloads_url": {
"type": "string"
},
"languages_url": {
"type": "string"
},
"milestones_url": {
"type": "string"
},
"stargazers_url": {
"type": "string"
},
"deployments_url": {
"type": "string"
},
"git_commits_url": {
"type": "string"
},
"subscribers_url": {
"type": "string"
},
"contributors_url": {
"type": "string"
},
"issue_events_url": {
"type": "string"
},
"subscription_url": {
"type": "string"
},
"collaborators_url": {
"type": "string"
},
"issue_comment_url": {
"type": "string"
},
"notifications_url": {
"type": "string"
}
}
},
"run_number": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"head_branch": {
"type": "string"
},
"head_commit": {
"nullable": true
},
"run_attempt": {
"type": "integer"
},
"workflow_id": {
"type": "integer"
},
"workflow_url": {
"type": "string"
},
"artifacts_url": {
"type": "string"
},
"display_title": {
"type": "string"
},
"pull_requests": {
"type": "array",
"items": {
"type": "object",
"title": "Check Run Pull Request",
"required": [
"url",
"id",
"number",
"head",
"base"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"base": {
"type": "object",
"required": [
"ref",
"sha",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repo Ref",
"required": [
"id",
"url",
"name"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
}
}
}
}
},
"head": {
"type": "object",
"required": [
"ref",
"sha",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repo Ref",
"required": [
"id",
"url",
"name"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
}
}
}
}
},
"number": {
"type": "integer"
}
}
}
},
"check_suite_id": {
"type": "integer"
},
"run_started_at": {
"type": "string",
"format": "date-time"
},
"check_suite_url": {
"type": "string"
},
"head_repository": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string"
},
"owner": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"type": {
"type": "string"
},
"login": {
"type": "string"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string"
},
"gists_url": {
"type": "string"
},
"repos_url": {
"type": "string"
},
"avatar_url": {
"type": "string"
},
"events_url": {
"type": "string"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string"
},
"followers_url": {
"type": "string"
},
"following_url": {
"type": "string"
},
"organizations_url": {
"type": "string"
},
"subscriptions_url": {
"type": "string"
},
"received_events_url": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean"
},
"html_url": {
"type": "string"
},
"keys_url": {
"type": "string"
},
"tags_url": {
"type": "string"
},
"blobs_url": {
"type": "string"
},
"forks_url": {
"type": "string"
},
"full_name": {
"type": "string"
},
"hooks_url": {
"type": "string"
},
"pulls_url": {
"type": "string"
},
"teams_url": {
"type": "string"
},
"trees_url": {
"type": "string"
},
"events_url": {
"type": "string"
},
"issues_url": {
"type": "string"
},
"labels_url": {
"type": "string"
},
"merges_url": {
"type": "string"
},
"archive_url": {
"type": "string"
},
"commits_url": {
"type": "string"
},
"compare_url": {
"type": "string"
},
"description": {
"nullable": true
},
"branches_url": {
"type": "string"
},
"comments_url": {
"type": "string"
},
"contents_url": {
"type": "string"
},
"git_refs_url": {
"type": "string"
},
"git_tags_url": {
"type": "string"
},
"releases_url": {
"type": "string"
},
"statuses_url": {
"type": "string"
},
"assignees_url": {
"type": "string"
},
"downloads_url": {
"type": "string"
},
"languages_url": {
"type": "string"
},
"milestones_url": {
"type": "string"
},
"stargazers_url": {
"type": "string"
},
"deployments_url": {
"type": "string"
},
"git_commits_url": {
"type": "string"
},
"subscribers_url": {
"type": "string"
},
"contributors_url": {
"type": "string"
},
"issue_events_url": {
"type": "string"
},
"subscription_url": {
"type": "string"
},
"collaborators_url": {
"type": "string"
},
"issue_comment_url": {
"type": "string"
},
"notifications_url": {
"type": "string"
}
}
},
"triggering_actor": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"check_suite_node_id": {
"type": "string"
},
"previous_attempt_url": {
"nullable": true
},
"referenced_workflows": {
"type": "array",
"items": {
"type": "object",
"required": [
"path",
"sha"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"path": {
"type": "string"
}
}
},
"nullable": true
}
}
},
"deployment_status": {
"type": "object",
"required": [
"url",
"id",
"node_id",
"state",
"creator",
"description",
"environment",
"target_url",
"created_at",
"updated_at",
"deployment_url",
"repository_url"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"state": {
"type": "string",
"description": "The new state. Can be `pending`, `success`, `failure`, or `error`."
},
"creator": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"log_url": {
"type": "string",
"format": "uri"
},
"node_id": {
"type": "string"
},
"created_at": {
"type": "string"
},
"target_url": {
"type": "string",
"description": "The optional link added to the status."
},
"updated_at": {
"type": "string"
},
"description": {
"type": "string",
"description": "The optional human-readable description added to the status."
},
"environment": {
"type": "string"
},
"deployment_url": {
"type": "string",
"format": "uri"
},
"repository_url": {
"type": "string",
"format": "uri"
},
"environment_url": {
"type": "string",
"format": "uri"
},
"performed_via_github_app": {
"type": "object",
"title": "App",
"nullable": true,
"required": [
"id",
"node_id",
"owner",
"name",
"description",
"external_url",
"html_url",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"nullable": true,
"description": "Unique identifier of the GitHub app"
},
"name": {
"type": "string",
"description": "The name of the GitHub app"
},
"slug": {
"type": "string",
"description": "The slug name of the GitHub app"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"events": {
"type": "array",
"items": {
"enum": [
"branch_protection_rule",
"check_run",
"check_suite",
"code_scanning_alert",
"commit_comment",
"content_reference",
"create",
"delete",
"deployment",
"deployment_review",
"deployment_status",
"deploy_key",
"discussion",
"discussion_comment",
"fork",
"gollum",
"issues",
"issue_comment",
"label",
"member",
"membership",
"milestone",
"organization",
"org_block",
"page_build",
"project",
"project_card",
"project_column",
"public",
"pull_request",
"pull_request_review",
"pull_request_review_comment",
"push",
"registry_package",
"release",
"repository",
"repository_dispatch",
"secret_scanning_alert",
"star",
"status",
"team",
"team_add",
"watch",
"workflow_dispatch",
"workflow_run",
"pull_request_review_thread",
"merge_queue_entry",
"workflow_job",
"merge_group",
"secret_scanning_alert_location"
],
"type": "string"
},
"description": "The list of events for the GitHub app"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"created_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"permissions": {
"type": "object",
"properties": {
"keys": {
"enum": [
"read",
"write"
],
"type": "string"
},
"pages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"checks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"emails": {
"enum": [
"read",
"write"
],
"type": "string"
},
"issues": {
"enum": [
"read",
"write"
],
"type": "string"
},
"actions": {
"enum": [
"read",
"write"
],
"type": "string"
},
"members": {
"enum": [
"read",
"write"
],
"type": "string"
},
"secrets": {
"enum": [
"read",
"write"
],
"type": "string"
},
"contents": {
"enum": [
"read",
"write"
],
"type": "string"
},
"metadata": {
"enum": [
"read",
"write"
],
"type": "string"
},
"packages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"statuses": {
"enum": [
"read",
"write"
],
"type": "string"
},
"workflows": {
"enum": [
"read",
"write"
],
"type": "string"
},
"deployments": {
"enum": [
"read",
"write"
],
"type": "string"
},
"discussions": {
"enum": [
"read",
"write"
],
"type": "string"
},
"single_file": {
"enum": [
"read",
"write"
],
"type": "string"
},
"environments": {
"enum": [
"read",
"write"
],
"type": "string"
},
"pull_requests": {
"enum": [
"read",
"write"
],
"type": "string"
},
"administration": {
"enum": [
"read",
"write"
],
"type": "string"
},
"security_events": {
"enum": [
"read",
"write"
],
"type": "string"
},
"repository_hooks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_plan": {
"enum": [
"read",
"write"
],
"type": "string"
},
"content_references": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_hooks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"repository_projects": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_secrets": {
"enum": [
"read",
"write"
],
"type": "string"
},
"vulnerability_alerts": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_packages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_projects": {
"enum": [
"read",
"write"
],
"type": "string"
},
"secret_scanning_alerts": {
"enum": [
"read",
"write"
],
"type": "string"
},
"security_scanning_alert": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_user_blocking": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_administration": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_self_hosted_runners": {
"enum": [
"read",
"write"
],
"type": "string"
}
},
"description": "The set of permissions for the GitHub app"
},
"external_url": {
"type": "string",
"format": "uri",
"nullable": true
}
},
"description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub."
}
},
"description": "The [deployment status](https://docs.github.com/rest/deployments/statuses#list-deployment-statuses)."
}
}
}
webhook-discussion-answered
{
"type": "object",
"title": "discussion answered event",
"required": [
"action",
"discussion",
"answer",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"answered"
],
"type": "string"
},
"answer": {
"$ref": "#/components/schemas/webhooks_answer"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"discussion": {
"$ref": "#/components/schemas/discussion"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-discussion-category-changed
{
"type": "object",
"title": "discussion category changed event",
"required": [
"action",
"changes",
"discussion",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"category_changed"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"changes": {
"type": "object",
"required": [
"category"
],
"properties": {
"category": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"type": "object",
"required": [
"id",
"repository_id",
"emoji",
"name",
"description",
"created_at",
"updated_at",
"slug",
"is_answerable"
],
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"slug": {
"type": "string"
},
"emoji": {
"type": "string"
},
"node_id": {
"type": "string"
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string"
},
"description": {
"type": "string"
},
"is_answerable": {
"type": "boolean"
},
"repository_id": {
"type": "integer"
}
}
}
}
}
}
},
"discussion": {
"$ref": "#/components/schemas/discussion"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-discussion-closed
{
"type": "object",
"title": "discussion closed event",
"required": [
"action",
"discussion",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"closed"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"discussion": {
"$ref": "#/components/schemas/discussion"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-discussion-comment-created
{
"type": "object",
"title": "discussion_comment created event",
"required": [
"action",
"comment",
"discussion",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"created"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"comment": {
"$ref": "#/components/schemas/webhooks_comment"
},
"discussion": {
"$ref": "#/components/schemas/discussion"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-discussion-comment-deleted
{
"type": "object",
"title": "discussion_comment deleted event",
"required": [
"action",
"comment",
"discussion",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"deleted"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"comment": {
"$ref": "#/components/schemas/webhooks_comment"
},
"discussion": {
"$ref": "#/components/schemas/discussion"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-discussion-comment-edited
{
"type": "object",
"title": "discussion_comment edited event",
"required": [
"action",
"changes",
"comment",
"discussion",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"edited"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"changes": {
"type": "object",
"required": [
"body"
],
"properties": {
"body": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"type": "string"
}
}
}
}
},
"comment": {
"$ref": "#/components/schemas/webhooks_comment"
},
"discussion": {
"$ref": "#/components/schemas/discussion"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-discussion-created
{
"type": "object",
"title": "discussion created event",
"required": [
"action",
"discussion",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"created"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"discussion": {
"$ref": "#/components/schemas/discussion"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-discussion-deleted
{
"type": "object",
"title": "discussion deleted event",
"required": [
"action",
"discussion",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"deleted"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"discussion": {
"$ref": "#/components/schemas/discussion"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-discussion-edited
{
"type": "object",
"title": "discussion edited event",
"required": [
"action",
"discussion",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"edited"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"changes": {
"type": "object",
"properties": {
"body": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"type": "string"
}
}
},
"title": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"type": "string"
}
}
}
}
},
"discussion": {
"$ref": "#/components/schemas/discussion"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-discussion-labeled
{
"type": "object",
"title": "discussion labeled event",
"required": [
"action",
"discussion",
"label",
"repository",
"sender"
],
"properties": {
"label": {
"$ref": "#/components/schemas/webhooks_label"
},
"action": {
"enum": [
"labeled"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"discussion": {
"$ref": "#/components/schemas/discussion"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-discussion-locked
{
"type": "object",
"title": "discussion locked event",
"required": [
"action",
"discussion",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"locked"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"discussion": {
"$ref": "#/components/schemas/discussion"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-discussion-pinned
{
"type": "object",
"title": "discussion pinned event",
"required": [
"action",
"discussion",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"pinned"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"discussion": {
"$ref": "#/components/schemas/discussion"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-discussion-reopened
{
"type": "object",
"title": "discussion reopened event",
"required": [
"action",
"discussion",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"reopened"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"discussion": {
"$ref": "#/components/schemas/discussion"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-discussion-transferred
{
"type": "object",
"title": "discussion transferred event",
"required": [
"action",
"changes",
"discussion",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"transferred"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"changes": {
"type": "object",
"required": [
"new_discussion",
"new_repository"
],
"properties": {
"new_discussion": {
"$ref": "#/components/schemas/discussion"
},
"new_repository": {
"$ref": "#/components/schemas/repository-webhooks"
}
}
},
"discussion": {
"$ref": "#/components/schemas/discussion"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-discussion-unanswered
{
"type": "object",
"title": "discussion unanswered event",
"required": [
"action",
"discussion",
"old_answer",
"repository"
],
"properties": {
"action": {
"enum": [
"unanswered"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"discussion": {
"$ref": "#/components/schemas/discussion"
},
"old_answer": {
"$ref": "#/components/schemas/webhooks_answer"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-discussion-unlabeled
{
"type": "object",
"title": "discussion unlabeled event",
"required": [
"action",
"discussion",
"label",
"repository",
"sender"
],
"properties": {
"label": {
"$ref": "#/components/schemas/webhooks_label"
},
"action": {
"enum": [
"unlabeled"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"discussion": {
"$ref": "#/components/schemas/discussion"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-discussion-unlocked
{
"type": "object",
"title": "discussion unlocked event",
"required": [
"action",
"discussion",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"unlocked"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"discussion": {
"$ref": "#/components/schemas/discussion"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-discussion-unpinned
{
"type": "object",
"title": "discussion unpinned event",
"required": [
"action",
"discussion",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"unpinned"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"discussion": {
"$ref": "#/components/schemas/discussion"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-fork
{
"type": "object",
"title": "fork event",
"required": [
"forkee",
"repository",
"sender"
],
"properties": {
"forkee": {
"allOf": [
{
"type": "object",
"title": "Repository",
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"allow_update_branch": {
"type": "boolean"
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"web_commit_signoff_required": {
"type": "boolean",
"description": "Whether to require contributors to sign off on web-based commits"
}
},
"description": "A git repository"
},
{
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"fork": {
"enum": [
true
],
"type": "boolean"
},
"name": {
"type": "string"
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"type": {
"type": "string"
},
"login": {
"type": "string"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string"
},
"gists_url": {
"type": "string"
},
"repos_url": {
"type": "string"
},
"avatar_url": {
"type": "string"
},
"events_url": {
"type": "string"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string"
},
"followers_url": {
"type": "string"
},
"following_url": {
"type": "string"
},
"organizations_url": {
"type": "string"
},
"subscriptions_url": {
"type": "string"
},
"received_events_url": {
"type": "string"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"nullable": true
}
},
"git_url": {
"type": "string"
},
"license": {
"type": "object",
"nullable": true
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean"
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string"
},
"archived": {
"type": "boolean"
},
"disabled": {
"type": "boolean"
},
"has_wiki": {
"type": "boolean"
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string"
},
"keys_url": {
"type": "string"
},
"language": {
"nullable": true
},
"tags_url": {
"type": "string"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string"
},
"clone_url": {
"type": "string"
},
"forks_url": {
"type": "string"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string"
},
"pulls_url": {
"type": "string"
},
"pushed_at": {
"type": "string"
},
"teams_url": {
"type": "string"
},
"trees_url": {
"type": "string"
},
"created_at": {
"type": "string"
},
"events_url": {
"type": "string"
},
"has_issues": {
"type": "boolean"
},
"issues_url": {
"type": "string"
},
"labels_url": {
"type": "string"
},
"merges_url": {
"type": "string"
},
"mirror_url": {
"nullable": true
},
"updated_at": {
"type": "string"
},
"visibility": {
"type": "string"
},
"archive_url": {
"type": "string"
},
"commits_url": {
"type": "string"
},
"compare_url": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"branches_url": {
"type": "string"
},
"comments_url": {
"type": "string"
},
"contents_url": {
"type": "string"
},
"git_refs_url": {
"type": "string"
},
"git_tags_url": {
"type": "string"
},
"has_projects": {
"type": "boolean"
},
"releases_url": {
"type": "string"
},
"statuses_url": {
"type": "string"
},
"allow_forking": {
"type": "boolean"
},
"assignees_url": {
"type": "string"
},
"downloads_url": {
"type": "string"
},
"has_downloads": {
"type": "boolean"
},
"languages_url": {
"type": "string"
},
"default_branch": {
"type": "string"
},
"milestones_url": {
"type": "string"
},
"stargazers_url": {
"type": "string"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string"
},
"git_commits_url": {
"type": "string"
},
"subscribers_url": {
"type": "string"
},
"contributors_url": {
"type": "string"
},
"issue_events_url": {
"type": "string"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string"
},
"collaborators_url": {
"type": "string"
},
"issue_comment_url": {
"type": "string"
},
"notifications_url": {
"type": "string"
},
"open_issues_count": {
"type": "integer"
}
}
}
],
"description": "The created [`repository`](https://docs.github.com/rest/repos/repos#get-a-repository) resource."
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
},
"description": "A user forks a repository."
}
webhook-github-app-authorization-revoked
{
"type": "object",
"title": "github_app_authorization revoked event",
"required": [
"action",
"sender"
],
"properties": {
"action": {
"enum": [
"revoked"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
}
}
}
webhook-gollum
{
"type": "object",
"title": "gollum event",
"required": [
"pages",
"repository",
"sender"
],
"properties": {
"pages": {
"type": "array",
"items": {
"type": "object",
"required": [
"page_name",
"title",
"summary",
"action",
"sha",
"html_url"
],
"properties": {
"sha": {
"type": "string",
"description": "The latest commit SHA of the page."
},
"title": {
"type": "string",
"description": "The current page title."
},
"action": {
"enum": [
"created",
"edited"
],
"type": "string",
"description": "The action that was performed on the page. Can be `created` or `edited`."
},
"summary": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri",
"description": "Points to the HTML wiki page."
},
"page_name": {
"type": "string",
"description": "The name of the page."
}
}
},
"description": "The pages that were updated."
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-installation-created
{
"type": "object",
"title": "installation created event",
"required": [
"action",
"installation",
"sender"
],
"properties": {
"action": {
"enum": [
"created"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"requester": {
"$ref": "#/components/schemas/webhooks_user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"repositories": {
"$ref": "#/components/schemas/webhooks_repositories"
}
}
}
webhook-installation-deleted
{
"type": "object",
"title": "installation deleted event",
"required": [
"action",
"installation",
"sender"
],
"properties": {
"action": {
"enum": [
"deleted"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"requester": {
"nullable": true
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"repositories": {
"$ref": "#/components/schemas/webhooks_repositories"
}
}
}
webhook-installation-new-permissions-accepted
{
"type": "object",
"title": "installation new_permissions_accepted event",
"required": [
"action",
"installation",
"sender"
],
"properties": {
"action": {
"enum": [
"new_permissions_accepted"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"requester": {
"nullable": true
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"repositories": {
"$ref": "#/components/schemas/webhooks_repositories"
}
}
}
webhook-installation-repositories-added
{
"type": "object",
"title": "installation_repositories added event",
"required": [
"action",
"installation",
"repository_selection",
"repositories_added",
"repositories_removed",
"requester",
"sender"
],
"properties": {
"action": {
"enum": [
"added"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"requester": {
"$ref": "#/components/schemas/webhooks_user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"repositories_added": {
"$ref": "#/components/schemas/webhooks_repositories_added"
},
"repositories_removed": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the repository"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"full_name": {
"type": "string"
}
}
},
"description": "An array of repository objects, which were removed from the installation."
},
"repository_selection": {
"$ref": "#/components/schemas/webhooks_repository_selection"
}
}
}
webhook-installation-repositories-removed
{
"type": "object",
"title": "installation_repositories removed event",
"required": [
"action",
"installation",
"repository_selection",
"repositories_added",
"repositories_removed",
"requester",
"sender"
],
"properties": {
"action": {
"enum": [
"removed"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"requester": {
"$ref": "#/components/schemas/webhooks_user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"repositories_added": {
"$ref": "#/components/schemas/webhooks_repositories_added"
},
"repositories_removed": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"node_id",
"name",
"full_name",
"private"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the repository"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"full_name": {
"type": "string"
}
}
},
"description": "An array of repository objects, which were removed from the installation."
},
"repository_selection": {
"$ref": "#/components/schemas/webhooks_repository_selection"
}
}
}
webhook-installation-suspend
{
"type": "object",
"title": "installation suspend event",
"required": [
"action",
"installation",
"sender"
],
"properties": {
"action": {
"enum": [
"suspend"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"requester": {
"nullable": true
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"repositories": {
"$ref": "#/components/schemas/webhooks_repositories"
}
}
}
webhook-installation-target-renamed
{
"type": "object",
"required": [
"action",
"target_type",
"account",
"changes",
"installation"
],
"properties": {
"action": {
"enum": [
"renamed"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"account": {
"type": "object",
"required": [
"id",
"node_id",
"avatar_url",
"html_url"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"name": {
"type": "string"
},
"slug": {
"type": "string"
},
"type": {
"type": "string"
},
"login": {
"type": "string"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string"
},
"followers": {
"type": "integer"
},
"following": {
"type": "integer"
},
"gists_url": {
"type": "string"
},
"hooks_url": {
"type": "string"
},
"repos_url": {
"type": "string"
},
"avatar_url": {
"type": "string"
},
"created_at": {
"type": "string"
},
"events_url": {
"type": "string"
},
"issues_url": {
"type": "string"
},
"site_admin": {
"type": "boolean"
},
"updated_at": {
"type": "string"
},
"archived_at": {
"type": "string",
"nullable": true
},
"description": {
"nullable": true
},
"gravatar_id": {
"type": "string"
},
"is_verified": {
"type": "boolean"
},
"members_url": {
"type": "string"
},
"starred_url": {
"type": "string"
},
"website_url": {
"nullable": true
},
"public_gists": {
"type": "integer"
},
"public_repos": {
"type": "integer"
},
"followers_url": {
"type": "string"
},
"following_url": {
"type": "string"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string"
},
"subscriptions_url": {
"type": "string"
},
"public_members_url": {
"type": "string"
},
"received_events_url": {
"type": "string"
},
"has_repository_projects": {
"type": "boolean"
},
"has_organization_projects": {
"type": "boolean"
}
}
},
"changes": {
"type": "object",
"properties": {
"slug": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"type": "string"
}
}
},
"login": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"type": "string"
}
}
}
}
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"target_type": {
"type": "string"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-installation-unsuspend
{
"type": "object",
"title": "installation unsuspend event",
"required": [
"action",
"installation",
"sender"
],
"properties": {
"action": {
"enum": [
"unsuspend"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"requester": {
"nullable": true
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"repositories": {
"$ref": "#/components/schemas/webhooks_repositories"
}
}
}
webhook-issue-comment-created
{
"type": "object",
"title": "issue_comment created event",
"required": [
"action",
"issue",
"comment",
"repository",
"sender"
],
"properties": {
"issue": {
"allOf": [
{
"type": "object",
"title": "Issue",
"required": [
"url",
"repository_url",
"labels_url",
"comments_url",
"events_url",
"html_url",
"id",
"node_id",
"number",
"title",
"user",
"assignees",
"milestone",
"comments",
"created_at",
"updated_at",
"closed_at",
"author_association",
"active_lock_reason",
"body",
"reactions"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the issue"
},
"body": {
"type": "string",
"nullable": true,
"description": "Contents of the issue"
},
"type": {
"$ref": "#/components/schemas/issue-type"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"draft": {
"type": "boolean"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "State of the issue; either 'open' or 'closed'"
},
"title": {
"type": "string",
"description": "Title of the issue"
},
"labels": {
"type": "array",
"items": {
"type": "object",
"title": "Label",
"required": [
"id",
"node_id",
"url",
"name",
"color",
"default",
"description"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the label"
},
"name": {
"type": "string",
"description": "The name of the label."
},
"color": {
"type": "string",
"description": "6-character hex code, without the leading #, identifying the color"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
},
"locked": {
"type": "boolean"
},
"number": {
"type": "integer"
},
"node_id": {
"type": "string"
},
"assignee": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"comments": {
"type": "integer"
},
"html_url": {
"type": "string",
"format": "uri"
},
"assignees": {
"type": "array",
"items": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
}
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"milestone": {
"type": "object",
"title": "Milestone",
"nullable": true,
"required": [
"url",
"html_url",
"labels_url",
"id",
"node_id",
"number",
"title",
"description",
"creator",
"open_issues",
"closed_issues",
"state",
"created_at",
"updated_at",
"due_on",
"closed_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "The state of the milestone."
},
"title": {
"type": "string",
"description": "The title of the milestone."
},
"due_on": {
"type": "string",
"format": "date-time",
"nullable": true
},
"number": {
"type": "integer",
"description": "The number of the milestone."
},
"creator": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"labels_url": {
"type": "string",
"format": "uri"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string",
"nullable": true
},
"open_issues": {
"type": "integer"
},
"closed_issues": {
"type": "integer"
}
},
"description": "A collection of related issues and pull requests."
},
"reactions": {
"type": "object",
"title": "Reactions",
"required": [
"url",
"total_count",
"+1",
"-1",
"laugh",
"confused",
"heart",
"hooray",
"eyes",
"rocket"
],
"properties": {
"+1": {
"type": "integer"
},
"-1": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"eyes": {
"type": "integer"
},
"heart": {
"type": "integer"
},
"laugh": {
"type": "integer"
},
"hooray": {
"type": "integer"
},
"rocket": {
"type": "integer"
},
"confused": {
"type": "integer"
},
"total_count": {
"type": "integer"
}
}
},
"created_at": {
"type": "string",
"format": "date-time"
},
"events_url": {
"type": "string",
"format": "uri"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"comments_url": {
"type": "string",
"format": "uri"
},
"pull_request": {
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"diff_url": {
"type": "string",
"format": "uri"
},
"html_url": {
"type": "string",
"format": "uri"
},
"merged_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"patch_url": {
"type": "string",
"format": "uri"
}
}
},
"state_reason": {
"type": "string",
"nullable": true
},
"timeline_url": {
"type": "string",
"format": "uri"
},
"repository_url": {
"type": "string",
"format": "uri"
},
"active_lock_reason": {
"enum": [
"resolved",
"off-topic",
"too heated",
"spam",
null
],
"type": "string",
"nullable": true
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
},
"sub_issues_summary": {
"$ref": "#/components/schemas/sub-issues-summary"
},
"performed_via_github_app": {
"type": "object",
"title": "App",
"nullable": true,
"required": [
"id",
"node_id",
"owner",
"name",
"description",
"external_url",
"html_url",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"nullable": true,
"description": "Unique identifier of the GitHub app"
},
"name": {
"type": "string",
"description": "The name of the GitHub app"
},
"slug": {
"type": "string",
"description": "The slug name of the GitHub app"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"events": {
"type": "array",
"items": {
"enum": [
"branch_protection_rule",
"check_run",
"check_suite",
"code_scanning_alert",
"commit_comment",
"content_reference",
"create",
"delete",
"deployment",
"deployment_review",
"deployment_status",
"deploy_key",
"discussion",
"discussion_comment",
"fork",
"gollum",
"issues",
"issue_comment",
"label",
"member",
"membership",
"milestone",
"organization",
"org_block",
"page_build",
"project",
"project_card",
"project_column",
"public",
"pull_request",
"pull_request_review",
"pull_request_review_comment",
"push",
"registry_package",
"release",
"repository",
"repository_dispatch",
"secret_scanning_alert",
"star",
"status",
"team",
"team_add",
"watch",
"workflow_dispatch",
"workflow_run",
"reminder",
"pull_request_review_thread"
],
"type": "string"
},
"description": "The list of events for the GitHub app"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"created_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"permissions": {
"type": "object",
"properties": {
"keys": {
"enum": [
"read",
"write"
],
"type": "string"
},
"pages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"checks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"emails": {
"enum": [
"read",
"write"
],
"type": "string"
},
"issues": {
"enum": [
"read",
"write"
],
"type": "string"
},
"actions": {
"enum": [
"read",
"write"
],
"type": "string"
},
"members": {
"enum": [
"read",
"write"
],
"type": "string"
},
"secrets": {
"enum": [
"read",
"write"
],
"type": "string"
},
"contents": {
"enum": [
"read",
"write"
],
"type": "string"
},
"metadata": {
"enum": [
"read",
"write"
],
"type": "string"
},
"packages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"statuses": {
"enum": [
"read",
"write"
],
"type": "string"
},
"workflows": {
"enum": [
"read",
"write"
],
"type": "string"
},
"deployments": {
"enum": [
"read",
"write"
],
"type": "string"
},
"discussions": {
"enum": [
"read",
"write"
],
"type": "string"
},
"single_file": {
"enum": [
"read",
"write"
],
"type": "string"
},
"environments": {
"enum": [
"read",
"write"
],
"type": "string"
},
"pull_requests": {
"enum": [
"read",
"write"
],
"type": "string"
},
"administration": {
"enum": [
"read",
"write"
],
"type": "string"
},
"security_events": {
"enum": [
"read",
"write"
],
"type": "string"
},
"repository_hooks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_plan": {
"enum": [
"read",
"write"
],
"type": "string"
},
"content_references": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_hooks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"repository_projects": {
"enum": [
"read",
"write",
"admin"
],
"type": "string"
},
"organization_secrets": {
"enum": [
"read",
"write"
],
"type": "string"
},
"vulnerability_alerts": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_packages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_projects": {
"enum": [
"read",
"write",
"admin"
],
"type": "string"
},
"secret_scanning_alerts": {
"enum": [
"read",
"write"
],
"type": "string"
},
"security_scanning_alert": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_user_blocking": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_administration": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_self_hosted_runners": {
"enum": [
"read",
"write"
],
"type": "string"
}
},
"description": "The set of permissions for the GitHub app"
},
"external_url": {
"type": "string",
"format": "uri",
"nullable": true
}
},
"description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub."
},
"issue_dependencies_summary": {
"$ref": "#/components/schemas/issue-dependencies-summary"
}
},
"description": "The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself."
},
{
"type": "object",
"required": [
"labels",
"state",
"locked",
"assignee"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"body": {
"type": "string",
"nullable": true
},
"user": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string"
},
"type": {
"type": "string"
},
"login": {
"type": "string"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string"
},
"gists_url": {
"type": "string"
},
"repos_url": {
"type": "string"
},
"avatar_url": {
"type": "string"
},
"events_url": {
"type": "string"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string"
},
"followers_url": {
"type": "string"
},
"following_url": {
"type": "string"
},
"organizations_url": {
"type": "string"
},
"subscriptions_url": {
"type": "string"
},
"received_events_url": {
"type": "string"
}
}
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "State of the issue; either 'open' or 'closed'"
},
"title": {
"type": "string"
},
"labels": {
"type": "array",
"items": {
"type": "object",
"title": "Label",
"required": [
"id",
"node_id",
"url",
"name",
"color",
"default",
"description"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the label"
},
"name": {
"type": "string",
"description": "The name of the label."
},
"color": {
"type": "string",
"description": "6-character hex code, without the leading #, identifying the color"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
},
"locked": {
"type": "boolean"
},
"number": {
"type": "integer"
},
"node_id": {
"type": "string"
},
"assignee": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"comments": {
"type": "integer"
},
"html_url": {
"type": "string"
},
"assignees": {
"type": "array",
"items": {
"type": "object",
"nullable": true
}
},
"closed_at": {
"type": "string",
"nullable": true
},
"milestone": {
"type": "object",
"nullable": true
},
"reactions": {
"type": "object",
"properties": {
"+1": {
"type": "integer"
},
"-1": {
"type": "integer"
},
"url": {
"type": "string"
},
"eyes": {
"type": "integer"
},
"heart": {
"type": "integer"
},
"laugh": {
"type": "integer"
},
"hooray": {
"type": "integer"
},
"rocket": {
"type": "integer"
},
"confused": {
"type": "integer"
},
"total_count": {
"type": "integer"
}
}
},
"created_at": {
"type": "string"
},
"events_url": {
"type": "string"
},
"labels_url": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"comments_url": {
"type": "string"
},
"timeline_url": {
"type": "string"
},
"repository_url": {
"type": "string"
},
"active_lock_reason": {
"type": "string",
"nullable": true
},
"author_association": {
"type": "string"
},
"performed_via_github_app": {
"type": "object",
"nullable": true
}
}
}
],
"description": "The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to."
},
"action": {
"enum": [
"created"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"comment": {
"type": "object",
"title": "issue comment",
"required": [
"url",
"html_url",
"issue_url",
"id",
"node_id",
"user",
"created_at",
"updated_at",
"author_association",
"performed_via_github_app",
"body",
"reactions"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the issue comment"
},
"pin": {
"$ref": "#/components/schemas/nullable-pinned-issue-comment"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the issue comment"
},
"body": {
"type": "string",
"description": "Contents of the issue comment"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"issue_url": {
"type": "string",
"format": "uri"
},
"reactions": {
"type": "object",
"title": "Reactions",
"required": [
"url",
"total_count",
"+1",
"-1",
"laugh",
"confused",
"heart",
"hooray",
"eyes",
"rocket"
],
"properties": {
"+1": {
"type": "integer"
},
"-1": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"eyes": {
"type": "integer"
},
"heart": {
"type": "integer"
},
"laugh": {
"type": "integer"
},
"hooray": {
"type": "integer"
},
"rocket": {
"type": "integer"
},
"confused": {
"type": "integer"
},
"total_count": {
"type": "integer"
}
}
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
},
"performed_via_github_app": {
"$ref": "#/components/schemas/nullable-integration"
}
},
"description": "The [comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment) itself."
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-issue-comment-deleted
{
"type": "object",
"title": "issue_comment deleted event",
"required": [
"action",
"issue",
"comment",
"repository",
"sender"
],
"properties": {
"issue": {
"allOf": [
{
"type": "object",
"title": "Issue",
"required": [
"url",
"repository_url",
"labels_url",
"comments_url",
"events_url",
"html_url",
"id",
"node_id",
"number",
"title",
"user",
"assignees",
"milestone",
"comments",
"created_at",
"updated_at",
"closed_at",
"author_association",
"active_lock_reason",
"body",
"reactions"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the issue"
},
"body": {
"type": "string",
"nullable": true,
"description": "Contents of the issue"
},
"type": {
"$ref": "#/components/schemas/issue-type"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"draft": {
"type": "boolean"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "State of the issue; either 'open' or 'closed'"
},
"title": {
"type": "string",
"description": "Title of the issue"
},
"labels": {
"type": "array",
"items": {
"type": "object",
"title": "Label",
"required": [
"id",
"node_id",
"url",
"name",
"color",
"default",
"description"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the label"
},
"name": {
"type": "string",
"description": "The name of the label."
},
"color": {
"type": "string",
"description": "6-character hex code, without the leading #, identifying the color"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
},
"locked": {
"type": "boolean"
},
"number": {
"type": "integer"
},
"node_id": {
"type": "string"
},
"assignee": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"comments": {
"type": "integer"
},
"html_url": {
"type": "string",
"format": "uri"
},
"assignees": {
"type": "array",
"items": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
}
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"milestone": {
"type": "object",
"title": "Milestone",
"nullable": true,
"required": [
"url",
"html_url",
"labels_url",
"id",
"node_id",
"number",
"title",
"description",
"creator",
"open_issues",
"closed_issues",
"state",
"created_at",
"updated_at",
"due_on",
"closed_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "The state of the milestone."
},
"title": {
"type": "string",
"description": "The title of the milestone."
},
"due_on": {
"type": "string",
"format": "date-time",
"nullable": true
},
"number": {
"type": "integer",
"description": "The number of the milestone."
},
"creator": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"labels_url": {
"type": "string",
"format": "uri"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string",
"nullable": true
},
"open_issues": {
"type": "integer"
},
"closed_issues": {
"type": "integer"
}
},
"description": "A collection of related issues and pull requests."
},
"reactions": {
"type": "object",
"title": "Reactions",
"required": [
"url",
"total_count",
"+1",
"-1",
"laugh",
"confused",
"heart",
"hooray",
"eyes",
"rocket"
],
"properties": {
"+1": {
"type": "integer"
},
"-1": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"eyes": {
"type": "integer"
},
"heart": {
"type": "integer"
},
"laugh": {
"type": "integer"
},
"hooray": {
"type": "integer"
},
"rocket": {
"type": "integer"
},
"confused": {
"type": "integer"
},
"total_count": {
"type": "integer"
}
}
},
"created_at": {
"type": "string",
"format": "date-time"
},
"events_url": {
"type": "string",
"format": "uri"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"comments_url": {
"type": "string",
"format": "uri"
},
"pull_request": {
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"diff_url": {
"type": "string",
"format": "uri"
},
"html_url": {
"type": "string",
"format": "uri"
},
"merged_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"patch_url": {
"type": "string",
"format": "uri"
}
}
},
"state_reason": {
"type": "string",
"nullable": true
},
"timeline_url": {
"type": "string",
"format": "uri"
},
"repository_url": {
"type": "string",
"format": "uri"
},
"active_lock_reason": {
"enum": [
"resolved",
"off-topic",
"too heated",
"spam",
null
],
"type": "string",
"nullable": true
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
},
"sub_issues_summary": {
"$ref": "#/components/schemas/sub-issues-summary"
},
"performed_via_github_app": {
"type": "object",
"title": "App",
"nullable": true,
"required": [
"id",
"node_id",
"owner",
"name",
"description",
"external_url",
"html_url",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"nullable": true,
"description": "Unique identifier of the GitHub app"
},
"name": {
"type": "string",
"description": "The name of the GitHub app"
},
"slug": {
"type": "string",
"description": "The slug name of the GitHub app"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"events": {
"type": "array",
"items": {
"enum": [
"branch_protection_rule",
"check_run",
"check_suite",
"code_scanning_alert",
"commit_comment",
"content_reference",
"create",
"delete",
"deployment",
"deployment_review",
"deployment_status",
"deploy_key",
"discussion",
"discussion_comment",
"fork",
"gollum",
"issues",
"issue_comment",
"label",
"member",
"membership",
"milestone",
"organization",
"org_block",
"page_build",
"project",
"project_card",
"project_column",
"public",
"pull_request",
"pull_request_review",
"pull_request_review_comment",
"push",
"registry_package",
"release",
"repository",
"repository_dispatch",
"secret_scanning_alert",
"star",
"status",
"team",
"team_add",
"watch",
"workflow_dispatch",
"workflow_run"
],
"type": "string"
},
"description": "The list of events for the GitHub app"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"created_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"permissions": {
"type": "object",
"properties": {
"keys": {
"enum": [
"read",
"write"
],
"type": "string"
},
"pages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"checks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"emails": {
"enum": [
"read",
"write"
],
"type": "string"
},
"issues": {
"enum": [
"read",
"write"
],
"type": "string"
},
"actions": {
"enum": [
"read",
"write"
],
"type": "string"
},
"members": {
"enum": [
"read",
"write"
],
"type": "string"
},
"secrets": {
"enum": [
"read",
"write"
],
"type": "string"
},
"contents": {
"enum": [
"read",
"write"
],
"type": "string"
},
"metadata": {
"enum": [
"read",
"write"
],
"type": "string"
},
"packages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"statuses": {
"enum": [
"read",
"write"
],
"type": "string"
},
"workflows": {
"enum": [
"read",
"write"
],
"type": "string"
},
"deployments": {
"enum": [
"read",
"write"
],
"type": "string"
},
"discussions": {
"enum": [
"read",
"write"
],
"type": "string"
},
"single_file": {
"enum": [
"read",
"write"
],
"type": "string"
},
"environments": {
"enum": [
"read",
"write"
],
"type": "string"
},
"pull_requests": {
"enum": [
"read",
"write"
],
"type": "string"
},
"administration": {
"enum": [
"read",
"write"
],
"type": "string"
},
"security_events": {
"enum": [
"read",
"write"
],
"type": "string"
},
"repository_hooks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_plan": {
"enum": [
"read",
"write"
],
"type": "string"
},
"content_references": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_hooks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"repository_projects": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_secrets": {
"enum": [
"read",
"write"
],
"type": "string"
},
"vulnerability_alerts": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_packages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_projects": {
"enum": [
"read",
"write"
],
"type": "string"
},
"secret_scanning_alerts": {
"enum": [
"read",
"write"
],
"type": "string"
},
"security_scanning_alert": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_user_blocking": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_administration": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_self_hosted_runners": {
"enum": [
"read",
"write"
],
"type": "string"
}
},
"description": "The set of permissions for the GitHub app"
},
"external_url": {
"type": "string",
"format": "uri",
"nullable": true
}
},
"description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub."
},
"issue_dependencies_summary": {
"$ref": "#/components/schemas/issue-dependencies-summary"
}
},
"description": "The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself."
},
{
"type": "object",
"required": [
"labels",
"state",
"locked",
"assignee"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"body": {
"type": "string",
"nullable": true
},
"user": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string"
},
"type": {
"type": "string"
},
"login": {
"type": "string"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string"
},
"gists_url": {
"type": "string"
},
"repos_url": {
"type": "string"
},
"avatar_url": {
"type": "string"
},
"events_url": {
"type": "string"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string"
},
"followers_url": {
"type": "string"
},
"following_url": {
"type": "string"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string"
},
"subscriptions_url": {
"type": "string"
},
"received_events_url": {
"type": "string"
}
}
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "State of the issue; either 'open' or 'closed'"
},
"title": {
"type": "string"
},
"labels": {
"type": "array",
"items": {
"type": "object",
"title": "Label",
"required": [
"id",
"node_id",
"url",
"name",
"color",
"default",
"description"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the label"
},
"name": {
"type": "string",
"description": "The name of the label."
},
"color": {
"type": "string",
"description": "6-character hex code, without the leading #, identifying the color"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
},
"locked": {
"type": "boolean"
},
"number": {
"type": "integer"
},
"node_id": {
"type": "string"
},
"assignee": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"comments": {
"type": "integer"
},
"html_url": {
"type": "string"
},
"assignees": {
"type": "array",
"items": {
"type": "object",
"nullable": true
}
},
"closed_at": {
"type": "string",
"nullable": true
},
"milestone": {
"type": "object",
"nullable": true
},
"reactions": {
"type": "object",
"properties": {
"+1": {
"type": "integer"
},
"-1": {
"type": "integer"
},
"url": {
"type": "string"
},
"eyes": {
"type": "integer"
},
"heart": {
"type": "integer"
},
"laugh": {
"type": "integer"
},
"hooray": {
"type": "integer"
},
"rocket": {
"type": "integer"
},
"confused": {
"type": "integer"
},
"total_count": {
"type": "integer"
}
}
},
"created_at": {
"type": "string"
},
"events_url": {
"type": "string"
},
"labels_url": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"comments_url": {
"type": "string"
},
"timeline_url": {
"type": "string"
},
"repository_url": {
"type": "string"
},
"active_lock_reason": {
"type": "string",
"nullable": true
},
"author_association": {
"type": "string"
},
"performed_via_github_app": {
"type": "object",
"nullable": true
}
}
}
],
"description": "The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to."
},
"action": {
"enum": [
"deleted"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"comment": {
"$ref": "#/components/schemas/webhooks_issue_comment"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-issue-comment-edited
{
"type": "object",
"title": "issue_comment edited event",
"required": [
"action",
"changes",
"issue",
"comment",
"repository",
"sender"
],
"properties": {
"issue": {
"allOf": [
{
"type": "object",
"title": "Issue",
"required": [
"url",
"repository_url",
"labels_url",
"comments_url",
"events_url",
"html_url",
"id",
"node_id",
"number",
"title",
"user",
"assignees",
"milestone",
"comments",
"created_at",
"updated_at",
"closed_at",
"author_association",
"active_lock_reason",
"body",
"reactions"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the issue"
},
"body": {
"type": "string",
"nullable": true,
"description": "Contents of the issue"
},
"type": {
"$ref": "#/components/schemas/issue-type"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"draft": {
"type": "boolean"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "State of the issue; either 'open' or 'closed'"
},
"title": {
"type": "string",
"description": "Title of the issue"
},
"labels": {
"type": "array",
"items": {
"type": "object",
"title": "Label",
"required": [
"id",
"node_id",
"url",
"name",
"color",
"default",
"description"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the label"
},
"name": {
"type": "string",
"description": "The name of the label."
},
"color": {
"type": "string",
"description": "6-character hex code, without the leading #, identifying the color"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
},
"locked": {
"type": "boolean"
},
"number": {
"type": "integer"
},
"node_id": {
"type": "string"
},
"assignee": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"comments": {
"type": "integer"
},
"html_url": {
"type": "string",
"format": "uri"
},
"assignees": {
"type": "array",
"items": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
}
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"milestone": {
"type": "object",
"title": "Milestone",
"nullable": true,
"required": [
"url",
"html_url",
"labels_url",
"id",
"node_id",
"number",
"title",
"description",
"creator",
"open_issues",
"closed_issues",
"state",
"created_at",
"updated_at",
"due_on",
"closed_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "The state of the milestone."
},
"title": {
"type": "string",
"description": "The title of the milestone."
},
"due_on": {
"type": "string",
"format": "date-time",
"nullable": true
},
"number": {
"type": "integer",
"description": "The number of the milestone."
},
"creator": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"labels_url": {
"type": "string",
"format": "uri"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string",
"nullable": true
},
"open_issues": {
"type": "integer"
},
"closed_issues": {
"type": "integer"
}
},
"description": "A collection of related issues and pull requests."
},
"reactions": {
"type": "object",
"title": "Reactions",
"required": [
"url",
"total_count",
"+1",
"-1",
"laugh",
"confused",
"heart",
"hooray",
"eyes",
"rocket"
],
"properties": {
"+1": {
"type": "integer"
},
"-1": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"eyes": {
"type": "integer"
},
"heart": {
"type": "integer"
},
"laugh": {
"type": "integer"
},
"hooray": {
"type": "integer"
},
"rocket": {
"type": "integer"
},
"confused": {
"type": "integer"
},
"total_count": {
"type": "integer"
}
}
},
"created_at": {
"type": "string",
"format": "date-time"
},
"events_url": {
"type": "string",
"format": "uri"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"comments_url": {
"type": "string",
"format": "uri"
},
"pull_request": {
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"diff_url": {
"type": "string",
"format": "uri"
},
"html_url": {
"type": "string",
"format": "uri"
},
"merged_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"patch_url": {
"type": "string",
"format": "uri"
}
}
},
"state_reason": {
"type": "string",
"nullable": true
},
"timeline_url": {
"type": "string",
"format": "uri"
},
"repository_url": {
"type": "string",
"format": "uri"
},
"active_lock_reason": {
"enum": [
"resolved",
"off-topic",
"too heated",
"spam",
null
],
"type": "string",
"nullable": true
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
},
"sub_issues_summary": {
"$ref": "#/components/schemas/sub-issues-summary"
},
"performed_via_github_app": {
"type": "object",
"title": "App",
"nullable": true,
"required": [
"id",
"node_id",
"owner",
"name",
"description",
"external_url",
"html_url",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"nullable": true,
"description": "Unique identifier of the GitHub app"
},
"name": {
"type": "string",
"description": "The name of the GitHub app"
},
"slug": {
"type": "string",
"description": "The slug name of the GitHub app"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"events": {
"type": "array",
"items": {
"enum": [
"branch_protection_rule",
"check_run",
"check_suite",
"code_scanning_alert",
"commit_comment",
"content_reference",
"create",
"delete",
"deployment",
"deployment_review",
"deployment_status",
"deploy_key",
"discussion",
"discussion_comment",
"fork",
"gollum",
"issues",
"issue_comment",
"label",
"member",
"membership",
"milestone",
"organization",
"org_block",
"page_build",
"project",
"project_card",
"project_column",
"public",
"pull_request",
"pull_request_review",
"pull_request_review_comment",
"push",
"registry_package",
"release",
"repository",
"repository_dispatch",
"secret_scanning_alert",
"star",
"status",
"team",
"team_add",
"watch",
"workflow_dispatch",
"workflow_run",
"reminder",
"pull_request_review_thread"
],
"type": "string"
},
"description": "The list of events for the GitHub app"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"created_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"permissions": {
"type": "object",
"properties": {
"keys": {
"enum": [
"read",
"write"
],
"type": "string"
},
"pages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"checks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"emails": {
"enum": [
"read",
"write"
],
"type": "string"
},
"issues": {
"enum": [
"read",
"write"
],
"type": "string"
},
"actions": {
"enum": [
"read",
"write"
],
"type": "string"
},
"members": {
"enum": [
"read",
"write"
],
"type": "string"
},
"secrets": {
"enum": [
"read",
"write"
],
"type": "string"
},
"contents": {
"enum": [
"read",
"write"
],
"type": "string"
},
"metadata": {
"enum": [
"read",
"write"
],
"type": "string"
},
"packages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"statuses": {
"enum": [
"read",
"write"
],
"type": "string"
},
"workflows": {
"enum": [
"read",
"write"
],
"type": "string"
},
"deployments": {
"enum": [
"read",
"write"
],
"type": "string"
},
"discussions": {
"enum": [
"read",
"write"
],
"type": "string"
},
"single_file": {
"enum": [
"read",
"write"
],
"type": "string"
},
"environments": {
"enum": [
"read",
"write"
],
"type": "string"
},
"pull_requests": {
"enum": [
"read",
"write"
],
"type": "string"
},
"administration": {
"enum": [
"read",
"write"
],
"type": "string"
},
"security_events": {
"enum": [
"read",
"write"
],
"type": "string"
},
"repository_hooks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_plan": {
"enum": [
"read",
"write"
],
"type": "string"
},
"content_references": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_hooks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"repository_projects": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_secrets": {
"enum": [
"read",
"write"
],
"type": "string"
},
"vulnerability_alerts": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_packages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_projects": {
"enum": [
"read",
"write",
"admin"
],
"type": "string"
},
"secret_scanning_alerts": {
"enum": [
"read",
"write"
],
"type": "string"
},
"security_scanning_alert": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_user_blocking": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_administration": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_self_hosted_runners": {
"enum": [
"read",
"write"
],
"type": "string"
}
},
"description": "The set of permissions for the GitHub app"
},
"external_url": {
"type": "string",
"format": "uri",
"nullable": true
}
},
"description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub."
},
"issue_dependencies_summary": {
"$ref": "#/components/schemas/issue-dependencies-summary"
}
},
"description": "The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself."
},
{
"type": "object",
"required": [
"labels",
"state",
"locked",
"assignee"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"body": {
"type": "string",
"nullable": true
},
"user": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string"
},
"type": {
"type": "string"
},
"login": {
"type": "string"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string"
},
"gists_url": {
"type": "string"
},
"repos_url": {
"type": "string"
},
"avatar_url": {
"type": "string"
},
"events_url": {
"type": "string"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string"
},
"followers_url": {
"type": "string"
},
"following_url": {
"type": "string"
},
"organizations_url": {
"type": "string"
},
"subscriptions_url": {
"type": "string"
},
"received_events_url": {
"type": "string"
}
}
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "State of the issue; either 'open' or 'closed'"
},
"title": {
"type": "string"
},
"labels": {
"type": "array",
"items": {
"type": "object",
"title": "Label",
"required": [
"id",
"node_id",
"url",
"name",
"color",
"default",
"description"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the label"
},
"name": {
"type": "string",
"description": "The name of the label."
},
"color": {
"type": "string",
"description": "6-character hex code, without the leading #, identifying the color"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
},
"locked": {
"type": "boolean"
},
"number": {
"type": "integer"
},
"node_id": {
"type": "string"
},
"assignee": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"comments": {
"type": "integer"
},
"html_url": {
"type": "string"
},
"assignees": {
"type": "array",
"items": {
"type": "object",
"nullable": true
}
},
"closed_at": {
"type": "string",
"nullable": true
},
"milestone": {
"type": "object",
"nullable": true
},
"reactions": {
"type": "object",
"properties": {
"+1": {
"type": "integer"
},
"-1": {
"type": "integer"
},
"url": {
"type": "string"
},
"eyes": {
"type": "integer"
},
"heart": {
"type": "integer"
},
"laugh": {
"type": "integer"
},
"hooray": {
"type": "integer"
},
"rocket": {
"type": "integer"
},
"confused": {
"type": "integer"
},
"total_count": {
"type": "integer"
}
}
},
"created_at": {
"type": "string"
},
"events_url": {
"type": "string"
},
"labels_url": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"comments_url": {
"type": "string"
},
"timeline_url": {
"type": "string"
},
"repository_url": {
"type": "string"
},
"active_lock_reason": {
"type": "string",
"nullable": true
},
"author_association": {
"type": "string"
},
"performed_via_github_app": {
"type": "object",
"nullable": true
}
}
}
],
"description": "The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to."
},
"action": {
"enum": [
"edited"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"changes": {
"$ref": "#/components/schemas/webhooks_changes"
},
"comment": {
"$ref": "#/components/schemas/webhooks_issue_comment"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-issue-comment-pinned
{
"type": "object",
"title": "issue_comment pinned event",
"required": [
"action",
"issue",
"comment",
"repository",
"sender"
],
"properties": {
"issue": {
"allOf": [
{
"type": "object",
"title": "Issue",
"required": [
"url",
"repository_url",
"labels_url",
"comments_url",
"events_url",
"html_url",
"id",
"node_id",
"number",
"title",
"user",
"assignees",
"milestone",
"comments",
"created_at",
"updated_at",
"closed_at",
"author_association",
"active_lock_reason",
"body",
"reactions"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the issue"
},
"body": {
"type": "string",
"nullable": true,
"description": "Contents of the issue"
},
"type": {
"$ref": "#/components/schemas/issue-type"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"draft": {
"type": "boolean"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "State of the issue; either 'open' or 'closed'"
},
"title": {
"type": "string",
"description": "Title of the issue"
},
"labels": {
"type": "array",
"items": {
"type": "object",
"title": "Label",
"required": [
"id",
"node_id",
"url",
"name",
"color",
"default",
"description"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the label"
},
"name": {
"type": "string",
"description": "The name of the label."
},
"color": {
"type": "string",
"description": "6-character hex code, without the leading #, identifying the color"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
},
"locked": {
"type": "boolean"
},
"number": {
"type": "integer"
},
"node_id": {
"type": "string"
},
"assignee": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"comments": {
"type": "integer"
},
"html_url": {
"type": "string",
"format": "uri"
},
"assignees": {
"type": "array",
"items": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
}
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"milestone": {
"type": "object",
"title": "Milestone",
"nullable": true,
"required": [
"url",
"html_url",
"labels_url",
"id",
"node_id",
"number",
"title",
"description",
"creator",
"open_issues",
"closed_issues",
"state",
"created_at",
"updated_at",
"due_on",
"closed_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "The state of the milestone."
},
"title": {
"type": "string",
"description": "The title of the milestone."
},
"due_on": {
"type": "string",
"format": "date-time",
"nullable": true
},
"number": {
"type": "integer",
"description": "The number of the milestone."
},
"creator": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"labels_url": {
"type": "string",
"format": "uri"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string",
"nullable": true
},
"open_issues": {
"type": "integer"
},
"closed_issues": {
"type": "integer"
}
},
"description": "A collection of related issues and pull requests."
},
"reactions": {
"type": "object",
"title": "Reactions",
"required": [
"url",
"total_count",
"+1",
"-1",
"laugh",
"confused",
"heart",
"hooray",
"eyes",
"rocket"
],
"properties": {
"+1": {
"type": "integer"
},
"-1": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"eyes": {
"type": "integer"
},
"heart": {
"type": "integer"
},
"laugh": {
"type": "integer"
},
"hooray": {
"type": "integer"
},
"rocket": {
"type": "integer"
},
"confused": {
"type": "integer"
},
"total_count": {
"type": "integer"
}
}
},
"created_at": {
"type": "string",
"format": "date-time"
},
"events_url": {
"type": "string",
"format": "uri"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"comments_url": {
"type": "string",
"format": "uri"
},
"pull_request": {
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"diff_url": {
"type": "string",
"format": "uri"
},
"html_url": {
"type": "string",
"format": "uri"
},
"merged_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"patch_url": {
"type": "string",
"format": "uri"
}
}
},
"state_reason": {
"type": "string",
"nullable": true
},
"timeline_url": {
"type": "string",
"format": "uri"
},
"repository_url": {
"type": "string",
"format": "uri"
},
"active_lock_reason": {
"enum": [
"resolved",
"off-topic",
"too heated",
"spam",
null
],
"type": "string",
"nullable": true
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
},
"sub_issues_summary": {
"$ref": "#/components/schemas/sub-issues-summary"
},
"performed_via_github_app": {
"type": "object",
"title": "App",
"nullable": true,
"required": [
"id",
"node_id",
"owner",
"name",
"description",
"external_url",
"html_url",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"nullable": true,
"description": "Unique identifier of the GitHub app"
},
"name": {
"type": "string",
"description": "The name of the GitHub app"
},
"slug": {
"type": "string",
"description": "The slug name of the GitHub app"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"events": {
"type": "array",
"items": {
"enum": [
"branch_protection_rule",
"check_run",
"check_suite",
"code_scanning_alert",
"commit_comment",
"content_reference",
"create",
"delete",
"deployment",
"deployment_review",
"deployment_status",
"deploy_key",
"discussion",
"discussion_comment",
"fork",
"gollum",
"issues",
"issue_comment",
"label",
"member",
"membership",
"milestone",
"organization",
"org_block",
"page_build",
"project",
"project_card",
"project_column",
"public",
"pull_request",
"pull_request_review",
"pull_request_review_comment",
"push",
"registry_package",
"release",
"repository",
"repository_dispatch",
"secret_scanning_alert",
"star",
"status",
"team",
"team_add",
"watch",
"workflow_dispatch",
"workflow_run"
],
"type": "string"
},
"description": "The list of events for the GitHub app"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"created_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"permissions": {
"type": "object",
"properties": {
"keys": {
"enum": [
"read",
"write"
],
"type": "string"
},
"pages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"checks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"emails": {
"enum": [
"read",
"write"
],
"type": "string"
},
"issues": {
"enum": [
"read",
"write"
],
"type": "string"
},
"actions": {
"enum": [
"read",
"write"
],
"type": "string"
},
"members": {
"enum": [
"read",
"write"
],
"type": "string"
},
"secrets": {
"enum": [
"read",
"write"
],
"type": "string"
},
"contents": {
"enum": [
"read",
"write"
],
"type": "string"
},
"metadata": {
"enum": [
"read",
"write"
],
"type": "string"
},
"packages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"statuses": {
"enum": [
"read",
"write"
],
"type": "string"
},
"workflows": {
"enum": [
"read",
"write"
],
"type": "string"
},
"deployments": {
"enum": [
"read",
"write"
],
"type": "string"
},
"discussions": {
"enum": [
"read",
"write"
],
"type": "string"
},
"single_file": {
"enum": [
"read",
"write"
],
"type": "string"
},
"environments": {
"enum": [
"read",
"write"
],
"type": "string"
},
"pull_requests": {
"enum": [
"read",
"write"
],
"type": "string"
},
"administration": {
"enum": [
"read",
"write"
],
"type": "string"
},
"security_events": {
"enum": [
"read",
"write"
],
"type": "string"
},
"repository_hooks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"team_discussions": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_plan": {
"enum": [
"read",
"write"
],
"type": "string"
},
"content_references": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_hooks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"repository_projects": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_secrets": {
"enum": [
"read",
"write"
],
"type": "string"
},
"vulnerability_alerts": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_packages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_projects": {
"enum": [
"read",
"write"
],
"type": "string"
},
"secret_scanning_alerts": {
"enum": [
"read",
"write"
],
"type": "string"
},
"security_scanning_alert": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_user_blocking": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_administration": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_self_hosted_runners": {
"enum": [
"read",
"write"
],
"type": "string"
}
},
"description": "The set of permissions for the GitHub app"
},
"external_url": {
"type": "string",
"format": "uri",
"nullable": true
}
},
"description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub."
},
"issue_dependencies_summary": {
"$ref": "#/components/schemas/issue-dependencies-summary"
}
},
"description": "The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself."
},
{
"type": "object",
"required": [
"labels",
"state",
"locked",
"assignee"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"body": {
"type": "string",
"nullable": true
},
"user": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string"
},
"type": {
"type": "string"
},
"login": {
"type": "string"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string"
},
"gists_url": {
"type": "string"
},
"repos_url": {
"type": "string"
},
"avatar_url": {
"type": "string"
},
"events_url": {
"type": "string"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string"
},
"followers_url": {
"type": "string"
},
"following_url": {
"type": "string"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string"
},
"subscriptions_url": {
"type": "string"
},
"received_events_url": {
"type": "string"
}
}
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "State of the issue; either 'open' or 'closed'"
},
"title": {
"type": "string"
},
"labels": {
"type": "array",
"items": {
"type": "object",
"title": "Label",
"required": [
"id",
"node_id",
"url",
"name",
"color",
"default",
"description"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the label"
},
"name": {
"type": "string",
"description": "The name of the label."
},
"color": {
"type": "string",
"description": "6-character hex code, without the leading #, identifying the color"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
},
"locked": {
"type": "boolean"
},
"number": {
"type": "integer"
},
"node_id": {
"type": "string"
},
"assignee": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"comments": {
"type": "integer"
},
"html_url": {
"type": "string"
},
"assignees": {
"type": "array",
"items": {
"type": "object",
"nullable": true
}
},
"closed_at": {
"type": "string",
"nullable": true
},
"milestone": {
"type": "object",
"nullable": true
},
"reactions": {
"type": "object",
"properties": {
"+1": {
"type": "integer"
},
"-1": {
"type": "integer"
},
"url": {
"type": "string"
},
"eyes": {
"type": "integer"
},
"heart": {
"type": "integer"
},
"laugh": {
"type": "integer"
},
"hooray": {
"type": "integer"
},
"rocket": {
"type": "integer"
},
"confused": {
"type": "integer"
},
"total_count": {
"type": "integer"
}
}
},
"created_at": {
"type": "string"
},
"events_url": {
"type": "string"
},
"labels_url": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"comments_url": {
"type": "string"
},
"timeline_url": {
"type": "string"
},
"repository_url": {
"type": "string"
},
"active_lock_reason": {
"type": "string",
"nullable": true
},
"author_association": {
"type": "string"
},
"performed_via_github_app": {
"type": "object",
"nullable": true
}
}
}
],
"description": "The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to."
},
"action": {
"enum": [
"pinned"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"comment": {
"$ref": "#/components/schemas/webhooks_issue_comment"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-issue-comment-unpinned
{
"type": "object",
"title": "issue_comment unpinned event",
"required": [
"action",
"issue",
"comment",
"repository",
"sender"
],
"properties": {
"issue": {
"allOf": [
{
"type": "object",
"title": "Issue",
"required": [
"url",
"repository_url",
"labels_url",
"comments_url",
"events_url",
"html_url",
"id",
"node_id",
"number",
"title",
"user",
"assignees",
"milestone",
"comments",
"created_at",
"updated_at",
"closed_at",
"author_association",
"active_lock_reason",
"body",
"reactions"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the issue"
},
"body": {
"type": "string",
"nullable": true,
"description": "Contents of the issue"
},
"type": {
"$ref": "#/components/schemas/issue-type"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"draft": {
"type": "boolean"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "State of the issue; either 'open' or 'closed'"
},
"title": {
"type": "string",
"description": "Title of the issue"
},
"labels": {
"type": "array",
"items": {
"type": "object",
"title": "Label",
"required": [
"id",
"node_id",
"url",
"name",
"color",
"default",
"description"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the label"
},
"name": {
"type": "string",
"description": "The name of the label."
},
"color": {
"type": "string",
"description": "6-character hex code, without the leading #, identifying the color"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
},
"locked": {
"type": "boolean"
},
"number": {
"type": "integer"
},
"node_id": {
"type": "string"
},
"assignee": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"comments": {
"type": "integer"
},
"html_url": {
"type": "string",
"format": "uri"
},
"assignees": {
"type": "array",
"items": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
}
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"milestone": {
"type": "object",
"title": "Milestone",
"nullable": true,
"required": [
"url",
"html_url",
"labels_url",
"id",
"node_id",
"number",
"title",
"description",
"creator",
"open_issues",
"closed_issues",
"state",
"created_at",
"updated_at",
"due_on",
"closed_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "The state of the milestone."
},
"title": {
"type": "string",
"description": "The title of the milestone."
},
"due_on": {
"type": "string",
"format": "date-time",
"nullable": true
},
"number": {
"type": "integer",
"description": "The number of the milestone."
},
"creator": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"labels_url": {
"type": "string",
"format": "uri"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string",
"nullable": true
},
"open_issues": {
"type": "integer"
},
"closed_issues": {
"type": "integer"
}
},
"description": "A collection of related issues and pull requests."
},
"reactions": {
"type": "object",
"title": "Reactions",
"required": [
"url",
"total_count",
"+1",
"-1",
"laugh",
"confused",
"heart",
"hooray",
"eyes",
"rocket"
],
"properties": {
"+1": {
"type": "integer"
},
"-1": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"eyes": {
"type": "integer"
},
"heart": {
"type": "integer"
},
"laugh": {
"type": "integer"
},
"hooray": {
"type": "integer"
},
"rocket": {
"type": "integer"
},
"confused": {
"type": "integer"
},
"total_count": {
"type": "integer"
}
}
},
"created_at": {
"type": "string",
"format": "date-time"
},
"events_url": {
"type": "string",
"format": "uri"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"comments_url": {
"type": "string",
"format": "uri"
},
"pull_request": {
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"diff_url": {
"type": "string",
"format": "uri"
},
"html_url": {
"type": "string",
"format": "uri"
},
"merged_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"patch_url": {
"type": "string",
"format": "uri"
}
}
},
"state_reason": {
"type": "string",
"nullable": true
},
"timeline_url": {
"type": "string",
"format": "uri"
},
"repository_url": {
"type": "string",
"format": "uri"
},
"active_lock_reason": {
"enum": [
"resolved",
"off-topic",
"too heated",
"spam",
null
],
"type": "string",
"nullable": true
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
},
"sub_issues_summary": {
"$ref": "#/components/schemas/sub-issues-summary"
},
"performed_via_github_app": {
"type": "object",
"title": "App",
"nullable": true,
"required": [
"id",
"node_id",
"owner",
"name",
"description",
"external_url",
"html_url",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"nullable": true,
"description": "Unique identifier of the GitHub app"
},
"name": {
"type": "string",
"description": "The name of the GitHub app"
},
"slug": {
"type": "string",
"description": "The slug name of the GitHub app"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"events": {
"type": "array",
"items": {
"enum": [
"branch_protection_rule",
"check_run",
"check_suite",
"code_scanning_alert",
"commit_comment",
"content_reference",
"create",
"delete",
"deployment",
"deployment_review",
"deployment_status",
"deploy_key",
"discussion",
"discussion_comment",
"fork",
"gollum",
"issues",
"issue_comment",
"label",
"member",
"membership",
"milestone",
"organization",
"org_block",
"page_build",
"project",
"project_card",
"project_column",
"public",
"pull_request",
"pull_request_review",
"pull_request_review_comment",
"push",
"registry_package",
"release",
"repository",
"repository_dispatch",
"secret_scanning_alert",
"star",
"status",
"team",
"team_add",
"watch",
"workflow_dispatch",
"workflow_run"
],
"type": "string"
},
"description": "The list of events for the GitHub app"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"created_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"permissions": {
"type": "object",
"properties": {
"keys": {
"enum": [
"read",
"write"
],
"type": "string"
},
"pages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"checks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"emails": {
"enum": [
"read",
"write"
],
"type": "string"
},
"issues": {
"enum": [
"read",
"write"
],
"type": "string"
},
"actions": {
"enum": [
"read",
"write"
],
"type": "string"
},
"members": {
"enum": [
"read",
"write"
],
"type": "string"
},
"secrets": {
"enum": [
"read",
"write"
],
"type": "string"
},
"contents": {
"enum": [
"read",
"write"
],
"type": "string"
},
"metadata": {
"enum": [
"read",
"write"
],
"type": "string"
},
"packages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"statuses": {
"enum": [
"read",
"write"
],
"type": "string"
},
"workflows": {
"enum": [
"read",
"write"
],
"type": "string"
},
"deployments": {
"enum": [
"read",
"write"
],
"type": "string"
},
"discussions": {
"enum": [
"read",
"write"
],
"type": "string"
},
"single_file": {
"enum": [
"read",
"write"
],
"type": "string"
},
"environments": {
"enum": [
"read",
"write"
],
"type": "string"
},
"pull_requests": {
"enum": [
"read",
"write"
],
"type": "string"
},
"administration": {
"enum": [
"read",
"write"
],
"type": "string"
},
"security_events": {
"enum": [
"read",
"write"
],
"type": "string"
},
"repository_hooks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"team_discussions": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_plan": {
"enum": [
"read",
"write"
],
"type": "string"
},
"content_references": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_hooks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"repository_projects": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_secrets": {
"enum": [
"read",
"write"
],
"type": "string"
},
"vulnerability_alerts": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_packages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_projects": {
"enum": [
"read",
"write"
],
"type": "string"
},
"secret_scanning_alerts": {
"enum": [
"read",
"write"
],
"type": "string"
},
"security_scanning_alert": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_user_blocking": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_administration": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_self_hosted_runners": {
"enum": [
"read",
"write"
],
"type": "string"
}
},
"description": "The set of permissions for the GitHub app"
},
"external_url": {
"type": "string",
"format": "uri",
"nullable": true
}
},
"description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub."
},
"issue_dependencies_summary": {
"$ref": "#/components/schemas/issue-dependencies-summary"
}
},
"description": "The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself."
},
{
"type": "object",
"required": [
"labels",
"state",
"locked",
"assignee"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"body": {
"type": "string",
"nullable": true
},
"user": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string"
},
"type": {
"type": "string"
},
"login": {
"type": "string"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string"
},
"gists_url": {
"type": "string"
},
"repos_url": {
"type": "string"
},
"avatar_url": {
"type": "string"
},
"events_url": {
"type": "string"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string"
},
"followers_url": {
"type": "string"
},
"following_url": {
"type": "string"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string"
},
"subscriptions_url": {
"type": "string"
},
"received_events_url": {
"type": "string"
}
}
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "State of the issue; either 'open' or 'closed'"
},
"title": {
"type": "string"
},
"labels": {
"type": "array",
"items": {
"type": "object",
"title": "Label",
"required": [
"id",
"node_id",
"url",
"name",
"color",
"default",
"description"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the label"
},
"name": {
"type": "string",
"description": "The name of the label."
},
"color": {
"type": "string",
"description": "6-character hex code, without the leading #, identifying the color"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
},
"locked": {
"type": "boolean"
},
"number": {
"type": "integer"
},
"node_id": {
"type": "string"
},
"assignee": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"comments": {
"type": "integer"
},
"html_url": {
"type": "string"
},
"assignees": {
"type": "array",
"items": {
"type": "object",
"nullable": true
}
},
"closed_at": {
"type": "string",
"nullable": true
},
"milestone": {
"type": "object",
"nullable": true
},
"reactions": {
"type": "object",
"properties": {
"+1": {
"type": "integer"
},
"-1": {
"type": "integer"
},
"url": {
"type": "string"
},
"eyes": {
"type": "integer"
},
"heart": {
"type": "integer"
},
"laugh": {
"type": "integer"
},
"hooray": {
"type": "integer"
},
"rocket": {
"type": "integer"
},
"confused": {
"type": "integer"
},
"total_count": {
"type": "integer"
}
}
},
"created_at": {
"type": "string"
},
"events_url": {
"type": "string"
},
"labels_url": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"comments_url": {
"type": "string"
},
"timeline_url": {
"type": "string"
},
"repository_url": {
"type": "string"
},
"active_lock_reason": {
"type": "string",
"nullable": true
},
"author_association": {
"type": "string"
},
"performed_via_github_app": {
"type": "object",
"nullable": true
}
}
}
],
"description": "The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to."
},
"action": {
"enum": [
"unpinned"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"comment": {
"$ref": "#/components/schemas/webhooks_issue_comment"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-issue-dependencies-blocked-by-added
{
"type": "object",
"title": "blocked by issue added event",
"required": [
"action",
"organization",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"blocked_by_added"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"blocked_issue": {
"$ref": "#/components/schemas/issue"
},
"blocking_issue": {
"$ref": "#/components/schemas/issue"
},
"blocked_issue_id": {
"type": "number",
"description": "The ID of the blocked issue."
},
"blocking_issue_id": {
"type": "number",
"description": "The ID of the blocking issue."
},
"blocking_issue_repo": {
"$ref": "#/components/schemas/repository"
}
}
}
webhook-issue-dependencies-blocked-by-removed
{
"type": "object",
"title": "blocked by issue removed event",
"required": [
"action",
"organization",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"blocked_by_removed"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"blocked_issue": {
"$ref": "#/components/schemas/issue"
},
"blocking_issue": {
"$ref": "#/components/schemas/issue"
},
"blocked_issue_id": {
"type": "number",
"description": "The ID of the blocked issue."
},
"blocking_issue_id": {
"type": "number",
"description": "The ID of the blocking issue."
},
"blocking_issue_repo": {
"$ref": "#/components/schemas/repository"
}
}
}
webhook-issue-dependencies-blocking-added
{
"type": "object",
"title": "blocking issue added event",
"required": [
"action",
"organization",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"blocking_added"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"blocked_issue": {
"$ref": "#/components/schemas/issue"
},
"blocking_issue": {
"$ref": "#/components/schemas/issue"
},
"blocked_issue_id": {
"type": "number",
"description": "The ID of the blocked issue."
},
"blocking_issue_id": {
"type": "number",
"description": "The ID of the blocking issue."
},
"blocked_issue_repo": {
"$ref": "#/components/schemas/repository"
}
}
}
webhook-issue-dependencies-blocking-removed
{
"type": "object",
"title": "blocking issue removed event",
"required": [
"action",
"organization",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"blocking_removed"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"blocked_issue": {
"$ref": "#/components/schemas/issue"
},
"blocking_issue": {
"$ref": "#/components/schemas/issue"
},
"blocked_issue_id": {
"type": "number",
"description": "The ID of the blocked issue."
},
"blocking_issue_id": {
"type": "number",
"description": "The ID of the blocking issue."
},
"blocked_issue_repo": {
"$ref": "#/components/schemas/repository"
}
}
}
webhook-issues-assigned
{
"type": "object",
"title": "issues assigned event",
"required": [
"action",
"issue",
"repository",
"sender"
],
"properties": {
"issue": {
"$ref": "#/components/schemas/webhooks_issue"
},
"action": {
"enum": [
"assigned"
],
"type": "string",
"description": "The action that was performed."
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"assignee": {
"$ref": "#/components/schemas/webhooks_user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-issues-closed
{
"type": "object",
"title": "issues closed event",
"required": [
"action",
"issue",
"repository",
"sender"
],
"properties": {
"issue": {
"allOf": [
{
"type": "object",
"title": "Issue",
"required": [
"url",
"repository_url",
"labels_url",
"comments_url",
"events_url",
"html_url",
"id",
"node_id",
"number",
"title",
"user",
"assignees",
"milestone",
"comments",
"created_at",
"updated_at",
"closed_at",
"author_association",
"active_lock_reason",
"body",
"reactions"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the issue"
},
"body": {
"type": "string",
"nullable": true,
"description": "Contents of the issue"
},
"type": {
"$ref": "#/components/schemas/issue-type"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"draft": {
"type": "boolean"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "State of the issue; either 'open' or 'closed'"
},
"title": {
"type": "string",
"description": "Title of the issue"
},
"labels": {
"type": "array",
"items": {
"type": "object",
"title": "Label",
"required": [
"id",
"node_id",
"url",
"name",
"color",
"default",
"description"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the label"
},
"name": {
"type": "string",
"description": "The name of the label."
},
"color": {
"type": "string",
"description": "6-character hex code, without the leading #, identifying the color"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
},
"locked": {
"type": "boolean"
},
"number": {
"type": "integer"
},
"node_id": {
"type": "string"
},
"assignee": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"comments": {
"type": "integer"
},
"html_url": {
"type": "string",
"format": "uri"
},
"assignees": {
"type": "array",
"items": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
}
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"milestone": {
"type": "object",
"title": "Milestone",
"nullable": true,
"required": [
"url",
"html_url",
"labels_url",
"id",
"node_id",
"number",
"title",
"description",
"creator",
"open_issues",
"closed_issues",
"state",
"created_at",
"updated_at",
"due_on",
"closed_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "The state of the milestone."
},
"title": {
"type": "string",
"description": "The title of the milestone."
},
"due_on": {
"type": "string",
"format": "date-time",
"nullable": true
},
"number": {
"type": "integer",
"description": "The number of the milestone."
},
"creator": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"labels_url": {
"type": "string",
"format": "uri"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string",
"nullable": true
},
"open_issues": {
"type": "integer"
},
"closed_issues": {
"type": "integer"
}
},
"description": "A collection of related issues and pull requests."
},
"reactions": {
"type": "object",
"title": "Reactions",
"required": [
"url",
"total_count",
"+1",
"-1",
"laugh",
"confused",
"heart",
"hooray",
"eyes",
"rocket"
],
"properties": {
"+1": {
"type": "integer"
},
"-1": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"eyes": {
"type": "integer"
},
"heart": {
"type": "integer"
},
"laugh": {
"type": "integer"
},
"hooray": {
"type": "integer"
},
"rocket": {
"type": "integer"
},
"confused": {
"type": "integer"
},
"total_count": {
"type": "integer"
}
}
},
"created_at": {
"type": "string",
"format": "date-time"
},
"events_url": {
"type": "string",
"format": "uri"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"comments_url": {
"type": "string",
"format": "uri"
},
"pull_request": {
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"diff_url": {
"type": "string",
"format": "uri"
},
"html_url": {
"type": "string",
"format": "uri"
},
"merged_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"patch_url": {
"type": "string",
"format": "uri"
}
}
},
"state_reason": {
"type": "string",
"nullable": true
},
"timeline_url": {
"type": "string",
"format": "uri"
},
"pinned_comment": {
"$ref": "#/components/schemas/nullable-issue-comment"
},
"repository_url": {
"type": "string",
"format": "uri"
},
"active_lock_reason": {
"enum": [
"resolved",
"off-topic",
"too heated",
"spam",
null
],
"type": "string",
"nullable": true
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
},
"issue_field_values": {
"type": "array",
"items": {
"$ref": "#/components/schemas/issue-field-value"
}
},
"sub_issues_summary": {
"$ref": "#/components/schemas/sub-issues-summary"
},
"performed_via_github_app": {
"type": "object",
"title": "App",
"nullable": true,
"required": [
"id",
"node_id",
"owner",
"name",
"description",
"external_url",
"html_url",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"nullable": true,
"description": "Unique identifier of the GitHub app"
},
"name": {
"type": "string",
"description": "The name of the GitHub app"
},
"slug": {
"type": "string",
"description": "The slug name of the GitHub app"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"events": {
"type": "array",
"items": {
"enum": [
"branch_protection_rule",
"check_run",
"check_suite",
"code_scanning_alert",
"commit_comment",
"content_reference",
"create",
"delete",
"deployment",
"deployment_review",
"deployment_status",
"deploy_key",
"discussion",
"discussion_comment",
"fork",
"gollum",
"issues",
"issue_comment",
"label",
"member",
"membership",
"milestone",
"organization",
"org_block",
"page_build",
"project",
"project_card",
"project_column",
"public",
"pull_request",
"pull_request_review",
"pull_request_review_comment",
"push",
"registry_package",
"release",
"repository",
"repository_dispatch",
"secret_scanning_alert",
"star",
"status",
"team",
"team_add",
"watch",
"workflow_dispatch",
"workflow_run",
"security_and_analysis",
"reminder",
"pull_request_review_thread"
],
"type": "string"
},
"description": "The list of events for the GitHub app"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"created_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"permissions": {
"type": "object",
"properties": {
"keys": {
"enum": [
"read",
"write"
],
"type": "string"
},
"pages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"checks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"emails": {
"enum": [
"read",
"write"
],
"type": "string"
},
"issues": {
"enum": [
"read",
"write"
],
"type": "string"
},
"actions": {
"enum": [
"read",
"write"
],
"type": "string"
},
"members": {
"enum": [
"read",
"write"
],
"type": "string"
},
"secrets": {
"enum": [
"read",
"write"
],
"type": "string"
},
"contents": {
"enum": [
"read",
"write"
],
"type": "string"
},
"metadata": {
"enum": [
"read",
"write"
],
"type": "string"
},
"packages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"statuses": {
"enum": [
"read",
"write"
],
"type": "string"
},
"workflows": {
"enum": [
"read",
"write"
],
"type": "string"
},
"deployments": {
"enum": [
"read",
"write"
],
"type": "string"
},
"discussions": {
"enum": [
"read",
"write"
],
"type": "string"
},
"single_file": {
"enum": [
"read",
"write"
],
"type": "string"
},
"environments": {
"enum": [
"read",
"write"
],
"type": "string"
},
"pull_requests": {
"enum": [
"read",
"write"
],
"type": "string"
},
"administration": {
"enum": [
"read",
"write"
],
"type": "string"
},
"security_events": {
"enum": [
"read",
"write"
],
"type": "string"
},
"repository_hooks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_plan": {
"enum": [
"read",
"write"
],
"type": "string"
},
"content_references": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_hooks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"repository_projects": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_secrets": {
"enum": [
"read",
"write"
],
"type": "string"
},
"vulnerability_alerts": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_packages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_projects": {
"enum": [
"read",
"write",
"admin"
],
"type": "string"
},
"secret_scanning_alerts": {
"enum": [
"read",
"write"
],
"type": "string"
},
"security_scanning_alert": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_user_blocking": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_administration": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_self_hosted_runners": {
"enum": [
"read",
"write"
],
"type": "string"
}
},
"description": "The set of permissions for the GitHub app"
},
"external_url": {
"type": "string",
"format": "uri",
"nullable": true
}
},
"description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub."
},
"issue_dependencies_summary": {
"$ref": "#/components/schemas/issue-dependencies-summary"
}
},
"description": "The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself."
},
{
"type": "object",
"required": [
"state",
"closed_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"body": {
"type": "string",
"nullable": true
},
"user": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string"
},
"type": {
"type": "string"
},
"login": {
"type": "string"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string"
},
"gists_url": {
"type": "string"
},
"repos_url": {
"type": "string"
},
"avatar_url": {
"type": "string"
},
"events_url": {
"type": "string"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string"
},
"followers_url": {
"type": "string"
},
"following_url": {
"type": "string"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string"
},
"subscriptions_url": {
"type": "string"
},
"received_events_url": {
"type": "string"
}
}
},
"state": {
"enum": [
"closed",
"open"
],
"type": "string"
},
"title": {
"type": "string"
},
"labels": {
"type": "array",
"items": {
"type": "object",
"nullable": true
}
},
"locked": {
"type": "boolean"
},
"number": {
"type": "integer"
},
"node_id": {
"type": "string"
},
"assignee": {
"type": "object",
"nullable": true
},
"comments": {
"type": "integer"
},
"html_url": {
"type": "string"
},
"assignees": {
"type": "array",
"items": {
"type": "object",
"nullable": true
}
},
"closed_at": {
"type": "string",
"nullable": true
},
"milestone": {
"type": "object",
"nullable": true
},
"reactions": {
"type": "object",
"properties": {
"+1": {
"type": "integer"
},
"-1": {
"type": "integer"
},
"url": {
"type": "string"
},
"eyes": {
"type": "integer"
},
"heart": {
"type": "integer"
},
"laugh": {
"type": "integer"
},
"hooray": {
"type": "integer"
},
"rocket": {
"type": "integer"
},
"confused": {
"type": "integer"
},
"total_count": {
"type": "integer"
}
}
},
"created_at": {
"type": "string"
},
"events_url": {
"type": "string"
},
"labels_url": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"comments_url": {
"type": "string"
},
"timeline_url": {
"type": "string"
},
"repository_url": {
"type": "string"
},
"active_lock_reason": {
"type": "string",
"nullable": true
},
"author_association": {
"type": "string"
},
"performed_via_github_app": {
"type": "object",
"nullable": true
}
}
}
],
"description": "The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself."
},
"action": {
"enum": [
"closed"
],
"type": "string",
"description": "The action that was performed."
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-issues-deleted
{
"type": "object",
"title": "issues deleted event",
"required": [
"action",
"issue",
"repository",
"sender"
],
"properties": {
"issue": {
"type": "object",
"title": "Issue",
"required": [
"url",
"repository_url",
"labels_url",
"comments_url",
"events_url",
"html_url",
"id",
"node_id",
"number",
"title",
"user",
"assignees",
"milestone",
"comments",
"created_at",
"updated_at",
"closed_at",
"author_association",
"active_lock_reason",
"body",
"reactions"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the issue"
},
"body": {
"type": "string",
"nullable": true,
"description": "Contents of the issue"
},
"type": {
"$ref": "#/components/schemas/issue-type"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"draft": {
"type": "boolean"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "State of the issue; either 'open' or 'closed'"
},
"title": {
"type": "string",
"description": "Title of the issue"
},
"labels": {
"type": "array",
"items": {
"type": "object",
"title": "Label",
"required": [
"id",
"node_id",
"url",
"name",
"color",
"default",
"description"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the label"
},
"name": {
"type": "string",
"description": "The name of the label."
},
"color": {
"type": "string",
"description": "6-character hex code, without the leading #, identifying the color"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
},
"locked": {
"type": "boolean"
},
"number": {
"type": "integer"
},
"node_id": {
"type": "string"
},
"assignee": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"comments": {
"type": "integer"
},
"html_url": {
"type": "string",
"format": "uri"
},
"assignees": {
"type": "array",
"items": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
}
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"milestone": {
"type": "object",
"title": "Milestone",
"nullable": true,
"required": [
"url",
"html_url",
"labels_url",
"id",
"node_id",
"number",
"title",
"description",
"creator",
"open_issues",
"closed_issues",
"state",
"created_at",
"updated_at",
"due_on",
"closed_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "The state of the milestone."
},
"title": {
"type": "string",
"description": "The title of the milestone."
},
"due_on": {
"type": "string",
"format": "date-time",
"nullable": true
},
"number": {
"type": "integer",
"description": "The number of the milestone."
},
"creator": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"labels_url": {
"type": "string",
"format": "uri"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string",
"nullable": true
},
"open_issues": {
"type": "integer"
},
"closed_issues": {
"type": "integer"
}
},
"description": "A collection of related issues and pull requests."
},
"reactions": {
"type": "object",
"title": "Reactions",
"required": [
"url",
"total_count",
"+1",
"-1",
"laugh",
"confused",
"heart",
"hooray",
"eyes",
"rocket"
],
"properties": {
"+1": {
"type": "integer"
},
"-1": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"eyes": {
"type": "integer"
},
"heart": {
"type": "integer"
},
"laugh": {
"type": "integer"
},
"hooray": {
"type": "integer"
},
"rocket": {
"type": "integer"
},
"confused": {
"type": "integer"
},
"total_count": {
"type": "integer"
}
}
},
"created_at": {
"type": "string",
"format": "date-time"
},
"events_url": {
"type": "string",
"format": "uri"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"comments_url": {
"type": "string",
"format": "uri"
},
"pull_request": {
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"diff_url": {
"type": "string",
"format": "uri"
},
"html_url": {
"type": "string",
"format": "uri"
},
"merged_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"patch_url": {
"type": "string",
"format": "uri"
}
}
},
"state_reason": {
"type": "string",
"nullable": true
},
"timeline_url": {
"type": "string",
"format": "uri"
},
"pinned_comment": {
"$ref": "#/components/schemas/nullable-issue-comment"
},
"repository_url": {
"type": "string",
"format": "uri"
},
"active_lock_reason": {
"enum": [
"resolved",
"off-topic",
"too heated",
"spam",
null
],
"type": "string",
"nullable": true
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
},
"issue_field_values": {
"type": "array",
"items": {
"$ref": "#/components/schemas/issue-field-value"
}
},
"sub_issues_summary": {
"$ref": "#/components/schemas/sub-issues-summary"
},
"performed_via_github_app": {
"type": "object",
"title": "App",
"nullable": true,
"required": [
"id",
"node_id",
"owner",
"name",
"description",
"external_url",
"html_url",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"nullable": true,
"description": "Unique identifier of the GitHub app"
},
"name": {
"type": "string",
"description": "The name of the GitHub app"
},
"slug": {
"type": "string",
"description": "The slug name of the GitHub app"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"events": {
"type": "array",
"items": {
"enum": [
"branch_protection_rule",
"check_run",
"check_suite",
"code_scanning_alert",
"commit_comment",
"content_reference",
"create",
"delete",
"deployment",
"deployment_review",
"deployment_status",
"deploy_key",
"discussion",
"discussion_comment",
"fork",
"gollum",
"issues",
"issue_comment",
"label",
"member",
"membership",
"milestone",
"organization",
"org_block",
"page_build",
"project",
"project_card",
"project_column",
"public",
"pull_request",
"pull_request_review",
"pull_request_review_comment",
"push",
"registry_package",
"release",
"repository",
"repository_dispatch",
"secret_scanning_alert",
"star",
"status",
"team",
"team_add",
"watch",
"workflow_dispatch",
"workflow_run",
"reminder"
],
"type": "string"
},
"description": "The list of events for the GitHub app"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"created_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"permissions": {
"type": "object",
"properties": {
"keys": {
"enum": [
"read",
"write"
],
"type": "string"
},
"pages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"checks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"emails": {
"enum": [
"read",
"write"
],
"type": "string"
},
"issues": {
"enum": [
"read",
"write"
],
"type": "string"
},
"actions": {
"enum": [
"read",
"write"
],
"type": "string"
},
"members": {
"enum": [
"read",
"write"
],
"type": "string"
},
"secrets": {
"enum": [
"read",
"write"
],
"type": "string"
},
"contents": {
"enum": [
"read",
"write"
],
"type": "string"
},
"metadata": {
"enum": [
"read",
"write"
],
"type": "string"
},
"packages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"statuses": {
"enum": [
"read",
"write"
],
"type": "string"
},
"workflows": {
"enum": [
"read",
"write"
],
"type": "string"
},
"deployments": {
"enum": [
"read",
"write"
],
"type": "string"
},
"discussions": {
"enum": [
"read",
"write"
],
"type": "string"
},
"single_file": {
"enum": [
"read",
"write"
],
"type": "string"
},
"environments": {
"enum": [
"read",
"write"
],
"type": "string"
},
"pull_requests": {
"enum": [
"read",
"write"
],
"type": "string"
},
"administration": {
"enum": [
"read",
"write"
],
"type": "string"
},
"security_events": {
"enum": [
"read",
"write"
],
"type": "string"
},
"repository_hooks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_plan": {
"enum": [
"read",
"write"
],
"type": "string"
},
"content_references": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_hooks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"repository_projects": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_secrets": {
"enum": [
"read",
"write"
],
"type": "string"
},
"vulnerability_alerts": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_packages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_projects": {
"enum": [
"read",
"write"
],
"type": "string"
},
"secret_scanning_alerts": {
"enum": [
"read",
"write"
],
"type": "string"
},
"security_scanning_alert": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_user_blocking": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_administration": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_self_hosted_runners": {
"enum": [
"read",
"write"
],
"type": "string"
}
},
"description": "The set of permissions for the GitHub app"
},
"external_url": {
"type": "string",
"format": "uri",
"nullable": true
}
},
"description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub."
},
"issue_dependencies_summary": {
"$ref": "#/components/schemas/issue-dependencies-summary"
}
},
"description": "The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself."
},
"action": {
"enum": [
"deleted"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-issues-demilestoned
{
"type": "object",
"title": "issues demilestoned event",
"required": [
"action",
"issue",
"repository",
"sender"
],
"properties": {
"issue": {
"type": "object",
"title": "Issue",
"required": [
"active_lock_reason",
"assignees",
"author_association",
"body",
"closed_at",
"comments",
"comments_url",
"created_at",
"events_url",
"html_url",
"id",
"labels_url",
"milestone",
"node_id",
"number",
"reactions",
"repository_url",
"title",
"updated_at",
"url",
"user"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the issue"
},
"body": {
"type": "string",
"nullable": true,
"description": "Contents of the issue"
},
"type": {
"$ref": "#/components/schemas/issue-type"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"draft": {
"type": "boolean"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "State of the issue; either 'open' or 'closed'"
},
"title": {
"type": "string",
"description": "Title of the issue"
},
"labels": {
"type": "array",
"items": {
"type": "object",
"title": "Label",
"nullable": true,
"required": [
"id",
"node_id",
"url",
"name",
"color",
"default",
"description"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the label"
},
"name": {
"type": "string",
"description": "The name of the label."
},
"color": {
"type": "string",
"description": "6-character hex code, without the leading #, identifying the color"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
},
"locked": {
"type": "boolean"
},
"number": {
"type": "integer"
},
"node_id": {
"type": "string"
},
"assignee": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"comments": {
"type": "integer"
},
"html_url": {
"type": "string",
"format": "uri"
},
"assignees": {
"type": "array",
"items": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
}
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"milestone": {
"type": "object",
"title": "Milestone",
"nullable": true,
"required": [
"url",
"html_url",
"labels_url",
"id",
"node_id",
"number",
"title",
"description",
"creator",
"open_issues",
"closed_issues",
"state",
"created_at",
"updated_at",
"due_on",
"closed_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "The state of the milestone."
},
"title": {
"type": "string",
"description": "The title of the milestone."
},
"due_on": {
"type": "string",
"format": "date-time",
"nullable": true
},
"number": {
"type": "integer",
"description": "The number of the milestone."
},
"creator": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"labels_url": {
"type": "string",
"format": "uri"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string",
"nullable": true
},
"open_issues": {
"type": "integer"
},
"closed_issues": {
"type": "integer"
}
},
"description": "A collection of related issues and pull requests."
},
"reactions": {
"type": "object",
"title": "Reactions",
"required": [
"url",
"total_count",
"+1",
"-1",
"laugh",
"confused",
"heart",
"hooray",
"eyes",
"rocket"
],
"properties": {
"+1": {
"type": "integer"
},
"-1": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"eyes": {
"type": "integer"
},
"heart": {
"type": "integer"
},
"laugh": {
"type": "integer"
},
"hooray": {
"type": "integer"
},
"rocket": {
"type": "integer"
},
"confused": {
"type": "integer"
},
"total_count": {
"type": "integer"
}
}
},
"created_at": {
"type": "string",
"format": "date-time"
},
"events_url": {
"type": "string",
"format": "uri"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"comments_url": {
"type": "string",
"format": "uri"
},
"pull_request": {
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"diff_url": {
"type": "string",
"format": "uri"
},
"html_url": {
"type": "string",
"format": "uri"
},
"merged_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"patch_url": {
"type": "string",
"format": "uri"
}
}
},
"state_reason": {
"type": "string",
"nullable": true
},
"timeline_url": {
"type": "string",
"format": "uri"
},
"pinned_comment": {
"$ref": "#/components/schemas/nullable-issue-comment"
},
"repository_url": {
"type": "string",
"format": "uri"
},
"active_lock_reason": {
"enum": [
"resolved",
"off-topic",
"too heated",
"spam",
null
],
"type": "string",
"nullable": true
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
},
"issue_field_values": {
"type": "array",
"items": {
"$ref": "#/components/schemas/issue-field-value"
}
},
"sub_issues_summary": {
"$ref": "#/components/schemas/sub-issues-summary"
},
"performed_via_github_app": {
"type": "object",
"title": "App",
"nullable": true,
"required": [
"id",
"node_id",
"owner",
"name",
"description",
"external_url",
"html_url",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"nullable": true,
"description": "Unique identifier of the GitHub app"
},
"name": {
"type": "string",
"description": "The name of the GitHub app"
},
"slug": {
"type": "string",
"description": "The slug name of the GitHub app"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"events": {
"type": "array",
"items": {
"enum": [
"branch_protection_rule",
"check_run",
"check_suite",
"code_scanning_alert",
"commit_comment",
"content_reference",
"create",
"delete",
"deployment",
"deployment_review",
"deployment_status",
"deploy_key",
"discussion",
"discussion_comment",
"fork",
"gollum",
"issues",
"issue_comment",
"label",
"member",
"membership",
"milestone",
"organization",
"org_block",
"page_build",
"project",
"project_card",
"project_column",
"public",
"pull_request",
"pull_request_review",
"pull_request_review_comment",
"push",
"registry_package",
"release",
"repository",
"repository_dispatch",
"secret_scanning_alert",
"star",
"status",
"team",
"team_add",
"watch",
"workflow_dispatch",
"workflow_run"
],
"type": "string"
},
"description": "The list of events for the GitHub app"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"created_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"permissions": {
"type": "object",
"properties": {
"keys": {
"enum": [
"read",
"write"
],
"type": "string"
},
"pages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"checks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"emails": {
"enum": [
"read",
"write"
],
"type": "string"
},
"issues": {
"enum": [
"read",
"write"
],
"type": "string"
},
"actions": {
"enum": [
"read",
"write"
],
"type": "string"
},
"members": {
"enum": [
"read",
"write"
],
"type": "string"
},
"secrets": {
"enum": [
"read",
"write"
],
"type": "string"
},
"contents": {
"enum": [
"read",
"write"
],
"type": "string"
},
"metadata": {
"enum": [
"read",
"write"
],
"type": "string"
},
"packages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"statuses": {
"enum": [
"read",
"write"
],
"type": "string"
},
"workflows": {
"enum": [
"read",
"write"
],
"type": "string"
},
"deployments": {
"enum": [
"read",
"write"
],
"type": "string"
},
"discussions": {
"enum": [
"read",
"write"
],
"type": "string"
},
"single_file": {
"enum": [
"read",
"write"
],
"type": "string"
},
"environments": {
"enum": [
"read",
"write"
],
"type": "string"
},
"pull_requests": {
"enum": [
"read",
"write"
],
"type": "string"
},
"administration": {
"enum": [
"read",
"write"
],
"type": "string"
},
"security_events": {
"enum": [
"read",
"write"
],
"type": "string"
},
"repository_hooks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_plan": {
"enum": [
"read",
"write"
],
"type": "string"
},
"content_references": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_hooks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"repository_projects": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_secrets": {
"enum": [
"read",
"write"
],
"type": "string"
},
"vulnerability_alerts": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_packages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_projects": {
"enum": [
"read",
"write",
"admin"
],
"type": "string"
},
"secret_scanning_alerts": {
"enum": [
"read",
"write"
],
"type": "string"
},
"security_scanning_alert": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_user_blocking": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_administration": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_self_hosted_runners": {
"enum": [
"read",
"write"
],
"type": "string"
}
},
"description": "The set of permissions for the GitHub app"
},
"external_url": {
"type": "string",
"format": "uri",
"nullable": true
}
},
"description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub."
},
"issue_dependencies_summary": {
"$ref": "#/components/schemas/issue-dependencies-summary"
}
},
"description": "The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself."
},
"action": {
"enum": [
"demilestoned"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"milestone": {
"$ref": "#/components/schemas/webhooks_milestone"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-issues-edited
{
"type": "object",
"title": "issues edited event",
"required": [
"action",
"changes",
"issue",
"repository",
"sender"
],
"properties": {
"issue": {
"type": "object",
"title": "Issue",
"required": [
"url",
"repository_url",
"labels_url",
"comments_url",
"events_url",
"html_url",
"id",
"node_id",
"number",
"title",
"user",
"assignees",
"milestone",
"comments",
"created_at",
"updated_at",
"closed_at",
"author_association",
"active_lock_reason",
"body",
"reactions"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the issue"
},
"body": {
"type": "string",
"nullable": true,
"description": "Contents of the issue"
},
"type": {
"$ref": "#/components/schemas/issue-type"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"draft": {
"type": "boolean"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "State of the issue; either 'open' or 'closed'"
},
"title": {
"type": "string",
"description": "Title of the issue"
},
"labels": {
"type": "array",
"items": {
"type": "object",
"title": "Label",
"required": [
"id",
"node_id",
"url",
"name",
"color",
"default",
"description"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the label"
},
"name": {
"type": "string",
"description": "The name of the label."
},
"color": {
"type": "string",
"description": "6-character hex code, without the leading #, identifying the color"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
},
"locked": {
"type": "boolean"
},
"number": {
"type": "integer"
},
"node_id": {
"type": "string"
},
"assignee": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"comments": {
"type": "integer"
},
"html_url": {
"type": "string",
"format": "uri"
},
"assignees": {
"type": "array",
"items": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
}
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"milestone": {
"type": "object",
"title": "Milestone",
"nullable": true,
"required": [
"url",
"html_url",
"labels_url",
"id",
"node_id",
"number",
"title",
"description",
"creator",
"open_issues",
"closed_issues",
"state",
"created_at",
"updated_at",
"due_on",
"closed_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "The state of the milestone."
},
"title": {
"type": "string",
"description": "The title of the milestone."
},
"due_on": {
"type": "string",
"format": "date-time",
"nullable": true
},
"number": {
"type": "integer",
"description": "The number of the milestone."
},
"creator": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"labels_url": {
"type": "string",
"format": "uri"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string",
"nullable": true
},
"open_issues": {
"type": "integer"
},
"closed_issues": {
"type": "integer"
}
},
"description": "A collection of related issues and pull requests."
},
"reactions": {
"type": "object",
"title": "Reactions",
"required": [
"url",
"total_count",
"+1",
"-1",
"laugh",
"confused",
"heart",
"hooray",
"eyes",
"rocket"
],
"properties": {
"+1": {
"type": "integer"
},
"-1": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"eyes": {
"type": "integer"
},
"heart": {
"type": "integer"
},
"laugh": {
"type": "integer"
},
"hooray": {
"type": "integer"
},
"rocket": {
"type": "integer"
},
"confused": {
"type": "integer"
},
"total_count": {
"type": "integer"
}
}
},
"created_at": {
"type": "string",
"format": "date-time"
},
"events_url": {
"type": "string",
"format": "uri"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"comments_url": {
"type": "string",
"format": "uri"
},
"pull_request": {
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"diff_url": {
"type": "string",
"format": "uri"
},
"html_url": {
"type": "string",
"format": "uri"
},
"merged_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"patch_url": {
"type": "string",
"format": "uri"
}
}
},
"state_reason": {
"type": "string",
"nullable": true
},
"timeline_url": {
"type": "string",
"format": "uri"
},
"pinned_comment": {
"$ref": "#/components/schemas/nullable-issue-comment"
},
"repository_url": {
"type": "string",
"format": "uri"
},
"active_lock_reason": {
"enum": [
"resolved",
"off-topic",
"too heated",
"spam",
null
],
"type": "string",
"nullable": true
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
},
"issue_field_values": {
"type": "array",
"items": {
"$ref": "#/components/schemas/issue-field-value"
}
},
"sub_issues_summary": {
"$ref": "#/components/schemas/sub-issues-summary"
},
"performed_via_github_app": {
"type": "object",
"title": "App",
"nullable": true,
"required": [
"id",
"node_id",
"owner",
"name",
"description",
"external_url",
"html_url",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"nullable": true,
"description": "Unique identifier of the GitHub app"
},
"name": {
"type": "string",
"description": "The name of the GitHub app"
},
"slug": {
"type": "string",
"description": "The slug name of the GitHub app"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"events": {
"type": "array",
"items": {
"enum": [
"branch_protection_rule",
"check_run",
"check_suite",
"code_scanning_alert",
"commit_comment",
"content_reference",
"create",
"delete",
"deployment",
"deployment_review",
"deployment_status",
"deploy_key",
"discussion",
"discussion_comment",
"fork",
"gollum",
"issues",
"issue_comment",
"label",
"member",
"membership",
"milestone",
"organization",
"org_block",
"page_build",
"project",
"project_card",
"project_column",
"public",
"pull_request",
"pull_request_review",
"pull_request_review_comment",
"push",
"registry_package",
"release",
"repository",
"repository_dispatch",
"secret_scanning_alert",
"star",
"status",
"team",
"team_add",
"watch",
"workflow_dispatch",
"workflow_run",
"security_and_analysis",
"pull_request_review_thread",
"reminder"
],
"type": "string"
},
"description": "The list of events for the GitHub app"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"created_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"permissions": {
"type": "object",
"properties": {
"keys": {
"enum": [
"read",
"write"
],
"type": "string"
},
"pages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"checks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"emails": {
"enum": [
"read",
"write"
],
"type": "string"
},
"issues": {
"enum": [
"read",
"write"
],
"type": "string"
},
"actions": {
"enum": [
"read",
"write"
],
"type": "string"
},
"members": {
"enum": [
"read",
"write"
],
"type": "string"
},
"secrets": {
"enum": [
"read",
"write"
],
"type": "string"
},
"contents": {
"enum": [
"read",
"write"
],
"type": "string"
},
"metadata": {
"enum": [
"read",
"write"
],
"type": "string"
},
"packages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"statuses": {
"enum": [
"read",
"write"
],
"type": "string"
},
"workflows": {
"enum": [
"read",
"write"
],
"type": "string"
},
"deployments": {
"enum": [
"read",
"write"
],
"type": "string"
},
"discussions": {
"enum": [
"read",
"write"
],
"type": "string"
},
"single_file": {
"enum": [
"read",
"write"
],
"type": "string"
},
"environments": {
"enum": [
"read",
"write"
],
"type": "string"
},
"pull_requests": {
"enum": [
"read",
"write"
],
"type": "string"
},
"administration": {
"enum": [
"read",
"write"
],
"type": "string"
},
"security_events": {
"enum": [
"read",
"write"
],
"type": "string"
},
"repository_hooks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_plan": {
"enum": [
"read",
"write"
],
"type": "string"
},
"content_references": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_hooks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"repository_projects": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_secrets": {
"enum": [
"read",
"write"
],
"type": "string"
},
"vulnerability_alerts": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_packages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_projects": {
"enum": [
"read",
"write",
"admin"
],
"type": "string"
},
"secret_scanning_alerts": {
"enum": [
"read",
"write"
],
"type": "string"
},
"security_scanning_alert": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_user_blocking": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_administration": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_self_hosted_runners": {
"enum": [
"read",
"write"
],
"type": "string"
}
},
"description": "The set of permissions for the GitHub app"
},
"external_url": {
"type": "string",
"format": "uri",
"nullable": true
}
},
"description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub."
},
"issue_dependencies_summary": {
"$ref": "#/components/schemas/issue-dependencies-summary"
}
},
"description": "The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself."
},
"label": {
"$ref": "#/components/schemas/webhooks_label"
},
"action": {
"enum": [
"edited"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"changes": {
"type": "object",
"properties": {
"body": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"type": "string",
"description": "The previous version of the body."
}
}
},
"title": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"type": "string",
"description": "The previous version of the title."
}
}
}
},
"description": "The changes to the issue."
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-issues-labeled
{
"type": "object",
"title": "issues labeled event",
"required": [
"action",
"issue",
"repository",
"sender"
],
"properties": {
"issue": {
"type": "object",
"title": "Issue",
"required": [
"url",
"repository_url",
"labels_url",
"comments_url",
"events_url",
"html_url",
"id",
"node_id",
"number",
"title",
"user",
"assignees",
"milestone",
"comments",
"created_at",
"updated_at",
"closed_at",
"author_association",
"active_lock_reason",
"body",
"reactions"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the issue"
},
"body": {
"type": "string",
"nullable": true,
"description": "Contents of the issue"
},
"type": {
"$ref": "#/components/schemas/issue-type"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"draft": {
"type": "boolean"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "State of the issue; either 'open' or 'closed'"
},
"title": {
"type": "string",
"description": "Title of the issue"
},
"labels": {
"type": "array",
"items": {
"type": "object",
"title": "Label",
"required": [
"id",
"node_id",
"url",
"name",
"color",
"default",
"description"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the label"
},
"name": {
"type": "string",
"description": "The name of the label."
},
"color": {
"type": "string",
"description": "6-character hex code, without the leading #, identifying the color"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
},
"locked": {
"type": "boolean"
},
"number": {
"type": "integer"
},
"node_id": {
"type": "string"
},
"assignee": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"comments": {
"type": "integer"
},
"html_url": {
"type": "string",
"format": "uri"
},
"assignees": {
"type": "array",
"items": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
}
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"milestone": {
"type": "object",
"title": "Milestone",
"nullable": true,
"required": [
"url",
"html_url",
"labels_url",
"id",
"node_id",
"number",
"title",
"description",
"creator",
"open_issues",
"closed_issues",
"state",
"created_at",
"updated_at",
"due_on",
"closed_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "The state of the milestone."
},
"title": {
"type": "string",
"description": "The title of the milestone."
},
"due_on": {
"type": "string",
"format": "date-time",
"nullable": true
},
"number": {
"type": "integer",
"description": "The number of the milestone."
},
"creator": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"labels_url": {
"type": "string",
"format": "uri"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string",
"nullable": true
},
"open_issues": {
"type": "integer"
},
"closed_issues": {
"type": "integer"
}
},
"description": "A collection of related issues and pull requests."
},
"reactions": {
"type": "object",
"title": "Reactions",
"required": [
"url",
"total_count",
"+1",
"-1",
"laugh",
"confused",
"heart",
"hooray",
"eyes",
"rocket"
],
"properties": {
"+1": {
"type": "integer"
},
"-1": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"eyes": {
"type": "integer"
},
"heart": {
"type": "integer"
},
"laugh": {
"type": "integer"
},
"hooray": {
"type": "integer"
},
"rocket": {
"type": "integer"
},
"confused": {
"type": "integer"
},
"total_count": {
"type": "integer"
}
}
},
"created_at": {
"type": "string",
"format": "date-time"
},
"events_url": {
"type": "string",
"format": "uri"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"comments_url": {
"type": "string",
"format": "uri"
},
"pull_request": {
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"diff_url": {
"type": "string",
"format": "uri"
},
"html_url": {
"type": "string",
"format": "uri"
},
"merged_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"patch_url": {
"type": "string",
"format": "uri"
}
}
},
"state_reason": {
"type": "string",
"nullable": true
},
"timeline_url": {
"type": "string",
"format": "uri"
},
"pinned_comment": {
"$ref": "#/components/schemas/nullable-issue-comment"
},
"repository_url": {
"type": "string",
"format": "uri"
},
"active_lock_reason": {
"enum": [
"resolved",
"off-topic",
"too heated",
"spam",
null
],
"type": "string",
"nullable": true
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
},
"issue_field_values": {
"type": "array",
"items": {
"$ref": "#/components/schemas/issue-field-value"
}
},
"sub_issues_summary": {
"$ref": "#/components/schemas/sub-issues-summary"
},
"performed_via_github_app": {
"type": "object",
"title": "App",
"nullable": true,
"required": [
"id",
"node_id",
"owner",
"name",
"description",
"external_url",
"html_url",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"nullable": true,
"description": "Unique identifier of the GitHub app"
},
"name": {
"type": "string",
"description": "The name of the GitHub app"
},
"slug": {
"type": "string",
"description": "The slug name of the GitHub app"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"events": {
"type": "array",
"items": {
"enum": [
"branch_protection_rule",
"check_run",
"check_suite",
"code_scanning_alert",
"commit_comment",
"content_reference",
"create",
"delete",
"deployment",
"deployment_review",
"deployment_status",
"deploy_key",
"discussion",
"discussion_comment",
"fork",
"gollum",
"issues",
"issue_comment",
"label",
"member",
"membership",
"milestone",
"organization",
"org_block",
"page_build",
"project",
"project_card",
"project_column",
"public",
"pull_request",
"pull_request_review",
"pull_request_review_comment",
"push",
"registry_package",
"release",
"repository",
"repository_dispatch",
"secret_scanning_alert",
"star",
"status",
"team",
"team_add",
"watch",
"workflow_dispatch",
"workflow_run",
"pull_request_review_thread",
"reminder"
],
"type": "string"
},
"description": "The list of events for the GitHub app"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"created_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"permissions": {
"type": "object",
"properties": {
"keys": {
"enum": [
"read",
"write"
],
"type": "string"
},
"pages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"checks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"emails": {
"enum": [
"read",
"write"
],
"type": "string"
},
"issues": {
"enum": [
"read",
"write"
],
"type": "string"
},
"actions": {
"enum": [
"read",
"write"
],
"type": "string"
},
"members": {
"enum": [
"read",
"write"
],
"type": "string"
},
"secrets": {
"enum": [
"read",
"write"
],
"type": "string"
},
"contents": {
"enum": [
"read",
"write"
],
"type": "string"
},
"metadata": {
"enum": [
"read",
"write"
],
"type": "string"
},
"packages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"statuses": {
"enum": [
"read",
"write"
],
"type": "string"
},
"workflows": {
"enum": [
"read",
"write"
],
"type": "string"
},
"deployments": {
"enum": [
"read",
"write"
],
"type": "string"
},
"discussions": {
"enum": [
"read",
"write"
],
"type": "string"
},
"single_file": {
"enum": [
"read",
"write"
],
"type": "string"
},
"environments": {
"enum": [
"read",
"write"
],
"type": "string"
},
"pull_requests": {
"enum": [
"read",
"write"
],
"type": "string"
},
"administration": {
"enum": [
"read",
"write"
],
"type": "string"
},
"security_events": {
"enum": [
"read",
"write"
],
"type": "string"
},
"repository_hooks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_plan": {
"enum": [
"read",
"write"
],
"type": "string"
},
"content_references": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_hooks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"repository_projects": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_secrets": {
"enum": [
"read",
"write"
],
"type": "string"
},
"vulnerability_alerts": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_packages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_projects": {
"enum": [
"read",
"write",
"admin"
],
"type": "string"
},
"secret_scanning_alerts": {
"enum": [
"read",
"write"
],
"type": "string"
},
"security_scanning_alert": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_user_blocking": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_administration": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_self_hosted_runners": {
"enum": [
"read",
"write"
],
"type": "string"
}
},
"description": "The set of permissions for the GitHub app"
},
"external_url": {
"type": "string",
"format": "uri",
"nullable": true
}
},
"description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub."
},
"issue_dependencies_summary": {
"$ref": "#/components/schemas/issue-dependencies-summary"
}
},
"description": "The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself."
},
"label": {
"$ref": "#/components/schemas/webhooks_label"
},
"action": {
"enum": [
"labeled"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-issues-locked
{
"type": "object",
"title": "issues locked event",
"required": [
"action",
"issue",
"repository",
"sender"
],
"properties": {
"issue": {
"type": "object",
"title": "Issue",
"required": [
"active_lock_reason",
"assignees",
"author_association",
"body",
"closed_at",
"comments",
"comments_url",
"created_at",
"events_url",
"html_url",
"id",
"labels_url",
"locked",
"milestone",
"node_id",
"number",
"reactions",
"repository_url",
"title",
"updated_at",
"url",
"user"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the issue"
},
"body": {
"type": "string",
"nullable": true,
"description": "Contents of the issue"
},
"type": {
"$ref": "#/components/schemas/issue-type"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"draft": {
"type": "boolean"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "State of the issue; either 'open' or 'closed'"
},
"title": {
"type": "string",
"description": "Title of the issue"
},
"labels": {
"type": "array",
"items": {
"type": "object",
"title": "Label",
"nullable": true,
"required": [
"id",
"node_id",
"url",
"name",
"color",
"default",
"description"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the label"
},
"name": {
"type": "string",
"description": "The name of the label."
},
"color": {
"type": "string",
"description": "6-character hex code, without the leading #, identifying the color"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
},
"locked": {
"enum": [
true
],
"type": "boolean"
},
"number": {
"type": "integer"
},
"node_id": {
"type": "string"
},
"assignee": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"comments": {
"type": "integer"
},
"html_url": {
"type": "string",
"format": "uri"
},
"assignees": {
"type": "array",
"items": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
}
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"milestone": {
"type": "object",
"title": "Milestone",
"nullable": true,
"required": [
"url",
"html_url",
"labels_url",
"id",
"node_id",
"number",
"title",
"description",
"creator",
"open_issues",
"closed_issues",
"state",
"created_at",
"updated_at",
"due_on",
"closed_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "The state of the milestone."
},
"title": {
"type": "string",
"description": "The title of the milestone."
},
"due_on": {
"type": "string",
"format": "date-time",
"nullable": true
},
"number": {
"type": "integer",
"description": "The number of the milestone."
},
"creator": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"labels_url": {
"type": "string",
"format": "uri"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string",
"nullable": true
},
"open_issues": {
"type": "integer"
},
"closed_issues": {
"type": "integer"
}
},
"description": "A collection of related issues and pull requests."
},
"reactions": {
"type": "object",
"title": "Reactions",
"required": [
"url",
"total_count",
"+1",
"-1",
"laugh",
"confused",
"heart",
"hooray",
"eyes",
"rocket"
],
"properties": {
"+1": {
"type": "integer"
},
"-1": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"eyes": {
"type": "integer"
},
"heart": {
"type": "integer"
},
"laugh": {
"type": "integer"
},
"hooray": {
"type": "integer"
},
"rocket": {
"type": "integer"
},
"confused": {
"type": "integer"
},
"total_count": {
"type": "integer"
}
}
},
"created_at": {
"type": "string",
"format": "date-time"
},
"events_url": {
"type": "string",
"format": "uri"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"comments_url": {
"type": "string",
"format": "uri"
},
"pull_request": {
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"diff_url": {
"type": "string",
"format": "uri"
},
"html_url": {
"type": "string",
"format": "uri"
},
"merged_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"patch_url": {
"type": "string",
"format": "uri"
}
}
},
"state_reason": {
"type": "string",
"nullable": true
},
"timeline_url": {
"type": "string",
"format": "uri"
},
"pinned_comment": {
"$ref": "#/components/schemas/nullable-issue-comment"
},
"repository_url": {
"type": "string",
"format": "uri"
},
"active_lock_reason": {
"enum": [
"resolved",
"off-topic",
"too heated",
"spam",
null
],
"type": "string",
"nullable": true
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
},
"issue_field_values": {
"type": "array",
"items": {
"$ref": "#/components/schemas/issue-field-value"
}
},
"sub_issues_summary": {
"$ref": "#/components/schemas/sub-issues-summary"
},
"performed_via_github_app": {
"type": "object",
"title": "App",
"nullable": true,
"required": [
"id",
"node_id",
"owner",
"name",
"description",
"external_url",
"html_url",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"nullable": true,
"description": "Unique identifier of the GitHub app"
},
"name": {
"type": "string",
"description": "The name of the GitHub app"
},
"slug": {
"type": "string",
"description": "The slug name of the GitHub app"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"events": {
"type": "array",
"items": {
"enum": [
"branch_protection_rule",
"check_run",
"check_suite",
"code_scanning_alert",
"commit_comment",
"content_reference",
"create",
"delete",
"deployment",
"deployment_review",
"deployment_status",
"deploy_key",
"discussion",
"discussion_comment",
"fork",
"gollum",
"issues",
"issue_comment",
"label",
"member",
"membership",
"milestone",
"organization",
"org_block",
"page_build",
"project",
"project_card",
"project_column",
"public",
"pull_request",
"pull_request_review",
"pull_request_review_comment",
"push",
"registry_package",
"release",
"repository",
"repository_dispatch",
"secret_scanning_alert",
"star",
"status",
"team",
"team_add",
"watch",
"workflow_dispatch",
"workflow_run",
"reminder",
"security_and_analysis"
],
"type": "string"
},
"description": "The list of events for the GitHub app"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"created_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"permissions": {
"type": "object",
"properties": {
"keys": {
"enum": [
"read",
"write"
],
"type": "string"
},
"pages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"checks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"emails": {
"enum": [
"read",
"write"
],
"type": "string"
},
"issues": {
"enum": [
"read",
"write"
],
"type": "string"
},
"actions": {
"enum": [
"read",
"write"
],
"type": "string"
},
"members": {
"enum": [
"read",
"write"
],
"type": "string"
},
"secrets": {
"enum": [
"read",
"write"
],
"type": "string"
},
"contents": {
"enum": [
"read",
"write"
],
"type": "string"
},
"metadata": {
"enum": [
"read",
"write"
],
"type": "string"
},
"packages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"statuses": {
"enum": [
"read",
"write"
],
"type": "string"
},
"workflows": {
"enum": [
"read",
"write"
],
"type": "string"
},
"deployments": {
"enum": [
"read",
"write"
],
"type": "string"
},
"discussions": {
"enum": [
"read",
"write"
],
"type": "string"
},
"single_file": {
"enum": [
"read",
"write"
],
"type": "string"
},
"environments": {
"enum": [
"read",
"write"
],
"type": "string"
},
"pull_requests": {
"enum": [
"read",
"write"
],
"type": "string"
},
"administration": {
"enum": [
"read",
"write"
],
"type": "string"
},
"security_events": {
"enum": [
"read",
"write"
],
"type": "string"
},
"repository_hooks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_plan": {
"enum": [
"read",
"write"
],
"type": "string"
},
"content_references": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_hooks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"repository_projects": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_secrets": {
"enum": [
"read",
"write"
],
"type": "string"
},
"vulnerability_alerts": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_packages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_projects": {
"enum": [
"read",
"write"
],
"type": "string"
},
"secret_scanning_alerts": {
"enum": [
"read",
"write"
],
"type": "string"
},
"security_scanning_alert": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_user_blocking": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_administration": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_self_hosted_runners": {
"enum": [
"read",
"write"
],
"type": "string"
}
},
"description": "The set of permissions for the GitHub app"
},
"external_url": {
"type": "string",
"format": "uri",
"nullable": true
}
},
"description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub."
},
"issue_dependencies_summary": {
"$ref": "#/components/schemas/issue-dependencies-summary"
}
},
"description": "The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself."
},
"action": {
"enum": [
"locked"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-issues-milestoned
{
"type": "object",
"title": "issues milestoned event",
"required": [
"action",
"issue",
"milestone",
"repository",
"sender"
],
"properties": {
"issue": {
"type": "object",
"title": "Issue",
"required": [
"active_lock_reason",
"assignees",
"author_association",
"body",
"closed_at",
"comments",
"comments_url",
"created_at",
"events_url",
"html_url",
"id",
"labels_url",
"milestone",
"node_id",
"number",
"reactions",
"repository_url",
"title",
"updated_at",
"url",
"user"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the issue"
},
"body": {
"type": "string",
"nullable": true,
"description": "Contents of the issue"
},
"type": {
"$ref": "#/components/schemas/issue-type"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"draft": {
"type": "boolean"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "State of the issue; either 'open' or 'closed'"
},
"title": {
"type": "string",
"description": "Title of the issue"
},
"labels": {
"type": "array",
"items": {
"type": "object",
"title": "Label",
"nullable": true,
"required": [
"id",
"node_id",
"url",
"name",
"color",
"default",
"description"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the label"
},
"name": {
"type": "string",
"description": "The name of the label."
},
"color": {
"type": "string",
"description": "6-character hex code, without the leading #, identifying the color"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
},
"locked": {
"type": "boolean"
},
"number": {
"type": "integer"
},
"node_id": {
"type": "string"
},
"assignee": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"comments": {
"type": "integer"
},
"html_url": {
"type": "string",
"format": "uri"
},
"assignees": {
"type": "array",
"items": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
}
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"milestone": {
"type": "object",
"title": "Milestone",
"nullable": true,
"required": [
"url",
"html_url",
"labels_url",
"id",
"node_id",
"number",
"title",
"description",
"creator",
"open_issues",
"closed_issues",
"state",
"created_at",
"updated_at",
"due_on",
"closed_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "The state of the milestone."
},
"title": {
"type": "string",
"description": "The title of the milestone."
},
"due_on": {
"type": "string",
"format": "date-time",
"nullable": true
},
"number": {
"type": "integer",
"description": "The number of the milestone."
},
"creator": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"labels_url": {
"type": "string",
"format": "uri"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string",
"nullable": true
},
"open_issues": {
"type": "integer"
},
"closed_issues": {
"type": "integer"
}
},
"description": "A collection of related issues and pull requests."
},
"reactions": {
"type": "object",
"title": "Reactions",
"required": [
"url",
"total_count",
"+1",
"-1",
"laugh",
"confused",
"heart",
"hooray",
"eyes",
"rocket"
],
"properties": {
"+1": {
"type": "integer"
},
"-1": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"eyes": {
"type": "integer"
},
"heart": {
"type": "integer"
},
"laugh": {
"type": "integer"
},
"hooray": {
"type": "integer"
},
"rocket": {
"type": "integer"
},
"confused": {
"type": "integer"
},
"total_count": {
"type": "integer"
}
}
},
"created_at": {
"type": "string",
"format": "date-time"
},
"events_url": {
"type": "string",
"format": "uri"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"comments_url": {
"type": "string",
"format": "uri"
},
"pull_request": {
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"diff_url": {
"type": "string",
"format": "uri"
},
"html_url": {
"type": "string",
"format": "uri"
},
"merged_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"patch_url": {
"type": "string",
"format": "uri"
}
}
},
"state_reason": {
"type": "string",
"nullable": true
},
"timeline_url": {
"type": "string",
"format": "uri"
},
"pinned_comment": {
"$ref": "#/components/schemas/nullable-issue-comment"
},
"repository_url": {
"type": "string",
"format": "uri"
},
"active_lock_reason": {
"enum": [
"resolved",
"off-topic",
"too heated",
"spam",
null
],
"type": "string",
"nullable": true
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
},
"issue_field_values": {
"type": "array",
"items": {
"$ref": "#/components/schemas/issue-field-value"
}
},
"sub_issues_summary": {
"$ref": "#/components/schemas/sub-issues-summary"
},
"performed_via_github_app": {
"type": "object",
"title": "App",
"nullable": true,
"required": [
"id",
"node_id",
"owner",
"name",
"description",
"external_url",
"html_url",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"nullable": true,
"description": "Unique identifier of the GitHub app"
},
"name": {
"type": "string",
"description": "The name of the GitHub app"
},
"slug": {
"type": "string",
"description": "The slug name of the GitHub app"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"events": {
"type": "array",
"items": {
"enum": [
"branch_protection_rule",
"check_run",
"check_suite",
"code_scanning_alert",
"commit_comment",
"content_reference",
"create",
"delete",
"deployment",
"deployment_review",
"deployment_status",
"deploy_key",
"discussion",
"discussion_comment",
"fork",
"gollum",
"issues",
"issue_comment",
"label",
"member",
"membership",
"milestone",
"organization",
"org_block",
"page_build",
"project",
"project_card",
"project_column",
"public",
"pull_request",
"pull_request_review",
"pull_request_review_comment",
"push",
"registry_package",
"release",
"repository",
"repository_dispatch",
"secret_scanning_alert",
"star",
"status",
"team",
"team_add",
"watch",
"workflow_dispatch",
"workflow_run",
"reminder"
],
"type": "string"
},
"description": "The list of events for the GitHub app"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"created_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"permissions": {
"type": "object",
"properties": {
"keys": {
"enum": [
"read",
"write"
],
"type": "string"
},
"pages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"checks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"emails": {
"enum": [
"read",
"write"
],
"type": "string"
},
"issues": {
"enum": [
"read",
"write"
],
"type": "string"
},
"actions": {
"enum": [
"read",
"write"
],
"type": "string"
},
"members": {
"enum": [
"read",
"write"
],
"type": "string"
},
"secrets": {
"enum": [
"read",
"write"
],
"type": "string"
},
"contents": {
"enum": [
"read",
"write"
],
"type": "string"
},
"metadata": {
"enum": [
"read",
"write"
],
"type": "string"
},
"packages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"statuses": {
"enum": [
"read",
"write"
],
"type": "string"
},
"workflows": {
"enum": [
"read",
"write"
],
"type": "string"
},
"deployments": {
"enum": [
"read",
"write"
],
"type": "string"
},
"discussions": {
"enum": [
"read",
"write"
],
"type": "string"
},
"single_file": {
"enum": [
"read",
"write"
],
"type": "string"
},
"environments": {
"enum": [
"read",
"write"
],
"type": "string"
},
"pull_requests": {
"enum": [
"read",
"write"
],
"type": "string"
},
"administration": {
"enum": [
"read",
"write"
],
"type": "string"
},
"security_events": {
"enum": [
"read",
"write"
],
"type": "string"
},
"repository_hooks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_plan": {
"enum": [
"read",
"write"
],
"type": "string"
},
"content_references": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_hooks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"repository_projects": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_secrets": {
"enum": [
"read",
"write"
],
"type": "string"
},
"vulnerability_alerts": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_packages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_projects": {
"enum": [
"read",
"write",
"admin"
],
"type": "string"
},
"secret_scanning_alerts": {
"enum": [
"read",
"write"
],
"type": "string"
},
"security_scanning_alert": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_user_blocking": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_administration": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_self_hosted_runners": {
"enum": [
"read",
"write"
],
"type": "string"
}
},
"description": "The set of permissions for the GitHub app"
},
"external_url": {
"type": "string",
"format": "uri",
"nullable": true
}
},
"description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub."
},
"issue_dependencies_summary": {
"$ref": "#/components/schemas/issue-dependencies-summary"
}
},
"description": "The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself."
},
"action": {
"enum": [
"milestoned"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"milestone": {
"$ref": "#/components/schemas/webhooks_milestone"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-issues-opened
{
"type": "object",
"title": "issues opened event",
"required": [
"action",
"issue",
"repository",
"sender"
],
"properties": {
"issue": {
"type": "object",
"title": "Issue",
"required": [
"url",
"repository_url",
"labels_url",
"comments_url",
"events_url",
"html_url",
"id",
"node_id",
"number",
"title",
"user",
"assignees",
"milestone",
"comments",
"created_at",
"updated_at",
"closed_at",
"author_association",
"active_lock_reason",
"body",
"reactions"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the issue"
},
"body": {
"type": "string",
"nullable": true,
"description": "Contents of the issue"
},
"type": {
"$ref": "#/components/schemas/issue-type"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"draft": {
"type": "boolean"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "State of the issue; either 'open' or 'closed'"
},
"title": {
"type": "string",
"description": "Title of the issue"
},
"labels": {
"type": "array",
"items": {
"type": "object",
"title": "Label",
"required": [
"id",
"node_id",
"url",
"name",
"color",
"default",
"description"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the label"
},
"name": {
"type": "string",
"description": "The name of the label."
},
"color": {
"type": "string",
"description": "6-character hex code, without the leading #, identifying the color"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
},
"locked": {
"type": "boolean"
},
"number": {
"type": "integer"
},
"node_id": {
"type": "string"
},
"assignee": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"comments": {
"type": "integer"
},
"html_url": {
"type": "string",
"format": "uri"
},
"assignees": {
"type": "array",
"items": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
}
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"milestone": {
"type": "object",
"title": "Milestone",
"nullable": true,
"required": [
"url",
"html_url",
"labels_url",
"id",
"node_id",
"number",
"title",
"description",
"creator",
"open_issues",
"closed_issues",
"state",
"created_at",
"updated_at",
"due_on",
"closed_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "The state of the milestone."
},
"title": {
"type": "string",
"description": "The title of the milestone."
},
"due_on": {
"type": "string",
"format": "date-time",
"nullable": true
},
"number": {
"type": "integer",
"description": "The number of the milestone."
},
"creator": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"labels_url": {
"type": "string",
"format": "uri"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string",
"nullable": true
},
"open_issues": {
"type": "integer"
},
"closed_issues": {
"type": "integer"
}
},
"description": "A collection of related issues and pull requests."
},
"reactions": {
"type": "object",
"title": "Reactions",
"required": [
"url",
"total_count",
"+1",
"-1",
"laugh",
"confused",
"heart",
"hooray",
"eyes",
"rocket"
],
"properties": {
"+1": {
"type": "integer"
},
"-1": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"eyes": {
"type": "integer"
},
"heart": {
"type": "integer"
},
"laugh": {
"type": "integer"
},
"hooray": {
"type": "integer"
},
"rocket": {
"type": "integer"
},
"confused": {
"type": "integer"
},
"total_count": {
"type": "integer"
}
}
},
"created_at": {
"type": "string",
"format": "date-time"
},
"events_url": {
"type": "string",
"format": "uri"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"comments_url": {
"type": "string",
"format": "uri"
},
"pull_request": {
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"diff_url": {
"type": "string",
"format": "uri"
},
"html_url": {
"type": "string",
"format": "uri"
},
"merged_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"patch_url": {
"type": "string",
"format": "uri"
}
}
},
"state_reason": {
"type": "string",
"nullable": true
},
"timeline_url": {
"type": "string",
"format": "uri"
},
"pinned_comment": {
"$ref": "#/components/schemas/nullable-issue-comment"
},
"repository_url": {
"type": "string",
"format": "uri"
},
"active_lock_reason": {
"enum": [
"resolved",
"off-topic",
"too heated",
"spam",
null
],
"type": "string",
"nullable": true
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
},
"issue_field_values": {
"type": "array",
"items": {
"$ref": "#/components/schemas/issue-field-value"
}
},
"sub_issues_summary": {
"$ref": "#/components/schemas/sub-issues-summary"
},
"performed_via_github_app": {
"type": "object",
"title": "App",
"nullable": true,
"required": [
"id",
"node_id",
"owner",
"name",
"description",
"external_url",
"html_url",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"nullable": true,
"description": "Unique identifier of the GitHub app"
},
"name": {
"type": "string",
"description": "The name of the GitHub app"
},
"slug": {
"type": "string",
"description": "The slug name of the GitHub app"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"events": {
"type": "array",
"items": {
"enum": [
"branch_protection_rule",
"check_run",
"check_suite",
"code_scanning_alert",
"commit_comment",
"content_reference",
"create",
"delete",
"deployment",
"deployment_review",
"deployment_status",
"deploy_key",
"discussion",
"discussion_comment",
"fork",
"gollum",
"issues",
"issue_comment",
"label",
"member",
"membership",
"milestone",
"organization",
"org_block",
"page_build",
"project",
"project_card",
"project_column",
"public",
"pull_request",
"pull_request_review",
"pull_request_review_comment",
"push",
"registry_package",
"release",
"repository",
"repository_dispatch",
"secret_scanning_alert",
"star",
"status",
"team",
"team_add",
"watch",
"workflow_dispatch",
"workflow_run",
"security_and_analysis",
"pull_request_review_thread",
"reminder"
],
"type": "string"
},
"description": "The list of events for the GitHub app"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"created_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"permissions": {
"type": "object",
"properties": {
"keys": {
"enum": [
"read",
"write"
],
"type": "string"
},
"pages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"checks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"emails": {
"enum": [
"read",
"write"
],
"type": "string"
},
"issues": {
"enum": [
"read",
"write"
],
"type": "string"
},
"actions": {
"enum": [
"read",
"write"
],
"type": "string"
},
"members": {
"enum": [
"read",
"write"
],
"type": "string"
},
"secrets": {
"enum": [
"read",
"write"
],
"type": "string"
},
"contents": {
"enum": [
"read",
"write"
],
"type": "string"
},
"metadata": {
"enum": [
"read",
"write"
],
"type": "string"
},
"packages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"statuses": {
"enum": [
"read",
"write"
],
"type": "string"
},
"workflows": {
"enum": [
"read",
"write"
],
"type": "string"
},
"deployments": {
"enum": [
"read",
"write"
],
"type": "string"
},
"discussions": {
"enum": [
"read",
"write"
],
"type": "string"
},
"single_file": {
"enum": [
"read",
"write"
],
"type": "string"
},
"environments": {
"enum": [
"read",
"write"
],
"type": "string"
},
"pull_requests": {
"enum": [
"read",
"write"
],
"type": "string"
},
"administration": {
"enum": [
"read",
"write"
],
"type": "string"
},
"security_events": {
"enum": [
"read",
"write"
],
"type": "string"
},
"repository_hooks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_plan": {
"enum": [
"read",
"write"
],
"type": "string"
},
"content_references": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_hooks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"repository_projects": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_secrets": {
"enum": [
"read",
"write"
],
"type": "string"
},
"vulnerability_alerts": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_packages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_projects": {
"enum": [
"read",
"write",
"admin"
],
"type": "string"
},
"secret_scanning_alerts": {
"enum": [
"read",
"write"
],
"type": "string"
},
"security_scanning_alert": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_user_blocking": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_administration": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_self_hosted_runners": {
"enum": [
"read",
"write"
],
"type": "string"
}
},
"description": "The set of permissions for the GitHub app"
},
"external_url": {
"type": "string",
"format": "uri",
"nullable": true
}
},
"description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub."
},
"issue_dependencies_summary": {
"$ref": "#/components/schemas/issue-dependencies-summary"
}
},
"description": "The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself."
},
"action": {
"enum": [
"opened"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"changes": {
"type": "object",
"required": [
"old_issue",
"old_repository"
],
"properties": {
"old_issue": {
"type": "object",
"title": "Issue",
"nullable": true,
"required": [
"id",
"number"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the issue"
},
"body": {
"type": "string",
"nullable": true,
"description": "Contents of the issue"
},
"type": {
"$ref": "#/components/schemas/issue-type"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"draft": {
"type": "boolean"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "State of the issue; either 'open' or 'closed'"
},
"title": {
"type": "string",
"description": "Title of the issue"
},
"labels": {
"type": "array",
"items": {
"type": "object",
"title": "Label",
"required": [
"id",
"node_id",
"url",
"name",
"color",
"default",
"description"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the label"
},
"name": {
"type": "string",
"description": "The name of the label."
},
"color": {
"type": "string",
"description": "6-character hex code, without the leading #, identifying the color"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
},
"locked": {
"type": "boolean"
},
"number": {
"type": "integer"
},
"node_id": {
"type": "string"
},
"assignee": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"comments": {
"type": "integer"
},
"html_url": {
"type": "string",
"format": "uri"
},
"assignees": {
"type": "array",
"items": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
}
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"milestone": {
"type": "object",
"title": "Milestone",
"nullable": true,
"required": [
"url",
"html_url",
"labels_url",
"id",
"node_id",
"number",
"title",
"description",
"creator",
"open_issues",
"closed_issues",
"state",
"created_at",
"updated_at",
"due_on",
"closed_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "The state of the milestone."
},
"title": {
"type": "string",
"description": "The title of the milestone."
},
"due_on": {
"type": "string",
"format": "date-time",
"nullable": true
},
"number": {
"type": "integer",
"description": "The number of the milestone."
},
"creator": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"labels_url": {
"type": "string",
"format": "uri"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string",
"nullable": true
},
"open_issues": {
"type": "integer"
},
"closed_issues": {
"type": "integer"
}
},
"description": "A collection of related issues and pull requests."
},
"reactions": {
"type": "object",
"title": "Reactions",
"required": [
"url",
"total_count",
"+1",
"-1",
"laugh",
"confused",
"heart",
"hooray",
"eyes",
"rocket"
],
"properties": {
"+1": {
"type": "integer"
},
"-1": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"eyes": {
"type": "integer"
},
"heart": {
"type": "integer"
},
"laugh": {
"type": "integer"
},
"hooray": {
"type": "integer"
},
"rocket": {
"type": "integer"
},
"confused": {
"type": "integer"
},
"total_count": {
"type": "integer"
}
}
},
"created_at": {
"type": "string",
"format": "date-time"
},
"events_url": {
"type": "string",
"format": "uri"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"comments_url": {
"type": "string",
"format": "uri"
},
"pull_request": {
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"diff_url": {
"type": "string",
"format": "uri"
},
"html_url": {
"type": "string",
"format": "uri"
},
"merged_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"patch_url": {
"type": "string",
"format": "uri"
}
}
},
"state_reason": {
"type": "string",
"nullable": true
},
"timeline_url": {
"type": "string",
"format": "uri"
},
"pinned_comment": {
"$ref": "#/components/schemas/nullable-issue-comment"
},
"repository_url": {
"type": "string",
"format": "uri"
},
"active_lock_reason": {
"enum": [
"resolved",
"off-topic",
"too heated",
"spam",
null
],
"type": "string",
"nullable": true
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
},
"issue_field_values": {
"type": "array",
"items": {
"$ref": "#/components/schemas/issue-field-value"
}
},
"sub_issues_summary": {
"$ref": "#/components/schemas/sub-issues-summary"
},
"performed_via_github_app": {
"type": "object",
"title": "App",
"nullable": true,
"required": [
"id",
"node_id",
"owner",
"name",
"description",
"external_url",
"html_url",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"nullable": true,
"description": "Unique identifier of the GitHub app"
},
"name": {
"type": "string",
"description": "The name of the GitHub app"
},
"slug": {
"type": "string",
"description": "The slug name of the GitHub app"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"events": {
"type": "array",
"items": {
"enum": [
"branch_protection_rule",
"check_run",
"check_suite",
"code_scanning_alert",
"commit_comment",
"content_reference",
"create",
"delete",
"deployment",
"deployment_review",
"deployment_status",
"deploy_key",
"discussion",
"discussion_comment",
"fork",
"gollum",
"issues",
"issue_comment",
"label",
"member",
"membership",
"milestone",
"organization",
"org_block",
"page_build",
"project",
"project_card",
"project_column",
"public",
"pull_request",
"pull_request_review",
"pull_request_review_comment",
"push",
"registry_package",
"release",
"repository",
"repository_dispatch",
"secret_scanning_alert",
"star",
"status",
"team",
"team_add",
"watch",
"workflow_dispatch",
"workflow_run"
],
"type": "string"
},
"description": "The list of events for the GitHub app"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"created_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"permissions": {
"type": "object",
"properties": {
"keys": {
"enum": [
"read",
"write"
],
"type": "string"
},
"pages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"checks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"emails": {
"enum": [
"read",
"write"
],
"type": "string"
},
"issues": {
"enum": [
"read",
"write"
],
"type": "string"
},
"actions": {
"enum": [
"read",
"write"
],
"type": "string"
},
"members": {
"enum": [
"read",
"write"
],
"type": "string"
},
"secrets": {
"enum": [
"read",
"write"
],
"type": "string"
},
"contents": {
"enum": [
"read",
"write"
],
"type": "string"
},
"metadata": {
"enum": [
"read",
"write"
],
"type": "string"
},
"packages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"statuses": {
"enum": [
"read",
"write"
],
"type": "string"
},
"workflows": {
"enum": [
"read",
"write"
],
"type": "string"
},
"deployments": {
"enum": [
"read",
"write"
],
"type": "string"
},
"discussions": {
"enum": [
"read",
"write"
],
"type": "string"
},
"single_file": {
"enum": [
"read",
"write"
],
"type": "string"
},
"environments": {
"enum": [
"read",
"write"
],
"type": "string"
},
"pull_requests": {
"enum": [
"read",
"write"
],
"type": "string"
},
"administration": {
"enum": [
"read",
"write"
],
"type": "string"
},
"security_events": {
"enum": [
"read",
"write"
],
"type": "string"
},
"repository_hooks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_plan": {
"enum": [
"read",
"write"
],
"type": "string"
},
"content_references": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_hooks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"repository_projects": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_secrets": {
"enum": [
"read",
"write"
],
"type": "string"
},
"vulnerability_alerts": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_packages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_projects": {
"enum": [
"read",
"write"
],
"type": "string"
},
"secret_scanning_alerts": {
"enum": [
"read",
"write"
],
"type": "string"
},
"security_scanning_alert": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_user_blocking": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_administration": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_self_hosted_runners": {
"enum": [
"read",
"write"
],
"type": "string"
}
},
"description": "The set of permissions for the GitHub app"
},
"external_url": {
"type": "string",
"format": "uri",
"nullable": true
}
},
"description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub."
},
"issue_dependencies_summary": {
"$ref": "#/components/schemas/issue-dependencies-summary"
}
},
"description": "The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself."
},
"old_repository": {
"type": "object",
"title": "Repository",
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"has_discussions": {
"type": "boolean",
"description": "Whether the repository has discussions enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"custom_properties": {
"type": "object",
"description": "The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values.",
"additionalProperties": true
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"allow_update_branch": {
"type": "boolean"
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"web_commit_signoff_required": {
"type": "boolean",
"description": "Whether to require commit signoff."
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
}
},
"description": "A git repository"
}
}
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-issues-pinned
{
"type": "object",
"title": "issues pinned event",
"required": [
"action",
"issue",
"repository",
"sender"
],
"properties": {
"issue": {
"$ref": "#/components/schemas/webhooks_issue_2"
},
"action": {
"enum": [
"pinned"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-issues-reopened
{
"type": "object",
"title": "issues reopened event",
"required": [
"action",
"issue",
"repository",
"sender"
],
"properties": {
"issue": {
"type": "object",
"title": "Issue",
"required": [
"active_lock_reason",
"assignees",
"author_association",
"body",
"closed_at",
"comments",
"comments_url",
"created_at",
"events_url",
"html_url",
"id",
"labels_url",
"milestone",
"node_id",
"number",
"reactions",
"repository_url",
"state",
"title",
"updated_at",
"url",
"user"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the issue"
},
"body": {
"type": "string",
"nullable": true,
"description": "Contents of the issue"
},
"type": {
"$ref": "#/components/schemas/issue-type"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"draft": {
"type": "boolean"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "State of the issue; either 'open' or 'closed'"
},
"title": {
"type": "string",
"description": "Title of the issue"
},
"labels": {
"type": "array",
"items": {
"type": "object",
"title": "Label",
"nullable": true,
"required": [
"id",
"node_id",
"url",
"name",
"color",
"default",
"description"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the label"
},
"name": {
"type": "string",
"description": "The name of the label."
},
"color": {
"type": "string",
"description": "6-character hex code, without the leading #, identifying the color"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
},
"locked": {
"type": "boolean"
},
"number": {
"type": "integer"
},
"node_id": {
"type": "string"
},
"assignee": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"comments": {
"type": "integer"
},
"html_url": {
"type": "string",
"format": "uri"
},
"assignees": {
"type": "array",
"items": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
}
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"milestone": {
"type": "object",
"title": "Milestone",
"nullable": true,
"required": [
"url",
"html_url",
"labels_url",
"id",
"node_id",
"number",
"title",
"description",
"creator",
"open_issues",
"closed_issues",
"state",
"created_at",
"updated_at",
"due_on",
"closed_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "The state of the milestone."
},
"title": {
"type": "string",
"description": "The title of the milestone."
},
"due_on": {
"type": "string",
"format": "date-time",
"nullable": true
},
"number": {
"type": "integer",
"description": "The number of the milestone."
},
"creator": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"labels_url": {
"type": "string",
"format": "uri"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string",
"nullable": true
},
"open_issues": {
"type": "integer"
},
"closed_issues": {
"type": "integer"
}
},
"description": "A collection of related issues and pull requests."
},
"reactions": {
"type": "object",
"title": "Reactions",
"required": [
"url",
"total_count",
"+1",
"-1",
"laugh",
"confused",
"heart",
"hooray",
"eyes",
"rocket"
],
"properties": {
"+1": {
"type": "integer"
},
"-1": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"eyes": {
"type": "integer"
},
"heart": {
"type": "integer"
},
"laugh": {
"type": "integer"
},
"hooray": {
"type": "integer"
},
"rocket": {
"type": "integer"
},
"confused": {
"type": "integer"
},
"total_count": {
"type": "integer"
}
}
},
"created_at": {
"type": "string",
"format": "date-time"
},
"events_url": {
"type": "string",
"format": "uri"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"comments_url": {
"type": "string",
"format": "uri"
},
"pull_request": {
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"diff_url": {
"type": "string",
"format": "uri"
},
"html_url": {
"type": "string",
"format": "uri"
},
"merged_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"patch_url": {
"type": "string",
"format": "uri"
}
}
},
"state_reason": {
"type": "string",
"nullable": true
},
"timeline_url": {
"type": "string",
"format": "uri"
},
"pinned_comment": {
"$ref": "#/components/schemas/nullable-issue-comment"
},
"repository_url": {
"type": "string",
"format": "uri"
},
"active_lock_reason": {
"enum": [
"resolved",
"off-topic",
"too heated",
"spam",
null
],
"type": "string",
"nullable": true
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
},
"issue_field_values": {
"type": "array",
"items": {
"$ref": "#/components/schemas/issue-field-value"
}
},
"sub_issues_summary": {
"$ref": "#/components/schemas/sub-issues-summary"
},
"performed_via_github_app": {
"type": "object",
"title": "App",
"nullable": true,
"required": [
"id",
"node_id",
"owner",
"name",
"description",
"external_url",
"html_url",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"nullable": true,
"description": "Unique identifier of the GitHub app"
},
"name": {
"type": "string",
"description": "The name of the GitHub app"
},
"slug": {
"type": "string",
"description": "The slug name of the GitHub app"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"events": {
"type": "array",
"items": {
"enum": [
"branch_protection_rule",
"check_run",
"check_suite",
"code_scanning_alert",
"commit_comment",
"content_reference",
"create",
"delete",
"deployment",
"deployment_review",
"deployment_status",
"deploy_key",
"discussion",
"discussion_comment",
"fork",
"gollum",
"issues",
"issue_comment",
"label",
"member",
"membership",
"milestone",
"organization",
"org_block",
"page_build",
"project",
"project_card",
"project_column",
"public",
"pull_request",
"pull_request_review",
"pull_request_review_comment",
"push",
"registry_package",
"release",
"repository",
"repository_dispatch",
"secret_scanning_alert",
"star",
"status",
"team",
"team_add",
"watch",
"workflow_dispatch",
"workflow_run",
"pull_request_review_thread",
"reminder"
],
"type": "string"
},
"description": "The list of events for the GitHub app"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"created_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"permissions": {
"type": "object",
"properties": {
"keys": {
"enum": [
"read",
"write"
],
"type": "string"
},
"pages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"checks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"emails": {
"enum": [
"read",
"write"
],
"type": "string"
},
"issues": {
"enum": [
"read",
"write"
],
"type": "string"
},
"actions": {
"enum": [
"read",
"write"
],
"type": "string"
},
"members": {
"enum": [
"read",
"write"
],
"type": "string"
},
"secrets": {
"enum": [
"read",
"write"
],
"type": "string"
},
"contents": {
"enum": [
"read",
"write"
],
"type": "string"
},
"metadata": {
"enum": [
"read",
"write"
],
"type": "string"
},
"packages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"statuses": {
"enum": [
"read",
"write"
],
"type": "string"
},
"workflows": {
"enum": [
"read",
"write"
],
"type": "string"
},
"deployments": {
"enum": [
"read",
"write"
],
"type": "string"
},
"discussions": {
"enum": [
"read",
"write"
],
"type": "string"
},
"single_file": {
"enum": [
"read",
"write"
],
"type": "string"
},
"environments": {
"enum": [
"read",
"write"
],
"type": "string"
},
"pull_requests": {
"enum": [
"read",
"write"
],
"type": "string"
},
"administration": {
"enum": [
"read",
"write"
],
"type": "string"
},
"security_events": {
"enum": [
"read",
"write"
],
"type": "string"
},
"repository_hooks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_plan": {
"enum": [
"read",
"write"
],
"type": "string"
},
"content_references": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_hooks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"repository_projects": {
"enum": [
"read",
"write",
"admin"
],
"type": "string"
},
"organization_secrets": {
"enum": [
"read",
"write"
],
"type": "string"
},
"vulnerability_alerts": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_packages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_projects": {
"enum": [
"read",
"write",
"admin"
],
"type": "string"
},
"secret_scanning_alerts": {
"enum": [
"read",
"write"
],
"type": "string"
},
"security_scanning_alert": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_user_blocking": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_administration": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_self_hosted_runners": {
"enum": [
"read",
"write"
],
"type": "string"
}
},
"description": "The set of permissions for the GitHub app"
},
"external_url": {
"type": "string",
"format": "uri",
"nullable": true
}
},
"description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub."
},
"issue_dependencies_summary": {
"$ref": "#/components/schemas/issue-dependencies-summary"
}
},
"description": "The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself."
},
"action": {
"enum": [
"reopened"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-issues-transferred
{
"type": "object",
"title": "issues transferred event",
"required": [
"action",
"changes",
"issue",
"repository",
"sender"
],
"properties": {
"issue": {
"$ref": "#/components/schemas/webhooks_issue_2"
},
"action": {
"enum": [
"transferred"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"changes": {
"type": "object",
"required": [
"new_issue",
"new_repository"
],
"properties": {
"new_issue": {
"type": "object",
"title": "Issue",
"required": [
"url",
"repository_url",
"labels_url",
"comments_url",
"events_url",
"html_url",
"id",
"node_id",
"number",
"title",
"user",
"assignees",
"milestone",
"comments",
"created_at",
"updated_at",
"closed_at",
"author_association",
"active_lock_reason",
"body",
"reactions"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the issue"
},
"body": {
"type": "string",
"nullable": true,
"description": "Contents of the issue"
},
"type": {
"$ref": "#/components/schemas/issue-type"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"draft": {
"type": "boolean"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "State of the issue; either 'open' or 'closed'"
},
"title": {
"type": "string",
"description": "Title of the issue"
},
"labels": {
"type": "array",
"items": {
"type": "object",
"title": "Label",
"required": [
"id",
"node_id",
"url",
"name",
"color",
"default",
"description"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the label"
},
"name": {
"type": "string",
"description": "The name of the label."
},
"color": {
"type": "string",
"description": "6-character hex code, without the leading #, identifying the color"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
},
"locked": {
"type": "boolean"
},
"number": {
"type": "integer"
},
"node_id": {
"type": "string"
},
"assignee": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"comments": {
"type": "integer"
},
"html_url": {
"type": "string",
"format": "uri"
},
"assignees": {
"type": "array",
"items": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
}
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"milestone": {
"type": "object",
"title": "Milestone",
"nullable": true,
"required": [
"url",
"html_url",
"labels_url",
"id",
"node_id",
"number",
"title",
"description",
"creator",
"open_issues",
"closed_issues",
"state",
"created_at",
"updated_at",
"due_on",
"closed_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "The state of the milestone."
},
"title": {
"type": "string",
"description": "The title of the milestone."
},
"due_on": {
"type": "string",
"format": "date-time",
"nullable": true
},
"number": {
"type": "integer",
"description": "The number of the milestone."
},
"creator": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"labels_url": {
"type": "string",
"format": "uri"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string",
"nullable": true
},
"open_issues": {
"type": "integer"
},
"closed_issues": {
"type": "integer"
}
},
"description": "A collection of related issues and pull requests."
},
"reactions": {
"type": "object",
"title": "Reactions",
"required": [
"url",
"total_count",
"+1",
"-1",
"laugh",
"confused",
"heart",
"hooray",
"eyes",
"rocket"
],
"properties": {
"+1": {
"type": "integer"
},
"-1": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"eyes": {
"type": "integer"
},
"heart": {
"type": "integer"
},
"laugh": {
"type": "integer"
},
"hooray": {
"type": "integer"
},
"rocket": {
"type": "integer"
},
"confused": {
"type": "integer"
},
"total_count": {
"type": "integer"
}
}
},
"created_at": {
"type": "string",
"format": "date-time"
},
"events_url": {
"type": "string",
"format": "uri"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"comments_url": {
"type": "string",
"format": "uri"
},
"pull_request": {
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"diff_url": {
"type": "string",
"format": "uri"
},
"html_url": {
"type": "string",
"format": "uri"
},
"merged_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"patch_url": {
"type": "string",
"format": "uri"
}
}
},
"state_reason": {
"type": "string",
"nullable": true
},
"timeline_url": {
"type": "string",
"format": "uri"
},
"pinned_comment": {
"$ref": "#/components/schemas/nullable-issue-comment"
},
"repository_url": {
"type": "string",
"format": "uri"
},
"active_lock_reason": {
"enum": [
"resolved",
"off-topic",
"too heated",
"spam",
null
],
"type": "string",
"nullable": true
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
},
"issue_field_values": {
"type": "array",
"items": {
"$ref": "#/components/schemas/issue-field-value"
}
},
"sub_issues_summary": {
"$ref": "#/components/schemas/sub-issues-summary"
},
"performed_via_github_app": {
"type": "object",
"title": "App",
"nullable": true,
"required": [
"id",
"node_id",
"owner",
"name",
"description",
"external_url",
"html_url",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"nullable": true,
"description": "Unique identifier of the GitHub app"
},
"name": {
"type": "string",
"description": "The name of the GitHub app"
},
"slug": {
"type": "string",
"description": "The slug name of the GitHub app"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"events": {
"type": "array",
"items": {
"enum": [
"branch_protection_rule",
"check_run",
"check_suite",
"code_scanning_alert",
"commit_comment",
"content_reference",
"create",
"delete",
"deployment",
"deployment_review",
"deployment_status",
"deploy_key",
"discussion",
"discussion_comment",
"fork",
"gollum",
"issues",
"issue_comment",
"label",
"member",
"membership",
"milestone",
"organization",
"org_block",
"page_build",
"project",
"project_card",
"project_column",
"public",
"pull_request",
"pull_request_review",
"pull_request_review_comment",
"push",
"registry_package",
"release",
"repository",
"repository_dispatch",
"secret_scanning_alert",
"star",
"status",
"team",
"team_add",
"watch",
"workflow_dispatch",
"workflow_run"
],
"type": "string"
},
"description": "The list of events for the GitHub app"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"created_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"permissions": {
"type": "object",
"properties": {
"keys": {
"enum": [
"read",
"write"
],
"type": "string"
},
"pages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"checks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"emails": {
"enum": [
"read",
"write"
],
"type": "string"
},
"issues": {
"enum": [
"read",
"write"
],
"type": "string"
},
"actions": {
"enum": [
"read",
"write"
],
"type": "string"
},
"members": {
"enum": [
"read",
"write"
],
"type": "string"
},
"secrets": {
"enum": [
"read",
"write"
],
"type": "string"
},
"contents": {
"enum": [
"read",
"write"
],
"type": "string"
},
"metadata": {
"enum": [
"read",
"write"
],
"type": "string"
},
"packages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"statuses": {
"enum": [
"read",
"write"
],
"type": "string"
},
"workflows": {
"enum": [
"read",
"write"
],
"type": "string"
},
"deployments": {
"enum": [
"read",
"write"
],
"type": "string"
},
"discussions": {
"enum": [
"read",
"write"
],
"type": "string"
},
"single_file": {
"enum": [
"read",
"write"
],
"type": "string"
},
"environments": {
"enum": [
"read",
"write"
],
"type": "string"
},
"pull_requests": {
"enum": [
"read",
"write"
],
"type": "string"
},
"administration": {
"enum": [
"read",
"write"
],
"type": "string"
},
"security_events": {
"enum": [
"read",
"write"
],
"type": "string"
},
"repository_hooks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_plan": {
"enum": [
"read",
"write"
],
"type": "string"
},
"content_references": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_hooks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"repository_projects": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_secrets": {
"enum": [
"read",
"write"
],
"type": "string"
},
"vulnerability_alerts": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_packages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_projects": {
"enum": [
"read",
"write"
],
"type": "string"
},
"secret_scanning_alerts": {
"enum": [
"read",
"write"
],
"type": "string"
},
"security_scanning_alert": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_user_blocking": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_administration": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_self_hosted_runners": {
"enum": [
"read",
"write"
],
"type": "string"
}
},
"description": "The set of permissions for the GitHub app"
},
"external_url": {
"type": "string",
"format": "uri",
"nullable": true
}
},
"description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub."
},
"issue_dependencies_summary": {
"$ref": "#/components/schemas/issue-dependencies-summary"
}
},
"description": "The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself."
},
"new_repository": {
"type": "object",
"title": "Repository",
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"has_discussions",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"has_discussions": {
"type": "boolean",
"default": false,
"description": "Whether discussions are enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"custom_properties": {
"type": "object",
"description": "The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values.",
"additionalProperties": true
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"allow_update_branch": {
"type": "boolean"
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"web_commit_signoff_required": {
"type": "boolean",
"description": "Whether to require contributors to sign off on web-based commits"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
}
},
"description": "A git repository"
}
}
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-issues-typed
{
"type": "object",
"title": "issues typed event",
"required": [
"action",
"issue",
"type",
"repository",
"sender"
],
"properties": {
"type": {
"$ref": "#/components/schemas/issue-type"
},
"issue": {
"$ref": "#/components/schemas/webhooks_issue"
},
"action": {
"enum": [
"typed"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-issues-unassigned
{
"type": "object",
"title": "issues unassigned event",
"required": [
"action",
"issue",
"repository",
"sender"
],
"properties": {
"issue": {
"$ref": "#/components/schemas/webhooks_issue"
},
"action": {
"enum": [
"unassigned"
],
"type": "string",
"description": "The action that was performed."
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"assignee": {
"$ref": "#/components/schemas/webhooks_user_mannequin"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-issues-unlabeled
{
"type": "object",
"title": "issues unlabeled event",
"required": [
"action",
"issue",
"repository",
"sender"
],
"properties": {
"issue": {
"$ref": "#/components/schemas/webhooks_issue"
},
"label": {
"$ref": "#/components/schemas/webhooks_label"
},
"action": {
"enum": [
"unlabeled"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-issues-unlocked
{
"type": "object",
"title": "issues unlocked event",
"required": [
"action",
"issue",
"repository",
"sender"
],
"properties": {
"issue": {
"type": "object",
"title": "Issue",
"required": [
"active_lock_reason",
"assignees",
"author_association",
"body",
"closed_at",
"comments",
"comments_url",
"created_at",
"events_url",
"html_url",
"id",
"labels_url",
"locked",
"milestone",
"node_id",
"number",
"reactions",
"repository_url",
"title",
"updated_at",
"url",
"user"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the issue"
},
"body": {
"type": "string",
"nullable": true,
"description": "Contents of the issue"
},
"type": {
"$ref": "#/components/schemas/issue-type"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"draft": {
"type": "boolean"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "State of the issue; either 'open' or 'closed'"
},
"title": {
"type": "string",
"description": "Title of the issue"
},
"labels": {
"type": "array",
"items": {
"type": "object",
"title": "Label",
"nullable": true,
"required": [
"id",
"node_id",
"url",
"name",
"color",
"default",
"description"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the label"
},
"name": {
"type": "string",
"description": "The name of the label."
},
"color": {
"type": "string",
"description": "6-character hex code, without the leading #, identifying the color"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
},
"locked": {
"enum": [
false
],
"type": "boolean"
},
"number": {
"type": "integer"
},
"node_id": {
"type": "string"
},
"assignee": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"comments": {
"type": "integer"
},
"html_url": {
"type": "string",
"format": "uri"
},
"assignees": {
"type": "array",
"items": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
}
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"milestone": {
"type": "object",
"title": "Milestone",
"nullable": true,
"required": [
"url",
"html_url",
"labels_url",
"id",
"node_id",
"number",
"title",
"description",
"creator",
"open_issues",
"closed_issues",
"state",
"created_at",
"updated_at",
"due_on",
"closed_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "The state of the milestone."
},
"title": {
"type": "string",
"description": "The title of the milestone."
},
"due_on": {
"type": "string",
"format": "date-time",
"nullable": true
},
"number": {
"type": "integer",
"description": "The number of the milestone."
},
"creator": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"labels_url": {
"type": "string",
"format": "uri"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string",
"nullable": true
},
"open_issues": {
"type": "integer"
},
"closed_issues": {
"type": "integer"
}
},
"description": "A collection of related issues and pull requests."
},
"reactions": {
"type": "object",
"title": "Reactions",
"required": [
"url",
"total_count",
"+1",
"-1",
"laugh",
"confused",
"heart",
"hooray",
"eyes",
"rocket"
],
"properties": {
"+1": {
"type": "integer"
},
"-1": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"eyes": {
"type": "integer"
},
"heart": {
"type": "integer"
},
"laugh": {
"type": "integer"
},
"hooray": {
"type": "integer"
},
"rocket": {
"type": "integer"
},
"confused": {
"type": "integer"
},
"total_count": {
"type": "integer"
}
}
},
"created_at": {
"type": "string",
"format": "date-time"
},
"events_url": {
"type": "string",
"format": "uri"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"comments_url": {
"type": "string",
"format": "uri"
},
"pull_request": {
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"diff_url": {
"type": "string",
"format": "uri"
},
"html_url": {
"type": "string",
"format": "uri"
},
"merged_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"patch_url": {
"type": "string",
"format": "uri"
}
}
},
"state_reason": {
"type": "string",
"nullable": true
},
"timeline_url": {
"type": "string",
"format": "uri"
},
"pinned_comment": {
"$ref": "#/components/schemas/nullable-issue-comment"
},
"repository_url": {
"type": "string",
"format": "uri"
},
"active_lock_reason": {
"enum": [
"resolved",
"off-topic",
"too heated",
"spam",
null
],
"type": "string",
"nullable": true
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
},
"issue_field_values": {
"type": "array",
"items": {
"$ref": "#/components/schemas/issue-field-value"
}
},
"sub_issues_summary": {
"$ref": "#/components/schemas/sub-issues-summary"
},
"performed_via_github_app": {
"type": "object",
"title": "App",
"nullable": true,
"required": [
"id",
"node_id",
"owner",
"name",
"description",
"external_url",
"html_url",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"nullable": true,
"description": "Unique identifier of the GitHub app"
},
"name": {
"type": "string",
"description": "The name of the GitHub app"
},
"slug": {
"type": "string",
"description": "The slug name of the GitHub app"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"events": {
"type": "array",
"items": {
"enum": [
"branch_protection_rule",
"check_run",
"check_suite",
"code_scanning_alert",
"commit_comment",
"content_reference",
"create",
"delete",
"deployment",
"deployment_review",
"deployment_status",
"deploy_key",
"discussion",
"discussion_comment",
"fork",
"gollum",
"issues",
"issue_comment",
"label",
"member",
"membership",
"milestone",
"organization",
"org_block",
"page_build",
"project",
"project_card",
"project_column",
"public",
"pull_request",
"pull_request_review",
"pull_request_review_comment",
"push",
"registry_package",
"release",
"repository",
"repository_dispatch",
"secret_scanning_alert",
"star",
"status",
"team",
"team_add",
"watch",
"workflow_dispatch",
"workflow_run"
],
"type": "string"
},
"description": "The list of events for the GitHub app"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"created_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"permissions": {
"type": "object",
"properties": {
"keys": {
"enum": [
"read",
"write"
],
"type": "string"
},
"pages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"checks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"emails": {
"enum": [
"read",
"write"
],
"type": "string"
},
"issues": {
"enum": [
"read",
"write"
],
"type": "string"
},
"actions": {
"enum": [
"read",
"write"
],
"type": "string"
},
"members": {
"enum": [
"read",
"write"
],
"type": "string"
},
"secrets": {
"enum": [
"read",
"write"
],
"type": "string"
},
"contents": {
"enum": [
"read",
"write"
],
"type": "string"
},
"metadata": {
"enum": [
"read",
"write"
],
"type": "string"
},
"packages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"statuses": {
"enum": [
"read",
"write"
],
"type": "string"
},
"workflows": {
"enum": [
"read",
"write"
],
"type": "string"
},
"deployments": {
"enum": [
"read",
"write"
],
"type": "string"
},
"discussions": {
"enum": [
"read",
"write"
],
"type": "string"
},
"single_file": {
"enum": [
"read",
"write"
],
"type": "string"
},
"environments": {
"enum": [
"read",
"write"
],
"type": "string"
},
"pull_requests": {
"enum": [
"read",
"write"
],
"type": "string"
},
"administration": {
"enum": [
"read",
"write"
],
"type": "string"
},
"security_events": {
"enum": [
"read",
"write"
],
"type": "string"
},
"repository_hooks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_plan": {
"enum": [
"read",
"write"
],
"type": "string"
},
"content_references": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_hooks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"repository_projects": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_secrets": {
"enum": [
"read",
"write"
],
"type": "string"
},
"vulnerability_alerts": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_packages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_projects": {
"enum": [
"read",
"write"
],
"type": "string"
},
"secret_scanning_alerts": {
"enum": [
"read",
"write"
],
"type": "string"
},
"security_scanning_alert": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_user_blocking": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_administration": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_self_hosted_runners": {
"enum": [
"read",
"write"
],
"type": "string"
}
},
"description": "The set of permissions for the GitHub app"
},
"external_url": {
"type": "string",
"format": "uri",
"nullable": true
}
},
"description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub."
},
"issue_dependencies_summary": {
"$ref": "#/components/schemas/issue-dependencies-summary"
}
},
"description": "The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself."
},
"action": {
"enum": [
"unlocked"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-issues-unpinned
{
"type": "object",
"title": "issues unpinned event",
"required": [
"action",
"issue",
"repository",
"sender"
],
"properties": {
"issue": {
"$ref": "#/components/schemas/webhooks_issue_2"
},
"action": {
"enum": [
"unpinned"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-issues-untyped
{
"type": "object",
"title": "issues untyped event",
"required": [
"action",
"issue",
"type",
"repository",
"sender"
],
"properties": {
"type": {
"$ref": "#/components/schemas/issue-type"
},
"issue": {
"$ref": "#/components/schemas/webhooks_issue"
},
"action": {
"enum": [
"untyped"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-label-created
{
"type": "object",
"title": "label created event",
"required": [
"action",
"label",
"repository"
],
"properties": {
"label": {
"$ref": "#/components/schemas/webhooks_label"
},
"action": {
"enum": [
"created"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-label-deleted
{
"type": "object",
"title": "label deleted event",
"required": [
"action",
"label",
"repository",
"sender"
],
"properties": {
"label": {
"$ref": "#/components/schemas/webhooks_label"
},
"action": {
"enum": [
"deleted"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-label-edited
{
"type": "object",
"title": "label edited event",
"required": [
"action",
"label",
"repository",
"sender"
],
"properties": {
"label": {
"$ref": "#/components/schemas/webhooks_label"
},
"action": {
"enum": [
"edited"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"changes": {
"type": "object",
"properties": {
"name": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"type": "string",
"description": "The previous version of the name if the action was `edited`."
}
}
},
"color": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"type": "string",
"description": "The previous version of the color if the action was `edited`."
}
}
},
"description": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"type": "string",
"description": "The previous version of the description if the action was `edited`."
}
}
}
},
"description": "The changes to the label if the action was `edited`."
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-marketplace-purchase-cancelled
{
"type": "object",
"title": "marketplace_purchase cancelled event",
"required": [
"action",
"effective_date",
"sender",
"marketplace_purchase"
],
"properties": {
"action": {
"enum": [
"cancelled"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"effective_date": {
"type": "string"
},
"marketplace_purchase": {
"$ref": "#/components/schemas/webhooks_marketplace_purchase"
},
"previous_marketplace_purchase": {
"$ref": "#/components/schemas/webhooks_previous_marketplace_purchase"
}
}
}
webhook-marketplace-purchase-changed
{
"type": "object",
"title": "marketplace_purchase changed event",
"required": [
"action",
"effective_date",
"sender",
"marketplace_purchase"
],
"properties": {
"action": {
"enum": [
"changed"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"effective_date": {
"type": "string"
},
"marketplace_purchase": {
"$ref": "#/components/schemas/webhooks_marketplace_purchase"
},
"previous_marketplace_purchase": {
"type": "object",
"title": "Marketplace Purchase",
"required": [
"account",
"billing_cycle",
"unit_count",
"on_free_trial",
"free_trial_ends_on",
"plan"
],
"properties": {
"plan": {
"type": "object",
"required": [
"id",
"name",
"description",
"monthly_price_in_cents",
"yearly_price_in_cents",
"price_model",
"has_free_trial",
"unit_name",
"bullets"
],
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"bullets": {
"type": "array",
"items": {
"type": "string"
}
},
"unit_name": {
"type": "string",
"nullable": true
},
"description": {
"type": "string"
},
"price_model": {
"enum": [
"FREE",
"FLAT_RATE",
"PER_UNIT"
],
"type": "string"
},
"has_free_trial": {
"type": "boolean"
},
"yearly_price_in_cents": {
"type": "integer"
},
"monthly_price_in_cents": {
"type": "integer"
}
}
},
"account": {
"type": "object",
"required": [
"type",
"id",
"node_id",
"login",
"organization_billing_email"
],
"properties": {
"id": {
"type": "integer"
},
"type": {
"type": "string"
},
"login": {
"type": "string"
},
"node_id": {
"type": "string"
},
"organization_billing_email": {
"type": "string",
"nullable": true
}
}
},
"unit_count": {
"type": "integer"
},
"billing_cycle": {
"type": "string"
},
"on_free_trial": {
"type": "boolean",
"nullable": true
},
"next_billing_date": {
"type": "string",
"nullable": true
},
"free_trial_ends_on": {
"type": "string",
"nullable": true
}
}
}
}
}
webhook-marketplace-purchase-pending-change
{
"type": "object",
"title": "marketplace_purchase pending_change event",
"required": [
"action",
"effective_date",
"sender",
"marketplace_purchase"
],
"properties": {
"action": {
"enum": [
"pending_change"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"effective_date": {
"type": "string"
},
"marketplace_purchase": {
"$ref": "#/components/schemas/webhooks_marketplace_purchase"
},
"previous_marketplace_purchase": {
"type": "object",
"title": "Marketplace Purchase",
"required": [
"account",
"billing_cycle",
"unit_count",
"on_free_trial",
"free_trial_ends_on",
"plan"
],
"properties": {
"plan": {
"type": "object",
"required": [
"id",
"name",
"description",
"monthly_price_in_cents",
"yearly_price_in_cents",
"price_model",
"has_free_trial",
"unit_name",
"bullets"
],
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"bullets": {
"type": "array",
"items": {
"type": "string"
}
},
"unit_name": {
"type": "string",
"nullable": true
},
"description": {
"type": "string"
},
"price_model": {
"enum": [
"FREE",
"FLAT_RATE",
"PER_UNIT"
],
"type": "string"
},
"has_free_trial": {
"type": "boolean"
},
"yearly_price_in_cents": {
"type": "integer"
},
"monthly_price_in_cents": {
"type": "integer"
}
}
},
"account": {
"type": "object",
"required": [
"type",
"id",
"node_id",
"login",
"organization_billing_email"
],
"properties": {
"id": {
"type": "integer"
},
"type": {
"type": "string"
},
"login": {
"type": "string"
},
"node_id": {
"type": "string"
},
"organization_billing_email": {
"type": "string",
"nullable": true
}
}
},
"unit_count": {
"type": "integer"
},
"billing_cycle": {
"type": "string"
},
"on_free_trial": {
"type": "boolean"
},
"next_billing_date": {
"type": "string",
"nullable": true
},
"free_trial_ends_on": {
"type": "string",
"nullable": true
}
}
}
}
}
webhook-marketplace-purchase-pending-change-cancelled
{
"type": "object",
"title": "marketplace_purchase pending_change_cancelled event",
"required": [
"action",
"effective_date",
"sender",
"marketplace_purchase"
],
"properties": {
"action": {
"enum": [
"pending_change_cancelled"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"effective_date": {
"type": "string"
},
"marketplace_purchase": {
"type": "object",
"title": "Marketplace Purchase",
"required": [
"account",
"billing_cycle",
"free_trial_ends_on",
"next_billing_date",
"on_free_trial",
"plan",
"unit_count"
],
"properties": {
"plan": {
"type": "object",
"required": [
"id",
"name",
"description",
"monthly_price_in_cents",
"yearly_price_in_cents",
"price_model",
"has_free_trial",
"unit_name",
"bullets"
],
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"bullets": {
"type": "array",
"items": {
"type": "string"
}
},
"unit_name": {
"type": "string",
"nullable": true
},
"description": {
"type": "string"
},
"price_model": {
"enum": [
"FREE",
"FLAT_RATE",
"PER_UNIT"
],
"type": "string"
},
"has_free_trial": {
"type": "boolean"
},
"yearly_price_in_cents": {
"type": "integer"
},
"monthly_price_in_cents": {
"type": "integer"
}
}
},
"account": {
"type": "object",
"required": [
"type",
"id",
"node_id",
"login",
"organization_billing_email"
],
"properties": {
"id": {
"type": "integer"
},
"type": {
"type": "string"
},
"login": {
"type": "string"
},
"node_id": {
"type": "string"
},
"organization_billing_email": {
"type": "string",
"nullable": true
}
}
},
"unit_count": {
"type": "integer"
},
"billing_cycle": {
"type": "string"
},
"on_free_trial": {
"type": "boolean"
},
"next_billing_date": {
"type": "string",
"nullable": true
},
"free_trial_ends_on": {
"nullable": true
}
}
},
"previous_marketplace_purchase": {
"$ref": "#/components/schemas/webhooks_previous_marketplace_purchase"
}
}
}
webhook-marketplace-purchase-purchased
{
"type": "object",
"title": "marketplace_purchase purchased event",
"required": [
"action",
"effective_date",
"sender",
"marketplace_purchase"
],
"properties": {
"action": {
"enum": [
"purchased"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"effective_date": {
"type": "string"
},
"marketplace_purchase": {
"$ref": "#/components/schemas/webhooks_marketplace_purchase"
},
"previous_marketplace_purchase": {
"$ref": "#/components/schemas/webhooks_previous_marketplace_purchase"
}
}
}
webhook-member-added
{
"type": "object",
"title": "member added event",
"required": [
"action",
"member",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"added"
],
"type": "string"
},
"member": {
"$ref": "#/components/schemas/webhooks_user"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"changes": {
"type": "object",
"properties": {
"role_name": {
"type": "object",
"required": [
"to"
],
"properties": {
"to": {
"type": "string"
}
},
"description": "The role assigned to the collaborator."
},
"permission": {
"type": "object",
"required": [
"to"
],
"properties": {
"to": {
"enum": [
"write",
"admin",
"read"
],
"type": "string"
}
},
"description": "This field is included for legacy purposes; use the `role_name` field instead. The `maintain`\nrole is mapped to `write` and the `triage` role is mapped to `read`. To determine the role\nassigned to the collaborator, use the `role_name` field instead, which will provide the full\nrole name, including custom roles."
}
}
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-member-edited
{
"type": "object",
"title": "member edited event",
"required": [
"action",
"changes",
"member",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"edited"
],
"type": "string"
},
"member": {
"$ref": "#/components/schemas/webhooks_user"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"changes": {
"type": "object",
"properties": {
"permission": {
"type": "object",
"properties": {
"to": {
"type": "string",
"nullable": true
},
"from": {
"type": "string",
"nullable": true
}
}
},
"old_permission": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"type": "string",
"description": "The previous permissions of the collaborator if the action was edited."
}
}
}
},
"description": "The changes to the collaborator permissions"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-member-removed
{
"type": "object",
"title": "member removed event",
"required": [
"action",
"member",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"removed"
],
"type": "string"
},
"member": {
"$ref": "#/components/schemas/webhooks_user"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-membership-added
{
"type": "object",
"title": "membership added event",
"required": [
"action",
"scope",
"member",
"sender",
"team",
"organization"
],
"properties": {
"team": {
"$ref": "#/components/schemas/webhooks_team"
},
"scope": {
"enum": [
"team"
],
"type": "string",
"description": "The scope of the membership. Currently, can only be `team`."
},
"action": {
"enum": [
"added"
],
"type": "string"
},
"member": {
"$ref": "#/components/schemas/webhooks_user"
},
"sender": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-membership-removed
{
"type": "object",
"title": "membership removed event",
"required": [
"action",
"scope",
"member",
"sender",
"team",
"organization"
],
"properties": {
"team": {
"$ref": "#/components/schemas/webhooks_team"
},
"scope": {
"enum": [
"team",
"organization"
],
"type": "string",
"description": "The scope of the membership. Currently, can only be `team`."
},
"action": {
"enum": [
"removed"
],
"type": "string"
},
"member": {
"$ref": "#/components/schemas/webhooks_user"
},
"sender": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-merge-group-checks-requested
{
"type": "object",
"required": [
"action",
"merge_group"
],
"properties": {
"action": {
"enum": [
"checks_requested"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"merge_group": {
"$ref": "#/components/schemas/merge-group"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-merge-group-destroyed
{
"type": "object",
"required": [
"action",
"merge_group"
],
"properties": {
"action": {
"enum": [
"destroyed"
],
"type": "string"
},
"reason": {
"enum": [
"merged",
"invalidated",
"dequeued"
],
"type": "string",
"description": "Explains why the merge group is being destroyed. The group could have been merged, removed from the queue (dequeued), or invalidated by an earlier queue entry being dequeued (invalidated)."
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"merge_group": {
"$ref": "#/components/schemas/merge-group"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-meta-deleted
{
"type": "object",
"title": "meta deleted event",
"required": [
"action",
"hook_id",
"hook"
],
"properties": {
"hook": {
"type": "object",
"required": [
"type",
"id",
"name",
"active",
"events",
"config",
"updated_at",
"created_at"
],
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"type": {
"type": "string"
},
"active": {
"type": "boolean"
},
"config": {
"type": "object",
"required": [
"content_type",
"insecure_ssl",
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"secret": {
"type": "string"
},
"content_type": {
"enum": [
"json",
"form"
],
"type": "string"
},
"insecure_ssl": {
"type": "string"
}
}
},
"events": {
"type": "array",
"items": {
"enum": [
"*",
"branch_protection_rule",
"check_run",
"check_suite",
"code_scanning_alert",
"commit_comment",
"create",
"delete",
"deployment",
"deployment_status",
"deploy_key",
"discussion",
"discussion_comment",
"fork",
"gollum",
"issues",
"issue_comment",
"label",
"member",
"membership",
"meta",
"milestone",
"organization",
"org_block",
"package",
"page_build",
"project",
"project_card",
"project_column",
"public",
"pull_request",
"pull_request_review",
"pull_request_review_comment",
"pull_request_review_thread",
"push",
"registry_package",
"release",
"repository",
"repository_import",
"repository_vulnerability_alert",
"secret_scanning_alert",
"secret_scanning_alert_location",
"security_and_analysis",
"star",
"status",
"team",
"team_add",
"watch",
"workflow_job",
"workflow_run",
"repository_dispatch",
"projects_v2_item"
],
"type": "string",
"minItems": 1
},
"description": ""
},
"created_at": {
"type": "string"
},
"updated_at": {
"type": "string"
}
},
"description": "The deleted webhook. This will contain different keys based on the type of webhook it is: repository, organization, business, app, or GitHub Marketplace."
},
"action": {
"enum": [
"deleted"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"hook_id": {
"type": "integer",
"description": "The id of the modified webhook."
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/nullable-repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-milestone-closed
{
"type": "object",
"title": "milestone closed event",
"required": [
"action",
"milestone",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"closed"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"milestone": {
"$ref": "#/components/schemas/webhooks_milestone"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-milestone-created
{
"type": "object",
"title": "milestone created event",
"required": [
"action",
"milestone",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"created"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"milestone": {
"$ref": "#/components/schemas/webhooks_milestone_3"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-milestone-deleted
{
"type": "object",
"title": "milestone deleted event",
"required": [
"action",
"milestone",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"deleted"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"milestone": {
"$ref": "#/components/schemas/webhooks_milestone"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-milestone-edited
{
"type": "object",
"title": "milestone edited event",
"required": [
"action",
"changes",
"milestone",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"edited"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"changes": {
"type": "object",
"properties": {
"title": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"type": "string",
"description": "The previous version of the title if the action was `edited`."
}
}
},
"due_on": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"type": "string",
"description": "The previous version of the due date if the action was `edited`."
}
}
},
"description": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"type": "string",
"description": "The previous version of the description if the action was `edited`."
}
}
}
},
"description": "The changes to the milestone if the action was `edited`."
},
"milestone": {
"$ref": "#/components/schemas/webhooks_milestone"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-milestone-opened
{
"type": "object",
"title": "milestone opened event",
"required": [
"action",
"milestone",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"opened"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"milestone": {
"$ref": "#/components/schemas/webhooks_milestone_3"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-org-block-blocked
{
"type": "object",
"title": "org_block blocked event",
"required": [
"action",
"blocked_user",
"organization",
"sender"
],
"properties": {
"action": {
"enum": [
"blocked"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"blocked_user": {
"$ref": "#/components/schemas/webhooks_user"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-org-block-unblocked
{
"type": "object",
"title": "org_block unblocked event",
"required": [
"action",
"blocked_user",
"organization",
"sender"
],
"properties": {
"action": {
"enum": [
"unblocked"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"blocked_user": {
"$ref": "#/components/schemas/webhooks_user"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-organization-deleted
{
"type": "object",
"title": "organization deleted event",
"required": [
"action",
"organization",
"sender"
],
"properties": {
"action": {
"enum": [
"deleted"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"membership": {
"$ref": "#/components/schemas/webhooks_membership"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-organization-member-added
{
"type": "object",
"title": "organization member_added event",
"required": [
"action",
"membership",
"organization",
"sender"
],
"properties": {
"action": {
"enum": [
"member_added"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"membership": {
"$ref": "#/components/schemas/webhooks_membership"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-organization-member-invited
{
"type": "object",
"title": "organization member_invited event",
"required": [
"action",
"invitation",
"organization",
"sender"
],
"properties": {
"user": {
"$ref": "#/components/schemas/webhooks_user"
},
"action": {
"enum": [
"member_invited"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"invitation": {
"type": "object",
"required": [
"id",
"node_id",
"login",
"email",
"role",
"created_at",
"failed_at",
"failed_reason",
"inviter",
"team_count",
"invitation_teams_url"
],
"properties": {
"id": {
"type": "number"
},
"role": {
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string",
"nullable": true
},
"inviter": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"failed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"team_count": {
"type": "number"
},
"failed_reason": {
"type": "string",
"nullable": true
},
"invitation_source": {
"type": "string"
},
"invitation_teams_url": {
"type": "string",
"format": "uri"
}
},
"description": "The invitation for the user or email if the action is `member_invited`."
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-organization-member-removed
{
"type": "object",
"title": "organization member_removed event",
"required": [
"action",
"membership",
"organization",
"sender"
],
"properties": {
"action": {
"enum": [
"member_removed"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"membership": {
"$ref": "#/components/schemas/webhooks_membership"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-organization-renamed
{
"type": "object",
"title": "organization renamed event",
"required": [
"action",
"organization",
"sender"
],
"properties": {
"action": {
"enum": [
"renamed"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"changes": {
"type": "object",
"properties": {
"login": {
"type": "object",
"properties": {
"from": {
"type": "string"
}
}
}
}
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"membership": {
"$ref": "#/components/schemas/webhooks_membership"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-package-published
{
"type": "object",
"title": "package published event",
"required": [
"action",
"package",
"sender"
],
"properties": {
"action": {
"enum": [
"published"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"package": {
"type": "object",
"required": [
"id",
"name",
"namespace",
"description",
"ecosystem",
"package_type",
"html_url",
"created_at",
"updated_at",
"owner",
"package_version",
"registry"
],
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"html_url": {
"type": "string",
"format": "uri"
},
"registry": {
"type": "object",
"nullable": true,
"required": [
"about_url",
"name",
"type",
"url",
"vendor"
],
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"type": "string"
},
"vendor": {
"type": "string"
},
"about_url": {
"type": "string",
"format": "uri"
}
}
},
"ecosystem": {
"type": "string"
},
"namespace": {
"type": "string"
},
"created_at": {
"type": "string",
"nullable": true
},
"updated_at": {
"type": "string",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"package_type": {
"type": "string"
},
"package_version": {
"type": "object",
"nullable": true,
"required": [
"id",
"version",
"summary",
"name",
"description",
"html_url",
"metadata",
"package_files",
"installation_command"
],
"properties": {
"id": {
"type": "integer"
},
"body": {
"oneOf": [
{
"type": "string"
},
{
"type": "object"
}
]
},
"name": {
"type": "string"
},
"draft": {
"type": "boolean"
},
"author": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"release": {
"type": "object",
"required": [
"url",
"html_url",
"id",
"tag_name",
"target_commitish",
"name",
"draft",
"author",
"prerelease",
"created_at",
"published_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string",
"nullable": true
},
"draft": {
"type": "boolean"
},
"author": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"html_url": {
"type": "string",
"format": "uri"
},
"tag_name": {
"type": "string"
},
"created_at": {
"type": "string"
},
"prerelease": {
"type": "boolean"
},
"published_at": {
"type": "string"
},
"target_commitish": {
"type": "string"
}
}
},
"summary": {
"type": "string"
},
"version": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"manifest": {
"type": "string"
},
"metadata": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"tag_name": {
"type": "string"
},
"body_html": {
"type": "string"
},
"created_at": {
"type": "string"
},
"prerelease": {
"type": "boolean"
},
"source_url": {
"type": "string"
},
"target_oid": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"description": {
"type": "string"
},
"package_url": {
"type": "string"
},
"npm_metadata": {
"type": "object",
"nullable": true,
"properties": {
"id": {
"type": "string"
},
"os": {
"type": "array",
"items": {
"type": "string"
}
},
"bin": {
"type": "object"
},
"cpu": {
"type": "array",
"items": {
"type": "string"
}
},
"man": {
"type": "object"
},
"bugs": {
"type": "object",
"nullable": true
},
"dist": {
"type": "object",
"nullable": true
},
"main": {
"type": "string"
},
"name": {
"type": "string"
},
"files": {
"type": "array",
"items": {
"type": "string"
}
},
"author": {
"type": "object",
"nullable": true
},
"readme": {
"type": "string"
},
"engines": {
"type": "object"
},
"license": {
"type": "string"
},
"scripts": {
"type": "object"
},
"version": {
"type": "string"
},
"git_head": {
"type": "string"
},
"homepage": {
"type": "string"
},
"keywords": {
"type": "array",
"items": {
"type": "string"
}
},
"npm_user": {
"type": "string"
},
"commit_oid": {
"type": "string"
},
"release_id": {
"type": "integer"
},
"repository": {
"type": "object",
"nullable": true
},
"description": {
"type": "string"
},
"directories": {
"type": "object",
"nullable": true
},
"maintainers": {
"type": "array",
"items": {
"type": "object"
}
},
"npm_version": {
"type": "string"
},
"contributors": {
"type": "array",
"items": {
"type": "object"
}
},
"dependencies": {
"type": "object"
},
"node_version": {
"type": "string"
},
"deleted_by_id": {
"type": "integer"
},
"has_shrinkwrap": {
"type": "boolean"
},
"dev_dependencies": {
"type": "object"
},
"peer_dependencies": {
"type": "object"
},
"installation_command": {
"type": "string"
},
"optional_dependencies": {
"type": "object"
},
"published_via_actions": {
"type": "boolean"
}
}
},
"package_files": {
"type": "array",
"items": {
"type": "object",
"required": [
"download_url",
"id",
"name",
"sha256",
"sha1",
"md5",
"content_type",
"state",
"size",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer"
},
"md5": {
"type": "string",
"nullable": true
},
"name": {
"type": "string"
},
"sha1": {
"type": "string",
"nullable": true
},
"size": {
"type": "integer"
},
"state": {
"type": "string",
"nullable": true
},
"sha256": {
"type": "string",
"nullable": true
},
"created_at": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"content_type": {
"type": "string"
},
"download_url": {
"type": "string",
"format": "uri"
}
}
}
},
"nuget_metadata": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string"
}
]
},
"name": {
"type": "string"
},
"value": {
"oneOf": [
{
"type": "boolean"
},
{
"type": "string"
},
{
"type": "integer"
},
{
"type": "object",
"properties": {
"url": {
"type": "string"
},
"type": {
"type": "string"
},
"branch": {
"type": "string"
},
"commit": {
"type": "string"
}
}
}
]
}
}
},
"nullable": true
},
"docker_metadata": {
"type": "array",
"items": {
"type": "object",
"properties": {
"tags": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"target_commitish": {
"type": "string"
},
"rubygems_metadata": {
"type": "array",
"items": {
"$ref": "#/components/schemas/webhook-rubygems-metadata"
}
},
"container_metadata": {
"type": "object",
"nullable": true,
"properties": {
"tag": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"digest": {
"type": "string"
}
}
},
"labels": {
"type": "object",
"nullable": true
},
"manifest": {
"type": "object",
"nullable": true
}
}
},
"installation_command": {
"type": "string"
}
}
}
},
"description": "Information about the package."
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-package-updated
{
"type": "object",
"title": "package updated event",
"required": [
"action",
"package",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"updated"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"package": {
"type": "object",
"required": [
"id",
"name",
"namespace",
"description",
"ecosystem",
"package_type",
"html_url",
"created_at",
"updated_at",
"owner",
"package_version",
"registry"
],
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"html_url": {
"type": "string",
"format": "uri"
},
"registry": {
"type": "object",
"nullable": true,
"required": [
"about_url",
"name",
"type",
"url",
"vendor"
],
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"type": "string"
},
"vendor": {
"type": "string"
},
"about_url": {
"type": "string",
"format": "uri"
}
}
},
"ecosystem": {
"type": "string"
},
"namespace": {
"type": "string"
},
"created_at": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
},
"package_type": {
"type": "string"
},
"package_version": {
"type": "object",
"required": [
"id",
"version",
"summary",
"name",
"description",
"body",
"body_html",
"html_url",
"target_commitish",
"target_oid",
"created_at",
"updated_at",
"metadata",
"package_files",
"author",
"installation_command"
],
"properties": {
"id": {
"type": "integer"
},
"body": {
"type": "string"
},
"name": {
"type": "string"
},
"draft": {
"type": "boolean"
},
"author": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"release": {
"type": "object",
"required": [
"url",
"html_url",
"id",
"tag_name",
"target_commitish",
"name",
"draft",
"author",
"prerelease",
"created_at",
"published_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"draft": {
"type": "boolean"
},
"author": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"html_url": {
"type": "string",
"format": "uri"
},
"tag_name": {
"type": "string"
},
"created_at": {
"type": "string"
},
"prerelease": {
"type": "boolean"
},
"published_at": {
"type": "string"
},
"target_commitish": {
"type": "string"
}
}
},
"summary": {
"type": "string"
},
"version": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"manifest": {
"type": "string"
},
"metadata": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"tag_name": {
"type": "string"
},
"body_html": {
"type": "string"
},
"created_at": {
"type": "string"
},
"prerelease": {
"type": "boolean"
},
"source_url": {
"type": "string",
"format": "uri"
},
"target_oid": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"description": {
"type": "string"
},
"package_url": {
"type": "string"
},
"package_files": {
"type": "array",
"items": {
"type": "object",
"required": [
"download_url",
"id",
"name",
"sha256",
"sha1",
"md5",
"content_type",
"state",
"size",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer"
},
"md5": {
"type": "string",
"nullable": true
},
"name": {
"type": "string"
},
"sha1": {
"type": "string",
"nullable": true
},
"size": {
"type": "integer"
},
"state": {
"type": "string"
},
"sha256": {
"type": "string"
},
"created_at": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"content_type": {
"type": "string"
},
"download_url": {
"type": "string",
"format": "uri"
}
}
}
},
"docker_metadata": {
"type": "array",
"items": {
"type": "object",
"properties": {
"tags": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"target_commitish": {
"type": "string"
},
"rubygems_metadata": {
"type": "array",
"items": {
"$ref": "#/components/schemas/webhook-rubygems-metadata"
}
},
"installation_command": {
"type": "string"
}
}
}
},
"description": "Information about the package."
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-page-build
{
"type": "object",
"title": "page_build event",
"required": [
"id",
"build",
"repository",
"sender"
],
"properties": {
"id": {
"type": "integer"
},
"build": {
"type": "object",
"required": [
"url",
"status",
"error",
"pusher",
"commit",
"duration",
"created_at",
"updated_at"
],
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"error": {
"type": "object",
"required": [
"message"
],
"properties": {
"message": {
"type": "string",
"nullable": true
}
}
},
"commit": {
"type": "string",
"nullable": true
},
"pusher": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"status": {
"type": "string"
},
"duration": {
"type": "integer"
},
"created_at": {
"type": "string"
},
"updated_at": {
"type": "string"
}
},
"description": "The [List GitHub Pages builds](https://docs.github.com/rest/pages/pages#list-github-pages-builds) itself."
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-personal-access-token-request-approved
{
"type": "object",
"title": "personal_access_token_request approved event",
"required": [
"action",
"personal_access_token_request",
"organization",
"sender",
"installation"
],
"properties": {
"action": {
"enum": [
"approved"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"personal_access_token_request": {
"$ref": "#/components/schemas/personal-access-token-request"
}
}
}
webhook-personal-access-token-request-cancelled
{
"type": "object",
"title": "personal_access_token_request cancelled event",
"required": [
"action",
"personal_access_token_request",
"organization",
"sender",
"installation"
],
"properties": {
"action": {
"enum": [
"cancelled"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"personal_access_token_request": {
"$ref": "#/components/schemas/personal-access-token-request"
}
}
}
webhook-personal-access-token-request-created
{
"type": "object",
"title": "personal_access_token_request created event",
"required": [
"action",
"personal_access_token_request",
"organization",
"sender"
],
"properties": {
"action": {
"enum": [
"created"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"personal_access_token_request": {
"$ref": "#/components/schemas/personal-access-token-request"
}
}
}
webhook-personal-access-token-request-denied
{
"type": "object",
"title": "personal_access_token_request denied event",
"required": [
"action",
"personal_access_token_request",
"organization",
"sender",
"installation"
],
"properties": {
"action": {
"enum": [
"denied"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"personal_access_token_request": {
"$ref": "#/components/schemas/personal-access-token-request"
}
}
}
webhook-ping
{
"type": "object",
"properties": {
"zen": {
"type": "string",
"description": "Random string of GitHub zen."
},
"hook": {
"type": "object",
"title": "Webhook",
"required": [
"id",
"type",
"name",
"active",
"events",
"config",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the webhook."
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"enum": [
"web"
],
"type": "string",
"description": "The type of webhook. The only valid value is 'web'."
},
"type": {
"type": "string"
},
"active": {
"type": "boolean",
"description": "Determines whether the hook is actually triggered for the events it subscribes to."
},
"app_id": {
"type": "integer",
"description": "Only included for GitHub Apps. When you register a new GitHub App, GitHub sends a ping event to the webhook URL you specified during registration. The GitHub App ID sent in this field is required for authenticating an app."
},
"config": {
"type": "object",
"properties": {
"url": {
"$ref": "#/components/schemas/webhook-config-url"
},
"secret": {
"$ref": "#/components/schemas/webhook-config-secret"
},
"content_type": {
"$ref": "#/components/schemas/webhook-config-content-type"
},
"insecure_ssl": {
"$ref": "#/components/schemas/webhook-config-insecure-ssl"
}
}
},
"events": {
"type": "array",
"items": {
"type": "string"
},
"description": "Determines what events the hook is triggered for. Default: ['push']."
},
"ping_url": {
"type": "string",
"format": "uri"
},
"test_url": {
"type": "string",
"format": "uri"
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"last_response": {
"$ref": "#/components/schemas/hook-response"
},
"deliveries_url": {
"type": "string",
"format": "uri"
}
},
"description": "The webhook that is being pinged"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"hook_id": {
"type": "integer",
"description": "The ID of the webhook that triggered the ping."
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-ping-form-encoded
{
"type": "object",
"required": [
"payload"
],
"properties": {
"payload": {
"type": "string",
"description": "A URL-encoded string of the ping JSON payload. The decoded payload is a JSON object."
}
},
"description": "The webhooks ping payload encoded with URL encoding."
}
webhook-project-card-converted
{
"type": "object",
"title": "project_card converted event",
"required": [
"action",
"changes",
"project_card",
"sender"
],
"properties": {
"action": {
"enum": [
"converted"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"changes": {
"type": "object",
"required": [
"note"
],
"properties": {
"note": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"type": "string"
}
}
}
}
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"project_card": {
"$ref": "#/components/schemas/webhooks_project_card"
}
}
}
webhook-project-card-created
{
"type": "object",
"title": "project_card created event",
"required": [
"action",
"project_card",
"sender"
],
"properties": {
"action": {
"enum": [
"created"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"project_card": {
"$ref": "#/components/schemas/webhooks_project_card"
}
}
}
webhook-project-card-deleted
{
"type": "object",
"title": "project_card deleted event",
"required": [
"action",
"project_card",
"sender"
],
"properties": {
"action": {
"enum": [
"deleted"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/nullable-repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"project_card": {
"type": "object",
"title": "Project Card",
"required": [
"url",
"project_url",
"column_url",
"column_id",
"id",
"node_id",
"note",
"archived",
"creator",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"description": "The project card's ID"
},
"url": {
"type": "string",
"format": "uri"
},
"note": {
"type": "string",
"nullable": true
},
"creator": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"after_id": {
"type": "integer",
"nullable": true
},
"archived": {
"type": "boolean",
"description": "Whether or not the card is archived"
},
"column_id": {
"type": "integer",
"nullable": true
},
"column_url": {
"type": "string",
"format": "uri"
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"content_url": {
"type": "string",
"format": "uri"
},
"project_url": {
"type": "string",
"format": "uri"
}
}
}
}
}
webhook-project-card-edited
{
"type": "object",
"title": "project_card edited event",
"required": [
"action",
"changes",
"project_card",
"sender"
],
"properties": {
"action": {
"enum": [
"edited"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"changes": {
"type": "object",
"required": [
"note"
],
"properties": {
"note": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"type": "string",
"nullable": true
}
}
}
}
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"project_card": {
"$ref": "#/components/schemas/webhooks_project_card"
}
}
}
webhook-project-card-moved
{
"type": "object",
"title": "project_card moved event",
"required": [
"action",
"project_card",
"sender"
],
"properties": {
"action": {
"enum": [
"moved"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"changes": {
"type": "object",
"required": [
"column_id"
],
"properties": {
"column_id": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"type": "integer"
}
}
}
}
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"project_card": {
"allOf": [
{
"type": "object",
"title": "Project Card",
"required": [
"url",
"project_url",
"column_url",
"column_id",
"id",
"node_id",
"note",
"archived",
"creator",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"description": "The project card's ID"
},
"url": {
"type": "string",
"format": "uri"
},
"note": {
"type": "string",
"nullable": true
},
"creator": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"after_id": {
"type": "integer",
"nullable": true
},
"archived": {
"type": "boolean",
"description": "Whether or not the card is archived"
},
"column_id": {
"type": "integer"
},
"column_url": {
"type": "string",
"format": "uri"
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"content_url": {
"type": "string",
"format": "uri"
},
"project_url": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"after_id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"note": {
"type": "string",
"nullable": true
},
"creator": {
"type": "object",
"nullable": true,
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"type": {
"type": "string"
},
"login": {
"type": "string"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string"
},
"gists_url": {
"type": "string"
},
"repos_url": {
"type": "string"
},
"avatar_url": {
"type": "string"
},
"events_url": {
"type": "string"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string"
},
"followers_url": {
"type": "string"
},
"following_url": {
"type": "string"
},
"organizations_url": {
"type": "string"
},
"subscriptions_url": {
"type": "string"
},
"received_events_url": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"after_id": {
"type": "number",
"nullable": true
},
"archived": {
"type": "boolean"
},
"column_id": {
"type": "integer"
},
"column_url": {
"type": "string"
},
"created_at": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"project_url": {
"type": "string"
}
}
}
]
}
}
}
webhook-project-closed
{
"type": "object",
"title": "project closed event",
"required": [
"action",
"project",
"sender"
],
"properties": {
"action": {
"enum": [
"closed"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"project": {
"$ref": "#/components/schemas/webhooks_project"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-project-column-created
{
"type": "object",
"title": "project_column created event",
"required": [
"action",
"project_column"
],
"properties": {
"action": {
"enum": [
"created"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"project_column": {
"$ref": "#/components/schemas/webhooks_project_column"
}
}
}
webhook-project-column-deleted
{
"type": "object",
"title": "project_column deleted event",
"required": [
"action",
"project_column"
],
"properties": {
"action": {
"enum": [
"deleted"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/nullable-repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"project_column": {
"$ref": "#/components/schemas/webhooks_project_column"
}
}
}
webhook-project-column-edited
{
"type": "object",
"title": "project_column edited event",
"required": [
"action",
"changes",
"project_column"
],
"properties": {
"action": {
"enum": [
"edited"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"changes": {
"type": "object",
"properties": {
"name": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"type": "string"
}
}
}
}
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"project_column": {
"$ref": "#/components/schemas/webhooks_project_column"
}
}
}
webhook-project-column-moved
{
"type": "object",
"title": "project_column moved event",
"required": [
"action",
"project_column",
"sender"
],
"properties": {
"action": {
"enum": [
"moved"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"project_column": {
"$ref": "#/components/schemas/webhooks_project_column"
}
}
}
webhook-project-created
{
"type": "object",
"title": "project created event",
"required": [
"action",
"project",
"sender"
],
"properties": {
"action": {
"enum": [
"created"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"project": {
"$ref": "#/components/schemas/webhooks_project"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-project-deleted
{
"type": "object",
"title": "project deleted event",
"required": [
"action",
"project"
],
"properties": {
"action": {
"enum": [
"deleted"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"project": {
"$ref": "#/components/schemas/webhooks_project"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/nullable-repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-project-edited
{
"type": "object",
"title": "project edited event",
"required": [
"action",
"project"
],
"properties": {
"action": {
"enum": [
"edited"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"changes": {
"type": "object",
"properties": {
"body": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"type": "string",
"description": "The previous version of the body if the action was `edited`."
}
}
},
"name": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"type": "string",
"description": "The changes to the project if the action was `edited`."
}
}
}
},
"description": "The changes to the project if the action was `edited`."
},
"project": {
"$ref": "#/components/schemas/webhooks_project"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-project-reopened
{
"type": "object",
"title": "project reopened event",
"required": [
"action",
"project",
"sender"
],
"properties": {
"action": {
"enum": [
"reopened"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"project": {
"$ref": "#/components/schemas/webhooks_project"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-projects-v2-item-archived
{
"type": "object",
"title": "Projects v2 Item Archived Event",
"required": [
"action",
"projects_v2_item",
"organization",
"sender",
"changes"
],
"properties": {
"action": {
"enum": [
"archived"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"changes": {
"$ref": "#/components/schemas/webhooks_project_changes"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"projects_v2_item": {
"$ref": "#/components/schemas/projects-v2-item"
}
}
}
webhook-projects-v2-item-converted
{
"type": "object",
"title": "Projects v2 Item Converted Event",
"required": [
"action",
"projects_v2_item",
"organization",
"sender",
"changes"
],
"properties": {
"action": {
"enum": [
"converted"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"changes": {
"type": "object",
"properties": {
"content_type": {
"type": "object",
"properties": {
"to": {
"type": "string"
},
"from": {
"type": "string",
"nullable": true
}
}
}
}
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"projects_v2_item": {
"$ref": "#/components/schemas/projects-v2-item"
}
}
}
webhook-projects-v2-item-created
{
"type": "object",
"title": "Projects v2 Item Created Event",
"required": [
"action",
"projects_v2_item",
"organization",
"sender"
],
"properties": {
"action": {
"enum": [
"created"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"projects_v2_item": {
"$ref": "#/components/schemas/projects-v2-item"
}
}
}
webhook-projects-v2-item-deleted
{
"type": "object",
"title": "Projects v2 Item Deleted Event",
"required": [
"action",
"projects_v2_item",
"organization",
"sender"
],
"properties": {
"action": {
"enum": [
"deleted"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"projects_v2_item": {
"$ref": "#/components/schemas/projects-v2-item"
}
}
}
webhook-projects-v2-item-edited
{
"type": "object",
"title": "Projects v2 Item Edited Event",
"required": [
"action",
"projects_v2_item",
"organization",
"sender"
],
"properties": {
"action": {
"enum": [
"edited"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"changes": {
"oneOf": [
{
"type": "object",
"required": [
"field_value"
],
"properties": {
"field_value": {
"type": "object",
"properties": {
"to": {
"oneOf": [
{
"type": "string"
},
{
"type": "integer"
},
{
"$ref": "#/components/schemas/projects-v2-single-select-option"
},
{
"$ref": "#/components/schemas/projects-v2-iteration-setting"
}
],
"nullable": true
},
"from": {
"oneOf": [
{
"type": "string"
},
{
"type": "integer"
},
{
"$ref": "#/components/schemas/projects-v2-single-select-option"
},
{
"$ref": "#/components/schemas/projects-v2-iteration-setting"
}
],
"nullable": true
},
"field_name": {
"type": "string"
},
"field_type": {
"type": "string"
},
"field_node_id": {
"type": "string"
},
"project_number": {
"type": "integer"
}
}
}
}
},
{
"type": "object",
"required": [
"body"
],
"properties": {
"body": {
"type": "object",
"properties": {
"to": {
"type": "string",
"nullable": true
},
"from": {
"type": "string",
"nullable": true
}
}
}
}
}
],
"description": "The changes made to the item may involve modifications in the item's fields and draft issue body.\nIt includes altered values for text, number, date, single select, and iteration fields, along with the GraphQL node ID of the changed field."
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"projects_v2_item": {
"$ref": "#/components/schemas/projects-v2-item"
}
}
}
webhook-projects-v2-item-reordered
{
"type": "object",
"title": "Projects v2 Item Reordered Event",
"required": [
"action",
"projects_v2_item",
"organization",
"sender",
"changes"
],
"properties": {
"action": {
"enum": [
"reordered"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"changes": {
"type": "object",
"properties": {
"previous_projects_v2_item_node_id": {
"type": "object",
"properties": {
"to": {
"type": "string",
"nullable": true
},
"from": {
"type": "string",
"nullable": true
}
}
}
}
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"projects_v2_item": {
"$ref": "#/components/schemas/projects-v2-item"
}
}
}
webhook-projects-v2-item-restored
{
"type": "object",
"title": "Projects v2 Item Restored Event",
"required": [
"action",
"projects_v2_item",
"organization",
"sender",
"changes"
],
"properties": {
"action": {
"enum": [
"restored"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"changes": {
"$ref": "#/components/schemas/webhooks_project_changes"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"projects_v2_item": {
"$ref": "#/components/schemas/projects-v2-item"
}
}
}
webhook-projects-v2-project-closed
{
"type": "object",
"title": "Projects v2 Project Closed Event",
"required": [
"action",
"projects_v2",
"organization",
"sender"
],
"properties": {
"action": {
"enum": [
"closed"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"projects_v2": {
"$ref": "#/components/schemas/projects-v2"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-projects-v2-project-created
{
"type": "object",
"required": [
"action",
"projects_v2",
"organization",
"sender"
],
"properties": {
"action": {
"enum": [
"created"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"projects_v2": {
"$ref": "#/components/schemas/projects-v2"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
},
"description": "A project was created"
}
webhook-projects-v2-project-deleted
{
"type": "object",
"title": "Projects v2 Project Deleted Event",
"required": [
"action",
"projects_v2",
"organization",
"sender"
],
"properties": {
"action": {
"enum": [
"deleted"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"projects_v2": {
"$ref": "#/components/schemas/projects-v2"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-projects-v2-project-edited
{
"type": "object",
"title": "Projects v2 Project Edited Event",
"required": [
"action",
"projects_v2",
"organization",
"sender",
"changes"
],
"properties": {
"action": {
"enum": [
"edited"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"changes": {
"type": "object",
"properties": {
"title": {
"type": "object",
"properties": {
"to": {
"type": "string"
},
"from": {
"type": "string"
}
}
},
"public": {
"type": "object",
"properties": {
"to": {
"type": "boolean"
},
"from": {
"type": "boolean"
}
}
},
"description": {
"type": "object",
"properties": {
"to": {
"type": "string",
"nullable": true
},
"from": {
"type": "string",
"nullable": true
}
}
},
"short_description": {
"type": "object",
"properties": {
"to": {
"type": "string",
"nullable": true
},
"from": {
"type": "string",
"nullable": true
}
}
}
}
},
"projects_v2": {
"$ref": "#/components/schemas/projects-v2"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-projects-v2-project-reopened
{
"type": "object",
"title": "Projects v2 Project Reopened Event",
"required": [
"action",
"projects_v2",
"organization",
"sender"
],
"properties": {
"action": {
"enum": [
"reopened"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"projects_v2": {
"$ref": "#/components/schemas/projects-v2"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-projects-v2-status-update-created
{
"type": "object",
"title": "Projects v2 Status Update Created Event",
"required": [
"action",
"projects_v2_status_update",
"organization",
"sender"
],
"properties": {
"action": {
"enum": [
"created"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"projects_v2_status_update": {
"$ref": "#/components/schemas/projects-v2-status-update"
}
}
}
webhook-projects-v2-status-update-deleted
{
"type": "object",
"title": "Projects v2 Status Update Deleted Event",
"required": [
"action",
"projects_v2_status_update",
"organization",
"sender"
],
"properties": {
"action": {
"enum": [
"deleted"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"projects_v2_status_update": {
"$ref": "#/components/schemas/projects-v2-status-update"
}
}
}
webhook-projects-v2-status-update-edited
{
"type": "object",
"title": "Projects v2 Status Update Edited Event",
"required": [
"action",
"projects_v2_status_update",
"organization",
"sender"
],
"properties": {
"action": {
"enum": [
"edited"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"changes": {
"type": "object",
"properties": {
"body": {
"type": "object",
"properties": {
"to": {
"type": "string",
"nullable": true
},
"from": {
"type": "string",
"nullable": true
}
}
},
"status": {
"type": "object",
"properties": {
"to": {
"enum": [
"INACTIVE",
"ON_TRACK",
"AT_RISK",
"OFF_TRACK",
"COMPLETE"
],
"type": "string",
"nullable": true
},
"from": {
"enum": [
"INACTIVE",
"ON_TRACK",
"AT_RISK",
"OFF_TRACK",
"COMPLETE"
],
"type": "string",
"nullable": true
}
}
},
"start_date": {
"type": "object",
"properties": {
"to": {
"type": "string",
"format": "date",
"nullable": true
},
"from": {
"type": "string",
"format": "date",
"nullable": true
}
}
},
"target_date": {
"type": "object",
"properties": {
"to": {
"type": "string",
"format": "date",
"nullable": true
},
"from": {
"type": "string",
"format": "date",
"nullable": true
}
}
}
}
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"projects_v2_status_update": {
"$ref": "#/components/schemas/projects-v2-status-update"
}
}
}
webhook-public
{
"type": "object",
"title": "public event",
"required": [
"repository",
"sender"
],
"properties": {
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-pull-request-assigned
{
"type": "object",
"title": "pull_request assigned event",
"required": [
"action",
"number",
"pull_request",
"assignee",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"assigned"
],
"type": "string"
},
"number": {
"$ref": "#/components/schemas/webhooks_number"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"assignee": {
"$ref": "#/components/schemas/webhooks_user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"pull_request": {
"type": "object",
"title": "Pull Request",
"required": [
"url",
"id",
"node_id",
"html_url",
"diff_url",
"patch_url",
"issue_url",
"number",
"state",
"locked",
"title",
"user",
"body",
"created_at",
"updated_at",
"closed_at",
"merged_at",
"merge_commit_sha",
"assignee",
"assignees",
"requested_reviewers",
"requested_teams",
"labels",
"milestone",
"commits_url",
"review_comments_url",
"review_comment_url",
"comments_url",
"statuses_url",
"head",
"base",
"_links",
"author_association",
"auto_merge",
"active_lock_reason",
"draft"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"base": {
"type": "object",
"required": [
"label",
"ref",
"sha",
"user",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repository",
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"has_discussions",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"has_discussions": {
"type": "boolean",
"default": false,
"description": "Whether discussions are enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
},
"allow_update_branch": {
"type": "boolean"
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
},
"web_commit_signoff_required": {
"type": "boolean",
"description": "Whether to require contributors to sign off on web-based commits"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
},
"use_squash_pr_title_as_default": {
"type": "boolean",
"default": false,
"description": "Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead."
}
},
"description": "A git repository"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"label": {
"type": "string"
}
}
},
"body": {
"type": "string",
"nullable": true
},
"head": {
"type": "object",
"required": [
"label",
"ref",
"sha",
"user",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repository",
"nullable": true,
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"has_discussions",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"has_discussions": {
"type": "boolean",
"default": false,
"description": "Whether discussions are enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
},
"allow_update_branch": {
"type": "boolean"
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
},
"web_commit_signoff_required": {
"type": "boolean",
"description": "Whether to require contributors to sign off on web-based commits"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
},
"use_squash_pr_title_as_default": {
"type": "boolean",
"default": false,
"description": "Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead."
}
},
"description": "A git repository"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"label": {
"type": "string",
"nullable": true
}
}
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"draft": {
"type": "boolean",
"description": "Indicates whether or not the pull request is a draft."
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "State of this Pull Request. Either `open` or `closed`."
},
"title": {
"type": "string",
"description": "The title of the pull request."
},
"_links": {
"type": "object",
"required": [
"self",
"html",
"issue",
"comments",
"review_comments",
"review_comment",
"commits",
"statuses"
],
"properties": {
"html": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"self": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"issue": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"commits": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"comments": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"statuses": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"review_comment": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"review_comments": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
}
}
},
"labels": {
"type": "array",
"items": {
"type": "object",
"title": "Label",
"required": [
"id",
"node_id",
"url",
"name",
"color",
"default",
"description"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the label"
},
"name": {
"type": "string",
"description": "The name of the label."
},
"color": {
"type": "string",
"description": "6-character hex code, without the leading #, identifying the color"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
},
"locked": {
"type": "boolean"
},
"merged": {
"type": "boolean",
"nullable": true
},
"number": {
"type": "integer",
"description": "Number uniquely identifying the pull request within its repository."
},
"commits": {
"type": "integer"
},
"node_id": {
"type": "string"
},
"assignee": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"comments": {
"type": "integer"
},
"diff_url": {
"type": "string",
"format": "uri"
},
"html_url": {
"type": "string",
"format": "uri"
},
"additions": {
"type": "integer"
},
"assignees": {
"type": "array",
"items": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
}
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"deletions": {
"type": "integer"
},
"issue_url": {
"type": "string",
"format": "uri"
},
"mergeable": {
"type": "boolean",
"nullable": true
},
"merged_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"merged_by": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"milestone": {
"type": "object",
"title": "Milestone",
"nullable": true,
"required": [
"url",
"html_url",
"labels_url",
"id",
"node_id",
"number",
"title",
"description",
"creator",
"open_issues",
"closed_issues",
"state",
"created_at",
"updated_at",
"due_on",
"closed_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "The state of the milestone."
},
"title": {
"type": "string",
"description": "The title of the milestone."
},
"due_on": {
"type": "string",
"format": "date-time",
"nullable": true
},
"number": {
"type": "integer",
"description": "The number of the milestone."
},
"creator": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"labels_url": {
"type": "string",
"format": "uri"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string",
"nullable": true
},
"open_issues": {
"type": "integer"
},
"closed_issues": {
"type": "integer"
}
},
"description": "A collection of related issues and pull requests."
},
"patch_url": {
"type": "string",
"format": "uri"
},
"auto_merge": {
"type": "object",
"title": "PullRequestAutoMerge",
"nullable": true,
"required": [
"enabled_by",
"merge_method",
"commit_title",
"commit_message"
],
"properties": {
"enabled_by": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"commit_title": {
"type": "string",
"nullable": true,
"description": "Title for the merge commit message."
},
"merge_method": {
"enum": [
"merge",
"squash",
"rebase"
],
"type": "string",
"description": "The merge method to use."
},
"commit_message": {
"type": "string",
"nullable": true,
"description": "Commit message for the merge commit."
}
},
"description": "The status of auto merging a pull request."
},
"created_at": {
"type": "string",
"format": "date-time"
},
"rebaseable": {
"type": "boolean",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"commits_url": {
"type": "string",
"format": "uri"
},
"comments_url": {
"type": "string",
"format": "uri"
},
"statuses_url": {
"type": "string",
"format": "uri"
},
"changed_files": {
"type": "integer"
},
"mergeable_state": {
"type": "string"
},
"requested_teams": {
"type": "array",
"items": {
"type": "object",
"title": "Team",
"required": [
"name",
"id"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"parent": {
"type": "object",
"nullable": true,
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
}
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
},
"review_comments": {
"type": "integer"
},
"merge_commit_sha": {
"type": "string",
"nullable": true
},
"active_lock_reason": {
"enum": [
"resolved",
"off-topic",
"too heated",
"spam",
null
],
"type": "string",
"nullable": true
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
},
"review_comment_url": {
"type": "string",
"format": "uri-template"
},
"requested_reviewers": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"title": "Team",
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"parent": {
"type": "object",
"nullable": true,
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
}
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
]
}
},
"review_comments_url": {
"type": "string",
"format": "uri"
},
"maintainer_can_modify": {
"type": "boolean",
"description": "Indicates whether maintainers can modify the pull request."
}
}
}
},
"x-github-breaking-changes": [
{
"patch": [
{
"op": "remove",
"path": "/properties/pull_request/properties/base/properties/repo/properties/use_squash_pr_title_as_default"
},
{
"op": "remove",
"path": "/properties/pull_request/properties/head/properties/repo/properties/use_squash_pr_title_as_default"
}
],
"version": "2026-03-10",
"changeset": "remove_use_squash_pr_title_as_default"
},
{
"patch": [
{
"op": "remove",
"path": "/properties/pull_request/properties/merge_commit_sha"
},
{
"op": "remove",
"path": "/properties/pull_request/required/17"
}
],
"version": "2026-03-10",
"changeset": "remove_pull_request_merge_commit_sha"
}
]
}
webhook-pull-request-auto-merge-disabled
{
"type": "object",
"title": "pull_request auto_merge_disabled event",
"required": [
"action",
"number",
"pull_request",
"reason",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"auto_merge_disabled"
],
"type": "string"
},
"number": {
"type": "integer"
},
"reason": {
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"pull_request": {
"type": "object",
"title": "Pull Request",
"required": [
"url",
"id",
"node_id",
"html_url",
"diff_url",
"patch_url",
"issue_url",
"number",
"state",
"locked",
"title",
"user",
"body",
"created_at",
"updated_at",
"closed_at",
"merged_at",
"merge_commit_sha",
"assignee",
"assignees",
"requested_reviewers",
"requested_teams",
"labels",
"milestone",
"commits_url",
"review_comments_url",
"review_comment_url",
"comments_url",
"statuses_url",
"head",
"base",
"_links",
"author_association",
"auto_merge",
"active_lock_reason",
"draft"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"base": {
"type": "object",
"required": [
"label",
"ref",
"sha",
"user",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repository",
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"has_discussions",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"has_discussions": {
"type": "boolean",
"default": false,
"description": "Whether discussions are enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
},
"allow_update_branch": {
"type": "boolean"
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
},
"web_commit_signoff_required": {
"type": "boolean",
"description": "Whether to require contributors to sign off on web-based commits"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
},
"use_squash_pr_title_as_default": {
"type": "boolean",
"default": false,
"description": "Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead."
}
},
"description": "A git repository"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"label": {
"type": "string"
}
}
},
"body": {
"type": "string",
"nullable": true
},
"head": {
"type": "object",
"required": [
"label",
"ref",
"sha",
"user",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repository",
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"has_discussions",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"has_discussions": {
"type": "boolean",
"default": false,
"description": "Whether discussions are enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
},
"allow_update_branch": {
"type": "boolean"
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
},
"web_commit_signoff_required": {
"type": "boolean",
"description": "Whether to require contributors to sign off on web-based commits"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
},
"use_squash_pr_title_as_default": {
"type": "boolean",
"default": false,
"description": "Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead."
}
},
"description": "A git repository"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"label": {
"type": "string"
}
}
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"draft": {
"type": "boolean",
"description": "Indicates whether or not the pull request is a draft."
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "State of this Pull Request. Either `open` or `closed`."
},
"title": {
"type": "string",
"description": "The title of the pull request."
},
"_links": {
"type": "object",
"required": [
"self",
"html",
"issue",
"comments",
"review_comments",
"review_comment",
"commits",
"statuses"
],
"properties": {
"html": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"self": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"issue": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"commits": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"comments": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"statuses": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"review_comment": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"review_comments": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
}
}
},
"labels": {
"type": "array",
"items": {
"type": "object",
"title": "Label",
"required": [
"id",
"node_id",
"url",
"name",
"color",
"default",
"description"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the label"
},
"name": {
"type": "string",
"description": "The name of the label."
},
"color": {
"type": "string",
"description": "6-character hex code, without the leading #, identifying the color"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
},
"locked": {
"type": "boolean"
},
"merged": {
"type": "boolean",
"nullable": true
},
"number": {
"type": "integer",
"description": "Number uniquely identifying the pull request within its repository."
},
"commits": {
"type": "integer"
},
"node_id": {
"type": "string"
},
"assignee": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"comments": {
"type": "integer"
},
"diff_url": {
"type": "string",
"format": "uri"
},
"html_url": {
"type": "string",
"format": "uri"
},
"additions": {
"type": "integer"
},
"assignees": {
"type": "array",
"items": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
}
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"deletions": {
"type": "integer"
},
"issue_url": {
"type": "string",
"format": "uri"
},
"mergeable": {
"type": "boolean",
"nullable": true
},
"merged_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"merged_by": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"milestone": {
"type": "object",
"title": "Milestone",
"nullable": true,
"required": [
"url",
"html_url",
"labels_url",
"id",
"node_id",
"number",
"title",
"description",
"creator",
"open_issues",
"closed_issues",
"state",
"created_at",
"updated_at",
"due_on",
"closed_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "The state of the milestone."
},
"title": {
"type": "string",
"description": "The title of the milestone."
},
"due_on": {
"type": "string",
"format": "date-time",
"nullable": true
},
"number": {
"type": "integer",
"description": "The number of the milestone."
},
"creator": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"labels_url": {
"type": "string",
"format": "uri"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string",
"nullable": true
},
"open_issues": {
"type": "integer"
},
"closed_issues": {
"type": "integer"
}
},
"description": "A collection of related issues and pull requests."
},
"patch_url": {
"type": "string",
"format": "uri"
},
"auto_merge": {
"type": "object",
"title": "PullRequestAutoMerge",
"nullable": true,
"required": [
"enabled_by",
"merge_method",
"commit_title",
"commit_message"
],
"properties": {
"enabled_by": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"commit_title": {
"type": "string",
"nullable": true,
"description": "Title for the merge commit message."
},
"merge_method": {
"enum": [
"merge",
"squash",
"rebase"
],
"type": "string",
"description": "The merge method to use."
},
"commit_message": {
"type": "string",
"nullable": true,
"description": "Commit message for the merge commit."
}
},
"description": "The status of auto merging a pull request."
},
"created_at": {
"type": "string",
"format": "date-time"
},
"rebaseable": {
"type": "boolean",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"commits_url": {
"type": "string",
"format": "uri"
},
"comments_url": {
"type": "string",
"format": "uri"
},
"statuses_url": {
"type": "string",
"format": "uri"
},
"changed_files": {
"type": "integer"
},
"mergeable_state": {
"type": "string"
},
"requested_teams": {
"type": "array",
"items": {
"type": "object",
"title": "Team",
"required": [
"name",
"id"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"parent": {
"type": "object",
"nullable": true,
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
}
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
},
"review_comments": {
"type": "integer"
},
"merge_commit_sha": {
"type": "string",
"nullable": true
},
"active_lock_reason": {
"enum": [
"resolved",
"off-topic",
"too heated",
"spam",
null
],
"type": "string",
"nullable": true
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
},
"review_comment_url": {
"type": "string",
"format": "uri-template"
},
"requested_reviewers": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"title": "Team",
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"parent": {
"type": "object",
"nullable": true,
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
}
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
]
}
},
"review_comments_url": {
"type": "string",
"format": "uri"
},
"maintainer_can_modify": {
"type": "boolean",
"description": "Indicates whether maintainers can modify the pull request."
}
}
}
},
"x-github-breaking-changes": [
{
"patch": [
{
"op": "remove",
"path": "/properties/pull_request/properties/base/properties/repo/properties/use_squash_pr_title_as_default"
},
{
"op": "remove",
"path": "/properties/pull_request/properties/head/properties/repo/properties/use_squash_pr_title_as_default"
}
],
"version": "2026-03-10",
"changeset": "remove_use_squash_pr_title_as_default"
},
{
"patch": [
{
"op": "remove",
"path": "/properties/pull_request/properties/merge_commit_sha"
},
{
"op": "remove",
"path": "/properties/pull_request/required/17"
}
],
"version": "2026-03-10",
"changeset": "remove_pull_request_merge_commit_sha"
}
]
}
webhook-pull-request-auto-merge-enabled
{
"type": "object",
"title": "pull_request auto_merge_enabled event",
"required": [
"action",
"number",
"pull_request",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"auto_merge_enabled"
],
"type": "string"
},
"number": {
"type": "integer"
},
"reason": {
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"pull_request": {
"type": "object",
"title": "Pull Request",
"required": [
"url",
"id",
"node_id",
"html_url",
"diff_url",
"patch_url",
"issue_url",
"number",
"state",
"locked",
"title",
"user",
"body",
"created_at",
"updated_at",
"closed_at",
"merged_at",
"merge_commit_sha",
"assignee",
"assignees",
"requested_reviewers",
"requested_teams",
"labels",
"milestone",
"commits_url",
"review_comments_url",
"review_comment_url",
"comments_url",
"statuses_url",
"head",
"base",
"_links",
"author_association",
"auto_merge",
"active_lock_reason",
"draft"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"base": {
"type": "object",
"required": [
"label",
"ref",
"sha",
"user",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repository",
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"has_discussions",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"has_discussions": {
"type": "boolean",
"default": false,
"description": "Whether discussions are enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
},
"allow_update_branch": {
"type": "boolean"
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
},
"web_commit_signoff_required": {
"type": "boolean",
"description": "Whether to require contributors to sign off on web-based commits"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
},
"use_squash_pr_title_as_default": {
"type": "boolean",
"default": false,
"description": "Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead."
}
},
"description": "A git repository"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"label": {
"type": "string"
}
}
},
"body": {
"type": "string",
"nullable": true
},
"head": {
"type": "object",
"required": [
"label",
"ref",
"sha",
"user",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repository",
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"has_discussions",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"has_discussions": {
"type": "boolean",
"default": false,
"description": "Whether discussions are enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
},
"allow_update_branch": {
"type": "boolean"
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
},
"web_commit_signoff_required": {
"type": "boolean",
"description": "Whether to require contributors to sign off on web-based commits"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
},
"use_squash_pr_title_as_default": {
"type": "boolean",
"default": false,
"description": "Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead."
}
},
"description": "A git repository"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"label": {
"type": "string"
}
}
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"draft": {
"type": "boolean",
"description": "Indicates whether or not the pull request is a draft."
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "State of this Pull Request. Either `open` or `closed`."
},
"title": {
"type": "string",
"description": "The title of the pull request."
},
"_links": {
"type": "object",
"required": [
"self",
"html",
"issue",
"comments",
"review_comments",
"review_comment",
"commits",
"statuses"
],
"properties": {
"html": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"self": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"issue": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"commits": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"comments": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"statuses": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"review_comment": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"review_comments": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
}
}
},
"labels": {
"type": "array",
"items": {
"type": "object",
"title": "Label",
"required": [
"id",
"node_id",
"url",
"name",
"color",
"default",
"description"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the label"
},
"name": {
"type": "string",
"description": "The name of the label."
},
"color": {
"type": "string",
"description": "6-character hex code, without the leading #, identifying the color"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
},
"locked": {
"type": "boolean"
},
"merged": {
"type": "boolean",
"nullable": true
},
"number": {
"type": "integer",
"description": "Number uniquely identifying the pull request within its repository."
},
"commits": {
"type": "integer"
},
"node_id": {
"type": "string"
},
"assignee": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"comments": {
"type": "integer"
},
"diff_url": {
"type": "string",
"format": "uri"
},
"html_url": {
"type": "string",
"format": "uri"
},
"additions": {
"type": "integer"
},
"assignees": {
"type": "array",
"items": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
}
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"deletions": {
"type": "integer"
},
"issue_url": {
"type": "string",
"format": "uri"
},
"mergeable": {
"type": "boolean",
"nullable": true
},
"merged_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"merged_by": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"milestone": {
"type": "object",
"title": "Milestone",
"nullable": true,
"required": [
"url",
"html_url",
"labels_url",
"id",
"node_id",
"number",
"title",
"description",
"creator",
"open_issues",
"closed_issues",
"state",
"created_at",
"updated_at",
"due_on",
"closed_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "The state of the milestone."
},
"title": {
"type": "string",
"description": "The title of the milestone."
},
"due_on": {
"type": "string",
"format": "date-time",
"nullable": true
},
"number": {
"type": "integer",
"description": "The number of the milestone."
},
"creator": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"labels_url": {
"type": "string",
"format": "uri"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string",
"nullable": true
},
"open_issues": {
"type": "integer"
},
"closed_issues": {
"type": "integer"
}
},
"description": "A collection of related issues and pull requests."
},
"patch_url": {
"type": "string",
"format": "uri"
},
"auto_merge": {
"type": "object",
"title": "PullRequestAutoMerge",
"nullable": true,
"required": [
"enabled_by",
"merge_method",
"commit_title",
"commit_message"
],
"properties": {
"enabled_by": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"commit_title": {
"type": "string",
"nullable": true,
"description": "Title for the merge commit message."
},
"merge_method": {
"enum": [
"merge",
"squash",
"rebase"
],
"type": "string",
"description": "The merge method to use."
},
"commit_message": {
"type": "string",
"nullable": true,
"description": "Commit message for the merge commit."
}
},
"description": "The status of auto merging a pull request."
},
"created_at": {
"type": "string",
"format": "date-time"
},
"rebaseable": {
"type": "boolean",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"commits_url": {
"type": "string",
"format": "uri"
},
"comments_url": {
"type": "string",
"format": "uri"
},
"statuses_url": {
"type": "string",
"format": "uri"
},
"changed_files": {
"type": "integer"
},
"mergeable_state": {
"type": "string"
},
"requested_teams": {
"type": "array",
"items": {
"type": "object",
"title": "Team",
"required": [
"name",
"id"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"parent": {
"type": "object",
"nullable": true,
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
}
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
},
"review_comments": {
"type": "integer"
},
"merge_commit_sha": {
"type": "string",
"nullable": true
},
"active_lock_reason": {
"enum": [
"resolved",
"off-topic",
"too heated",
"spam",
null
],
"type": "string",
"nullable": true
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
},
"review_comment_url": {
"type": "string",
"format": "uri-template"
},
"requested_reviewers": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"title": "Team",
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"parent": {
"type": "object",
"nullable": true,
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
}
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
]
}
},
"review_comments_url": {
"type": "string",
"format": "uri"
},
"maintainer_can_modify": {
"type": "boolean",
"description": "Indicates whether maintainers can modify the pull request."
}
}
}
},
"x-github-breaking-changes": [
{
"patch": [
{
"op": "remove",
"path": "/properties/pull_request/properties/base/properties/repo/properties/use_squash_pr_title_as_default"
},
{
"op": "remove",
"path": "/properties/pull_request/properties/head/properties/repo/properties/use_squash_pr_title_as_default"
}
],
"version": "2026-03-10",
"changeset": "remove_use_squash_pr_title_as_default"
},
{
"patch": [
{
"op": "remove",
"path": "/properties/pull_request/properties/merge_commit_sha"
},
{
"op": "remove",
"path": "/properties/pull_request/required/17"
}
],
"version": "2026-03-10",
"changeset": "remove_pull_request_merge_commit_sha"
}
]
}
webhook-pull-request-closed
{
"type": "object",
"title": "pull_request closed event",
"required": [
"action",
"number",
"pull_request",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"closed"
],
"type": "string"
},
"number": {
"$ref": "#/components/schemas/webhooks_number"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"pull_request": {
"$ref": "#/components/schemas/pull-request-webhook"
}
}
}
webhook-pull-request-converted-to-draft
{
"type": "object",
"title": "pull_request converted_to_draft event",
"required": [
"action",
"number",
"pull_request",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"converted_to_draft"
],
"type": "string"
},
"number": {
"$ref": "#/components/schemas/webhooks_number"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"pull_request": {
"$ref": "#/components/schemas/pull-request-webhook"
}
}
}
webhook-pull-request-demilestoned
{
"type": "object",
"title": "pull_request demilestoned event",
"required": [
"action",
"number",
"pull_request",
"repository"
],
"properties": {
"action": {
"enum": [
"demilestoned"
],
"type": "string"
},
"number": {
"$ref": "#/components/schemas/webhooks_number"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"milestone": {
"$ref": "#/components/schemas/milestone"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"pull_request": {
"$ref": "#/components/schemas/webhooks_pull_request_5"
}
}
}
webhook-pull-request-dequeued
{
"type": "object",
"title": "pull_request dequeued event",
"required": [
"action",
"number",
"pull_request",
"repository",
"sender",
"reason"
],
"properties": {
"action": {
"enum": [
"dequeued"
],
"type": "string"
},
"number": {
"type": "integer"
},
"reason": {
"enum": [
"UNKNOWN_REMOVAL_REASON",
"MANUAL",
"MERGE",
"MERGE_CONFLICT",
"CI_FAILURE",
"CI_TIMEOUT",
"ALREADY_MERGED",
"QUEUE_CLEARED",
"ROLL_BACK",
"BRANCH_PROTECTIONS",
"GIT_TREE_INVALID",
"INVALID_MERGE_COMMIT"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"pull_request": {
"type": "object",
"title": "Pull Request",
"required": [
"url",
"id",
"node_id",
"html_url",
"diff_url",
"patch_url",
"issue_url",
"number",
"state",
"locked",
"title",
"user",
"body",
"created_at",
"updated_at",
"closed_at",
"merged_at",
"merge_commit_sha",
"assignee",
"assignees",
"requested_reviewers",
"requested_teams",
"labels",
"milestone",
"commits_url",
"review_comments_url",
"review_comment_url",
"comments_url",
"statuses_url",
"head",
"base",
"_links",
"author_association",
"auto_merge",
"active_lock_reason",
"draft"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"base": {
"type": "object",
"required": [
"label",
"ref",
"sha",
"user",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repository",
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"has_discussions",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"has_discussions": {
"type": "boolean",
"default": false,
"description": "Whether discussions are enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
},
"allow_update_branch": {
"type": "boolean"
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
},
"web_commit_signoff_required": {
"type": "boolean",
"description": "Whether to require contributors to sign off on web-based commits"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
},
"use_squash_pr_title_as_default": {
"type": "boolean",
"default": false,
"description": "Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead."
}
},
"description": "A git repository"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"label": {
"type": "string"
}
}
},
"body": {
"type": "string",
"nullable": true
},
"head": {
"type": "object",
"required": [
"label",
"ref",
"sha",
"user",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repository",
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"has_discussions",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"has_discussions": {
"type": "boolean",
"default": false,
"description": "Whether discussions are enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
},
"allow_update_branch": {
"type": "boolean"
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
},
"web_commit_signoff_required": {
"type": "boolean",
"description": "Whether to require contributors to sign off on web-based commits"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
},
"use_squash_pr_title_as_default": {
"type": "boolean",
"default": false,
"description": "Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead."
}
},
"description": "A git repository"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"label": {
"type": "string"
}
}
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"draft": {
"type": "boolean",
"description": "Indicates whether or not the pull request is a draft."
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "State of this Pull Request. Either `open` or `closed`."
},
"title": {
"type": "string",
"description": "The title of the pull request."
},
"_links": {
"type": "object",
"required": [
"self",
"html",
"issue",
"comments",
"review_comments",
"review_comment",
"commits",
"statuses"
],
"properties": {
"html": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"self": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"issue": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"commits": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"comments": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"statuses": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"review_comment": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"review_comments": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
}
}
},
"labels": {
"type": "array",
"items": {
"type": "object",
"title": "Label",
"required": [
"id",
"node_id",
"url",
"name",
"color",
"default",
"description"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the label"
},
"name": {
"type": "string",
"description": "The name of the label."
},
"color": {
"type": "string",
"description": "6-character hex code, without the leading #, identifying the color"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
},
"locked": {
"type": "boolean"
},
"merged": {
"type": "boolean",
"nullable": true
},
"number": {
"type": "integer",
"description": "Number uniquely identifying the pull request within its repository."
},
"commits": {
"type": "integer"
},
"node_id": {
"type": "string"
},
"assignee": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"comments": {
"type": "integer"
},
"diff_url": {
"type": "string",
"format": "uri"
},
"html_url": {
"type": "string",
"format": "uri"
},
"additions": {
"type": "integer"
},
"assignees": {
"type": "array",
"items": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
}
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"deletions": {
"type": "integer"
},
"issue_url": {
"type": "string",
"format": "uri"
},
"mergeable": {
"type": "boolean",
"nullable": true
},
"merged_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"merged_by": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"milestone": {
"type": "object",
"title": "Milestone",
"nullable": true,
"required": [
"url",
"html_url",
"labels_url",
"id",
"node_id",
"number",
"title",
"description",
"creator",
"open_issues",
"closed_issues",
"state",
"created_at",
"updated_at",
"due_on",
"closed_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "The state of the milestone."
},
"title": {
"type": "string",
"description": "The title of the milestone."
},
"due_on": {
"type": "string",
"format": "date-time",
"nullable": true
},
"number": {
"type": "integer",
"description": "The number of the milestone."
},
"creator": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"labels_url": {
"type": "string",
"format": "uri"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string",
"nullable": true
},
"open_issues": {
"type": "integer"
},
"closed_issues": {
"type": "integer"
}
},
"description": "A collection of related issues and pull requests."
},
"patch_url": {
"type": "string",
"format": "uri"
},
"auto_merge": {
"type": "object",
"title": "PullRequestAutoMerge",
"nullable": true,
"required": [
"enabled_by",
"merge_method",
"commit_title",
"commit_message"
],
"properties": {
"enabled_by": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"commit_title": {
"type": "string",
"nullable": true,
"description": "Title for the merge commit message."
},
"merge_method": {
"enum": [
"merge",
"squash",
"rebase"
],
"type": "string",
"description": "The merge method to use."
},
"commit_message": {
"type": "string",
"nullable": true,
"description": "Commit message for the merge commit."
}
},
"description": "The status of auto merging a pull request."
},
"created_at": {
"type": "string",
"format": "date-time"
},
"rebaseable": {
"type": "boolean",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"commits_url": {
"type": "string",
"format": "uri"
},
"comments_url": {
"type": "string",
"format": "uri"
},
"statuses_url": {
"type": "string",
"format": "uri"
},
"changed_files": {
"type": "integer"
},
"mergeable_state": {
"type": "string"
},
"requested_teams": {
"type": "array",
"items": {
"type": "object",
"title": "Team",
"required": [
"name",
"id"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"parent": {
"type": "object",
"nullable": true,
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
}
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
},
"review_comments": {
"type": "integer"
},
"merge_commit_sha": {
"type": "string",
"nullable": true
},
"active_lock_reason": {
"enum": [
"resolved",
"off-topic",
"too heated",
"spam",
null
],
"type": "string",
"nullable": true
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
},
"review_comment_url": {
"type": "string",
"format": "uri-template"
},
"requested_reviewers": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"title": "Team",
"required": [
"name",
"id"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"parent": {
"type": "object",
"nullable": true,
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
}
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
]
}
},
"review_comments_url": {
"type": "string",
"format": "uri"
},
"maintainer_can_modify": {
"type": "boolean",
"description": "Indicates whether maintainers can modify the pull request."
}
}
}
},
"x-github-breaking-changes": [
{
"patch": [
{
"op": "remove",
"path": "/properties/pull_request/properties/merge_commit_sha"
},
{
"op": "remove",
"path": "/properties/pull_request/required/17"
}
],
"version": "2026-03-10",
"changeset": "remove_pull_request_merge_commit_sha"
}
]
}
webhook-pull-request-edited
{
"type": "object",
"title": "pull_request edited event",
"required": [
"action",
"changes",
"number",
"pull_request",
"repository"
],
"properties": {
"action": {
"enum": [
"edited"
],
"type": "string"
},
"number": {
"$ref": "#/components/schemas/webhooks_number"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"changes": {
"type": "object",
"properties": {
"base": {
"type": "object",
"required": [
"ref",
"sha"
],
"properties": {
"ref": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"type": "string"
}
}
},
"sha": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"type": "string"
}
}
}
}
},
"body": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"type": "string",
"description": "The previous version of the body if the action was `edited`."
}
}
},
"title": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"type": "string",
"description": "The previous version of the title if the action was `edited`."
}
}
}
},
"description": "The changes to the comment if the action was `edited`."
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"pull_request": {
"$ref": "#/components/schemas/pull-request-webhook"
}
}
}
webhook-pull-request-enqueued
{
"type": "object",
"title": "pull_request enqueued event",
"required": [
"action",
"number",
"pull_request",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"enqueued"
],
"type": "string"
},
"number": {
"type": "integer"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"pull_request": {
"type": "object",
"title": "Pull Request",
"required": [
"url",
"id",
"node_id",
"html_url",
"diff_url",
"patch_url",
"issue_url",
"number",
"state",
"locked",
"title",
"user",
"body",
"created_at",
"updated_at",
"closed_at",
"merged_at",
"merge_commit_sha",
"assignee",
"assignees",
"requested_reviewers",
"requested_teams",
"labels",
"milestone",
"commits_url",
"review_comments_url",
"review_comment_url",
"comments_url",
"statuses_url",
"head",
"base",
"_links",
"author_association",
"auto_merge",
"active_lock_reason",
"draft"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"base": {
"type": "object",
"required": [
"label",
"ref",
"sha",
"user",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repository",
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_discussions",
"has_pages",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"has_discussions": {
"type": "boolean",
"default": false,
"description": "Whether discussions are enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
},
"allow_update_branch": {
"type": "boolean"
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
},
"web_commit_signoff_required": {
"type": "boolean",
"description": "Whether to require contributors to sign off on web-based commits"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
},
"use_squash_pr_title_as_default": {
"type": "boolean",
"default": false,
"description": "Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead."
}
},
"description": "A git repository"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"label": {
"type": "string"
}
}
},
"body": {
"type": "string",
"nullable": true
},
"head": {
"type": "object",
"required": [
"label",
"ref",
"sha",
"user",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repository",
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"has_discussions",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"has_discussions": {
"type": "boolean",
"default": false,
"description": "Whether discussions are enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
},
"allow_update_branch": {
"type": "boolean"
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
},
"web_commit_signoff_required": {
"type": "boolean",
"description": "Whether to require contributors to sign off on web-based commits"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
},
"use_squash_pr_title_as_default": {
"type": "boolean",
"default": false,
"description": "Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead."
}
},
"description": "A git repository"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"label": {
"type": "string"
}
}
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"draft": {
"type": "boolean",
"description": "Indicates whether or not the pull request is a draft."
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "State of this Pull Request. Either `open` or `closed`."
},
"title": {
"type": "string",
"description": "The title of the pull request."
},
"_links": {
"type": "object",
"required": [
"self",
"html",
"issue",
"comments",
"review_comments",
"review_comment",
"commits",
"statuses"
],
"properties": {
"html": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"self": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"issue": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"commits": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"comments": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"statuses": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"review_comment": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"review_comments": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
}
}
},
"labels": {
"type": "array",
"items": {
"type": "object",
"title": "Label",
"required": [
"id",
"node_id",
"url",
"name",
"color",
"default",
"description"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the label"
},
"name": {
"type": "string",
"description": "The name of the label."
},
"color": {
"type": "string",
"description": "6-character hex code, without the leading #, identifying the color"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
},
"locked": {
"type": "boolean"
},
"merged": {
"type": "boolean",
"nullable": true
},
"number": {
"type": "integer",
"description": "Number uniquely identifying the pull request within its repository."
},
"commits": {
"type": "integer"
},
"node_id": {
"type": "string"
},
"assignee": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"comments": {
"type": "integer"
},
"diff_url": {
"type": "string",
"format": "uri"
},
"html_url": {
"type": "string",
"format": "uri"
},
"additions": {
"type": "integer"
},
"assignees": {
"type": "array",
"items": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
}
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"deletions": {
"type": "integer"
},
"issue_url": {
"type": "string",
"format": "uri"
},
"mergeable": {
"type": "boolean",
"nullable": true
},
"merged_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"merged_by": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"milestone": {
"type": "object",
"title": "Milestone",
"nullable": true,
"required": [
"url",
"html_url",
"labels_url",
"id",
"node_id",
"number",
"title",
"description",
"creator",
"open_issues",
"closed_issues",
"state",
"created_at",
"updated_at",
"due_on",
"closed_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "The state of the milestone."
},
"title": {
"type": "string",
"description": "The title of the milestone."
},
"due_on": {
"type": "string",
"format": "date-time",
"nullable": true
},
"number": {
"type": "integer",
"description": "The number of the milestone."
},
"creator": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"labels_url": {
"type": "string",
"format": "uri"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string",
"nullable": true
},
"open_issues": {
"type": "integer"
},
"closed_issues": {
"type": "integer"
}
},
"description": "A collection of related issues and pull requests."
},
"patch_url": {
"type": "string",
"format": "uri"
},
"auto_merge": {
"type": "object",
"title": "PullRequestAutoMerge",
"nullable": true,
"required": [
"enabled_by",
"merge_method",
"commit_title",
"commit_message"
],
"properties": {
"enabled_by": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"commit_title": {
"type": "string",
"nullable": true,
"description": "Title for the merge commit message."
},
"merge_method": {
"enum": [
"merge",
"squash",
"rebase"
],
"type": "string",
"description": "The merge method to use."
},
"commit_message": {
"type": "string",
"nullable": true,
"description": "Commit message for the merge commit."
}
},
"description": "The status of auto merging a pull request."
},
"created_at": {
"type": "string",
"format": "date-time"
},
"rebaseable": {
"type": "boolean",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"commits_url": {
"type": "string",
"format": "uri"
},
"comments_url": {
"type": "string",
"format": "uri"
},
"statuses_url": {
"type": "string",
"format": "uri"
},
"changed_files": {
"type": "integer"
},
"mergeable_state": {
"type": "string"
},
"requested_teams": {
"type": "array",
"items": {
"type": "object",
"title": "Team",
"required": [
"name",
"id"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"parent": {
"type": "object",
"nullable": true,
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
}
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
},
"review_comments": {
"type": "integer"
},
"merge_commit_sha": {
"type": "string",
"nullable": true
},
"active_lock_reason": {
"enum": [
"resolved",
"off-topic",
"too heated",
"spam",
null
],
"type": "string",
"nullable": true
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
},
"review_comment_url": {
"type": "string",
"format": "uri-template"
},
"requested_reviewers": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"title": "Team",
"required": [
"name",
"id"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"parent": {
"type": "object",
"nullable": true,
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
}
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
]
}
},
"review_comments_url": {
"type": "string",
"format": "uri"
},
"maintainer_can_modify": {
"type": "boolean",
"description": "Indicates whether maintainers can modify the pull request."
}
}
}
},
"x-github-breaking-changes": [
{
"patch": [
{
"op": "remove",
"path": "/properties/pull_request/properties/merge_commit_sha"
},
{
"op": "remove",
"path": "/properties/pull_request/required/17"
}
],
"version": "2026-03-10",
"changeset": "remove_pull_request_merge_commit_sha"
}
]
}
webhook-pull-request-labeled
{
"type": "object",
"title": "pull_request labeled event",
"required": [
"action",
"number",
"pull_request",
"repository",
"sender"
],
"properties": {
"label": {
"$ref": "#/components/schemas/webhooks_label"
},
"action": {
"enum": [
"labeled"
],
"type": "string"
},
"number": {
"$ref": "#/components/schemas/webhooks_number"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"pull_request": {
"type": "object",
"title": "Pull Request",
"required": [
"url",
"id",
"node_id",
"html_url",
"diff_url",
"patch_url",
"issue_url",
"number",
"state",
"locked",
"title",
"user",
"body",
"created_at",
"updated_at",
"closed_at",
"merged_at",
"merge_commit_sha",
"assignee",
"assignees",
"requested_reviewers",
"requested_teams",
"labels",
"milestone",
"commits_url",
"review_comments_url",
"review_comment_url",
"comments_url",
"statuses_url",
"head",
"base",
"_links",
"author_association",
"auto_merge",
"active_lock_reason",
"draft"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"base": {
"type": "object",
"required": [
"label",
"ref",
"sha",
"user",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repository",
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"has_discussions",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"has_discussions": {
"type": "boolean",
"default": false,
"description": "Whether discussions are enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
},
"allow_update_branch": {
"type": "boolean"
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
},
"web_commit_signoff_required": {
"type": "boolean",
"description": "Whether to require contributors to sign off on web-based commits"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
},
"use_squash_pr_title_as_default": {
"type": "boolean",
"default": false,
"description": "Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead."
}
},
"description": "A git repository"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"label": {
"type": "string"
}
}
},
"body": {
"type": "string",
"nullable": true
},
"head": {
"type": "object",
"required": [
"label",
"ref",
"sha",
"user",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repository",
"nullable": true,
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"has_discussions",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"has_discussions": {
"type": "boolean",
"default": false,
"description": "Whether discussions are enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
},
"allow_update_branch": {
"type": "boolean"
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
},
"web_commit_signoff_required": {
"type": "boolean",
"description": "Whether to require contributors to sign off on web-based commits"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
},
"use_squash_pr_title_as_default": {
"type": "boolean",
"default": false,
"description": "Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead."
}
},
"description": "A git repository"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"label": {
"type": "string",
"nullable": true
}
}
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"draft": {
"type": "boolean",
"description": "Indicates whether or not the pull request is a draft."
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "State of this Pull Request. Either `open` or `closed`."
},
"title": {
"type": "string",
"description": "The title of the pull request."
},
"_links": {
"type": "object",
"required": [
"self",
"html",
"issue",
"comments",
"review_comments",
"review_comment",
"commits",
"statuses"
],
"properties": {
"html": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"self": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"issue": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"commits": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"comments": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"statuses": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"review_comment": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"review_comments": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
}
}
},
"labels": {
"type": "array",
"items": {
"type": "object",
"title": "Label",
"required": [
"id",
"node_id",
"url",
"name",
"color",
"default",
"description"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the label"
},
"name": {
"type": "string",
"description": "The name of the label."
},
"color": {
"type": "string",
"description": "6-character hex code, without the leading #, identifying the color"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
},
"locked": {
"type": "boolean"
},
"merged": {
"type": "boolean",
"nullable": true
},
"number": {
"type": "integer",
"description": "Number uniquely identifying the pull request within its repository."
},
"commits": {
"type": "integer"
},
"node_id": {
"type": "string"
},
"assignee": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"comments": {
"type": "integer"
},
"diff_url": {
"type": "string",
"format": "uri"
},
"html_url": {
"type": "string",
"format": "uri"
},
"additions": {
"type": "integer"
},
"assignees": {
"type": "array",
"items": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
}
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"deletions": {
"type": "integer"
},
"issue_url": {
"type": "string",
"format": "uri"
},
"mergeable": {
"type": "boolean",
"nullable": true
},
"merged_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"merged_by": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"milestone": {
"type": "object",
"title": "Milestone",
"nullable": true,
"required": [
"url",
"html_url",
"labels_url",
"id",
"node_id",
"number",
"title",
"description",
"creator",
"open_issues",
"closed_issues",
"state",
"created_at",
"updated_at",
"due_on",
"closed_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "The state of the milestone."
},
"title": {
"type": "string",
"description": "The title of the milestone."
},
"due_on": {
"type": "string",
"format": "date-time",
"nullable": true
},
"number": {
"type": "integer",
"description": "The number of the milestone."
},
"creator": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"labels_url": {
"type": "string",
"format": "uri"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string",
"nullable": true
},
"open_issues": {
"type": "integer"
},
"closed_issues": {
"type": "integer"
}
},
"description": "A collection of related issues and pull requests."
},
"patch_url": {
"type": "string",
"format": "uri"
},
"auto_merge": {
"type": "object",
"title": "PullRequestAutoMerge",
"nullable": true,
"required": [
"enabled_by",
"merge_method",
"commit_title",
"commit_message"
],
"properties": {
"enabled_by": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"commit_title": {
"type": "string",
"nullable": true,
"description": "Title for the merge commit message."
},
"merge_method": {
"enum": [
"merge",
"squash",
"rebase"
],
"type": "string",
"description": "The merge method to use."
},
"commit_message": {
"type": "string",
"nullable": true,
"description": "Commit message for the merge commit."
}
},
"description": "The status of auto merging a pull request."
},
"created_at": {
"type": "string",
"format": "date-time"
},
"rebaseable": {
"type": "boolean",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"commits_url": {
"type": "string",
"format": "uri"
},
"comments_url": {
"type": "string",
"format": "uri"
},
"statuses_url": {
"type": "string",
"format": "uri"
},
"changed_files": {
"type": "integer"
},
"mergeable_state": {
"type": "string"
},
"requested_teams": {
"type": "array",
"items": {
"type": "object",
"title": "Team",
"required": [
"name",
"id"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"parent": {
"type": "object",
"nullable": true,
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
}
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
},
"review_comments": {
"type": "integer"
},
"merge_commit_sha": {
"type": "string",
"nullable": true
},
"active_lock_reason": {
"enum": [
"resolved",
"off-topic",
"too heated",
"spam",
null
],
"type": "string",
"nullable": true
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
},
"review_comment_url": {
"type": "string",
"format": "uri-template"
},
"requested_reviewers": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"title": "Team",
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"parent": {
"type": "object",
"nullable": true,
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
}
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
]
}
},
"review_comments_url": {
"type": "string",
"format": "uri"
},
"maintainer_can_modify": {
"type": "boolean",
"description": "Indicates whether maintainers can modify the pull request."
}
}
}
},
"x-github-breaking-changes": [
{
"patch": [
{
"op": "remove",
"path": "/properties/pull_request/properties/base/properties/repo/properties/use_squash_pr_title_as_default"
},
{
"op": "remove",
"path": "/properties/pull_request/properties/head/properties/repo/properties/use_squash_pr_title_as_default"
}
],
"version": "2026-03-10",
"changeset": "remove_use_squash_pr_title_as_default"
},
{
"patch": [
{
"op": "remove",
"path": "/properties/pull_request/properties/merge_commit_sha"
},
{
"op": "remove",
"path": "/properties/pull_request/required/17"
}
],
"version": "2026-03-10",
"changeset": "remove_pull_request_merge_commit_sha"
}
]
}
webhook-pull-request-locked
{
"type": "object",
"title": "pull_request locked event",
"required": [
"action",
"number",
"pull_request",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"locked"
],
"type": "string"
},
"number": {
"$ref": "#/components/schemas/webhooks_number"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"pull_request": {
"type": "object",
"title": "Pull Request",
"required": [
"url",
"id",
"node_id",
"html_url",
"diff_url",
"patch_url",
"issue_url",
"number",
"state",
"locked",
"title",
"user",
"body",
"created_at",
"updated_at",
"closed_at",
"merged_at",
"merge_commit_sha",
"assignee",
"assignees",
"requested_reviewers",
"requested_teams",
"labels",
"milestone",
"commits_url",
"review_comments_url",
"review_comment_url",
"comments_url",
"statuses_url",
"head",
"base",
"_links",
"author_association",
"auto_merge",
"active_lock_reason",
"draft"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"base": {
"type": "object",
"required": [
"label",
"ref",
"sha",
"user",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repository",
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"has_discussions",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"has_discussions": {
"type": "boolean",
"default": false,
"description": "Whether discussions are enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
},
"allow_update_branch": {
"type": "boolean"
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
},
"web_commit_signoff_required": {
"type": "boolean",
"description": "Whether to require contributors to sign off on web-based commits"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
},
"use_squash_pr_title_as_default": {
"type": "boolean",
"default": false,
"description": "Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead."
}
},
"description": "A git repository"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"label": {
"type": "string"
}
}
},
"body": {
"type": "string",
"nullable": true
},
"head": {
"type": "object",
"required": [
"label",
"ref",
"sha",
"user",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repository",
"nullable": true,
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"has_discussions",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"has_discussions": {
"type": "boolean",
"default": false,
"description": "Whether discussions are enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
},
"allow_update_branch": {
"type": "boolean"
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
},
"web_commit_signoff_required": {
"type": "boolean",
"description": "Whether to require contributors to sign off on web-based commits"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
},
"use_squash_pr_title_as_default": {
"type": "boolean",
"default": false,
"description": "Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead."
}
},
"description": "A git repository"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"label": {
"type": "string",
"nullable": true
}
}
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"draft": {
"type": "boolean",
"description": "Indicates whether or not the pull request is a draft."
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "State of this Pull Request. Either `open` or `closed`."
},
"title": {
"type": "string",
"description": "The title of the pull request."
},
"_links": {
"type": "object",
"required": [
"self",
"html",
"issue",
"comments",
"review_comments",
"review_comment",
"commits",
"statuses"
],
"properties": {
"html": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"self": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"issue": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"commits": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"comments": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"statuses": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"review_comment": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"review_comments": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
}
}
},
"labels": {
"type": "array",
"items": {
"type": "object",
"title": "Label",
"required": [
"id",
"node_id",
"url",
"name",
"color",
"default",
"description"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the label"
},
"name": {
"type": "string",
"description": "The name of the label."
},
"color": {
"type": "string",
"description": "6-character hex code, without the leading #, identifying the color"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
},
"locked": {
"type": "boolean"
},
"merged": {
"type": "boolean",
"nullable": true
},
"number": {
"type": "integer",
"description": "Number uniquely identifying the pull request within its repository."
},
"commits": {
"type": "integer"
},
"node_id": {
"type": "string"
},
"assignee": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"comments": {
"type": "integer"
},
"diff_url": {
"type": "string",
"format": "uri"
},
"html_url": {
"type": "string",
"format": "uri"
},
"additions": {
"type": "integer"
},
"assignees": {
"type": "array",
"items": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
}
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"deletions": {
"type": "integer"
},
"issue_url": {
"type": "string",
"format": "uri"
},
"mergeable": {
"type": "boolean",
"nullable": true
},
"merged_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"merged_by": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"milestone": {
"type": "object",
"title": "Milestone",
"nullable": true,
"required": [
"url",
"html_url",
"labels_url",
"id",
"node_id",
"number",
"title",
"description",
"creator",
"open_issues",
"closed_issues",
"state",
"created_at",
"updated_at",
"due_on",
"closed_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "The state of the milestone."
},
"title": {
"type": "string",
"description": "The title of the milestone."
},
"due_on": {
"type": "string",
"format": "date-time",
"nullable": true
},
"number": {
"type": "integer",
"description": "The number of the milestone."
},
"creator": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"labels_url": {
"type": "string",
"format": "uri"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string",
"nullable": true
},
"open_issues": {
"type": "integer"
},
"closed_issues": {
"type": "integer"
}
},
"description": "A collection of related issues and pull requests."
},
"patch_url": {
"type": "string",
"format": "uri"
},
"auto_merge": {
"type": "object",
"title": "PullRequestAutoMerge",
"nullable": true,
"required": [
"enabled_by",
"merge_method",
"commit_title",
"commit_message"
],
"properties": {
"enabled_by": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"commit_title": {
"type": "string",
"nullable": true,
"description": "Title for the merge commit message."
},
"merge_method": {
"enum": [
"merge",
"squash",
"rebase"
],
"type": "string",
"description": "The merge method to use."
},
"commit_message": {
"type": "string",
"nullable": true,
"description": "Commit message for the merge commit."
}
},
"description": "The status of auto merging a pull request."
},
"created_at": {
"type": "string",
"format": "date-time"
},
"rebaseable": {
"type": "boolean",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"commits_url": {
"type": "string",
"format": "uri"
},
"comments_url": {
"type": "string",
"format": "uri"
},
"statuses_url": {
"type": "string",
"format": "uri"
},
"changed_files": {
"type": "integer"
},
"mergeable_state": {
"type": "string"
},
"requested_teams": {
"type": "array",
"items": {
"type": "object",
"title": "Team",
"required": [
"name",
"id"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"parent": {
"type": "object",
"nullable": true,
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
}
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
},
"review_comments": {
"type": "integer"
},
"merge_commit_sha": {
"type": "string",
"nullable": true
},
"active_lock_reason": {
"enum": [
"resolved",
"off-topic",
"too heated",
"spam",
null
],
"type": "string",
"nullable": true
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
},
"review_comment_url": {
"type": "string",
"format": "uri-template"
},
"requested_reviewers": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"title": "Team",
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"parent": {
"type": "object",
"nullable": true,
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
}
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
]
}
},
"review_comments_url": {
"type": "string",
"format": "uri"
},
"maintainer_can_modify": {
"type": "boolean",
"description": "Indicates whether maintainers can modify the pull request."
}
}
}
},
"x-github-breaking-changes": [
{
"patch": [
{
"op": "remove",
"path": "/properties/pull_request/properties/base/properties/repo/properties/use_squash_pr_title_as_default"
},
{
"op": "remove",
"path": "/properties/pull_request/properties/head/properties/repo/properties/use_squash_pr_title_as_default"
}
],
"version": "2026-03-10",
"changeset": "remove_use_squash_pr_title_as_default"
},
{
"patch": [
{
"op": "remove",
"path": "/properties/pull_request/properties/merge_commit_sha"
},
{
"op": "remove",
"path": "/properties/pull_request/required/17"
}
],
"version": "2026-03-10",
"changeset": "remove_pull_request_merge_commit_sha"
}
]
}
webhook-pull-request-milestoned
{
"type": "object",
"title": "pull_request milestoned event",
"required": [
"action",
"number",
"pull_request",
"repository"
],
"properties": {
"action": {
"enum": [
"milestoned"
],
"type": "string"
},
"number": {
"$ref": "#/components/schemas/webhooks_number"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"milestone": {
"$ref": "#/components/schemas/milestone"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"pull_request": {
"$ref": "#/components/schemas/webhooks_pull_request_5"
}
}
}
webhook-pull-request-opened
{
"type": "object",
"title": "pull_request opened event",
"required": [
"action",
"number",
"pull_request",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"opened"
],
"type": "string"
},
"number": {
"$ref": "#/components/schemas/webhooks_number"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"pull_request": {
"$ref": "#/components/schemas/pull-request-webhook"
}
}
}
webhook-pull-request-ready-for-review
{
"type": "object",
"title": "pull_request ready_for_review event",
"required": [
"action",
"number",
"pull_request",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"ready_for_review"
],
"type": "string"
},
"number": {
"$ref": "#/components/schemas/webhooks_number"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"pull_request": {
"$ref": "#/components/schemas/pull-request-webhook"
}
}
}
webhook-pull-request-reopened
{
"type": "object",
"title": "pull_request reopened event",
"required": [
"action",
"number",
"pull_request",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"reopened"
],
"type": "string"
},
"number": {
"$ref": "#/components/schemas/webhooks_number"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"pull_request": {
"$ref": "#/components/schemas/pull-request-webhook"
}
}
}
webhook-pull-request-review-comment-created
{
"type": "object",
"title": "pull_request_review_comment created event",
"required": [
"action",
"comment",
"pull_request",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"created"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"comment": {
"type": "object",
"title": "Pull Request Review Comment",
"required": [
"url",
"pull_request_review_id",
"id",
"node_id",
"diff_hunk",
"path",
"position",
"original_position",
"commit_id",
"original_commit_id",
"user",
"body",
"created_at",
"updated_at",
"html_url",
"pull_request_url",
"author_association",
"_links",
"start_line",
"original_start_line",
"original_line",
"line",
"start_side",
"side",
"reactions"
],
"properties": {
"id": {
"type": "integer",
"description": "The ID of the pull request review comment."
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the pull request review comment"
},
"body": {
"type": "string",
"description": "The text of the comment."
},
"line": {
"type": "integer",
"nullable": true,
"description": "The line of the blob to which the comment applies. The last line of the range for a multi-line comment"
},
"path": {
"type": "string",
"description": "The relative path of the file to which the comment applies."
},
"side": {
"enum": [
"LEFT",
"RIGHT"
],
"type": "string",
"description": "The side of the first line of the range for a multi-line comment."
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"_links": {
"type": "object",
"required": [
"self",
"html",
"pull_request"
],
"properties": {
"html": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"self": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"pull_request": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
}
}
},
"node_id": {
"type": "string",
"description": "The node ID of the pull request review comment."
},
"html_url": {
"type": "string",
"format": "uri",
"description": "HTML URL for the pull request review comment."
},
"position": {
"type": "integer",
"nullable": true,
"description": "The line index in the diff to which the comment applies."
},
"commit_id": {
"type": "string",
"description": "The SHA of the commit to which the comment applies."
},
"diff_hunk": {
"type": "string",
"description": "The diff of the line that the comment refers to."
},
"reactions": {
"type": "object",
"title": "Reactions",
"required": [
"url",
"total_count",
"+1",
"-1",
"laugh",
"confused",
"heart",
"hooray",
"eyes",
"rocket"
],
"properties": {
"+1": {
"type": "integer"
},
"-1": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"eyes": {
"type": "integer"
},
"heart": {
"type": "integer"
},
"laugh": {
"type": "integer"
},
"hooray": {
"type": "integer"
},
"rocket": {
"type": "integer"
},
"confused": {
"type": "integer"
},
"total_count": {
"type": "integer"
}
}
},
"created_at": {
"type": "string",
"format": "date-time"
},
"start_line": {
"type": "integer",
"nullable": true,
"description": "The first line of the range for a multi-line comment."
},
"start_side": {
"enum": [
"LEFT",
"RIGHT",
null
],
"type": "string",
"default": "RIGHT",
"nullable": true,
"description": "The side of the first line of the range for a multi-line comment."
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"subject_type": {
"enum": [
"line",
"file"
],
"type": "string",
"description": "The level at which the comment is targeted, can be a diff line or a file."
},
"original_line": {
"type": "integer",
"nullable": true,
"description": "The line of the blob to which the comment applies. The last line of the range for a multi-line comment"
},
"in_reply_to_id": {
"type": "integer",
"description": "The comment ID to reply to."
},
"pull_request_url": {
"type": "string",
"format": "uri",
"description": "URL for the pull request that the review comment belongs to."
},
"original_position": {
"type": "integer",
"description": "The index of the original line in the diff to which the comment applies."
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
},
"original_commit_id": {
"type": "string",
"description": "The SHA of the original commit to which the comment applies."
},
"original_start_line": {
"type": "integer",
"nullable": true,
"description": "The first line of the range for a multi-line comment."
},
"pull_request_review_id": {
"type": "integer",
"nullable": true,
"description": "The ID of the pull request review to which the comment belongs."
}
},
"description": "The [comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request) itself."
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"pull_request": {
"type": "object",
"required": [
"url",
"id",
"node_id",
"html_url",
"diff_url",
"patch_url",
"issue_url",
"number",
"state",
"locked",
"title",
"user",
"body",
"created_at",
"updated_at",
"closed_at",
"merged_at",
"merge_commit_sha",
"assignee",
"assignees",
"requested_reviewers",
"requested_teams",
"labels",
"milestone",
"commits_url",
"review_comments_url",
"review_comment_url",
"comments_url",
"statuses_url",
"head",
"base",
"_links",
"author_association",
"active_lock_reason"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"base": {
"type": "object",
"required": [
"label",
"ref",
"sha",
"user",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repository",
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"has_discussions",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"has_discussions": {
"type": "boolean",
"default": false,
"description": "Whether discussions are enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
},
"allow_update_branch": {
"type": "boolean"
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
},
"web_commit_signoff_required": {
"type": "boolean",
"description": "Whether to require contributors to sign off on web-based commits"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
},
"use_squash_pr_title_as_default": {
"type": "boolean",
"default": false,
"description": "Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead."
}
},
"description": "A git repository"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"label": {
"type": "string"
}
}
},
"body": {
"type": "string",
"nullable": true
},
"head": {
"type": "object",
"required": [
"label",
"ref",
"sha",
"user",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repository",
"nullable": true,
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"has_discussions": {
"type": "boolean",
"default": false,
"description": "Whether discussions are enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
},
"allow_update_branch": {
"type": "boolean"
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
},
"web_commit_signoff_required": {
"type": "boolean",
"description": "Whether to require contributors to sign off on web-based commits"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
},
"use_squash_pr_title_as_default": {
"type": "boolean",
"default": false,
"description": "Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead."
}
},
"description": "A git repository"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"label": {
"type": "string"
}
}
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"draft": {
"type": "boolean"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string"
},
"title": {
"type": "string"
},
"_links": {
"type": "object",
"required": [
"self",
"html",
"issue",
"comments",
"review_comments",
"review_comment",
"commits",
"statuses"
],
"properties": {
"html": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"self": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"issue": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"commits": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"comments": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"statuses": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"review_comment": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"review_comments": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
}
}
},
"labels": {
"type": "array",
"items": {
"type": "object",
"title": "Label",
"required": [
"id",
"node_id",
"url",
"name",
"color",
"default",
"description"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the label"
},
"name": {
"type": "string",
"description": "The name of the label."
},
"color": {
"type": "string",
"description": "6-character hex code, without the leading #, identifying the color"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
},
"locked": {
"type": "boolean"
},
"number": {
"type": "integer"
},
"node_id": {
"type": "string"
},
"assignee": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"diff_url": {
"type": "string",
"format": "uri"
},
"html_url": {
"type": "string",
"format": "uri"
},
"assignees": {
"type": "array",
"items": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
}
},
"closed_at": {
"type": "string",
"nullable": true
},
"issue_url": {
"type": "string",
"format": "uri"
},
"merged_at": {
"type": "string",
"nullable": true
},
"milestone": {
"type": "object",
"title": "Milestone",
"nullable": true,
"required": [
"url",
"html_url",
"labels_url",
"id",
"node_id",
"number",
"title",
"description",
"creator",
"open_issues",
"closed_issues",
"state",
"created_at",
"updated_at",
"due_on",
"closed_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "The state of the milestone."
},
"title": {
"type": "string",
"description": "The title of the milestone."
},
"due_on": {
"type": "string",
"format": "date-time",
"nullable": true
},
"number": {
"type": "integer",
"description": "The number of the milestone."
},
"creator": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"labels_url": {
"type": "string",
"format": "uri"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string",
"nullable": true
},
"open_issues": {
"type": "integer"
},
"closed_issues": {
"type": "integer"
}
},
"description": "A collection of related issues and pull requests."
},
"patch_url": {
"type": "string",
"format": "uri"
},
"auto_merge": {
"type": "object",
"title": "PullRequestAutoMerge",
"nullable": true,
"required": [
"enabled_by",
"merge_method",
"commit_title",
"commit_message"
],
"properties": {
"enabled_by": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"commit_title": {
"type": "string",
"nullable": true,
"description": "Title for the merge commit message."
},
"merge_method": {
"enum": [
"merge",
"squash",
"rebase"
],
"type": "string",
"description": "The merge method to use."
},
"commit_message": {
"type": "string",
"nullable": true,
"description": "Commit message for the merge commit."
}
},
"description": "The status of auto merging a pull request."
},
"created_at": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"commits_url": {
"type": "string",
"format": "uri"
},
"comments_url": {
"type": "string",
"format": "uri"
},
"statuses_url": {
"type": "string",
"format": "uri"
},
"requested_teams": {
"type": "array",
"items": {
"type": "object",
"title": "Team",
"required": [
"name",
"id"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"parent": {
"type": "object",
"nullable": true,
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
}
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
},
"merge_commit_sha": {
"type": "string",
"nullable": true
},
"active_lock_reason": {
"enum": [
"resolved",
"off-topic",
"too heated",
"spam",
null
],
"type": "string",
"nullable": true
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
},
"review_comment_url": {
"type": "string",
"format": "uri-template"
},
"requested_reviewers": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"title": "Team",
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"parent": {
"type": "object",
"nullable": true,
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
}
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
]
}
},
"review_comments_url": {
"type": "string",
"format": "uri"
}
}
}
},
"x-github-breaking-changes": [
{
"patch": [
{
"op": "remove",
"path": "/properties/pull_request/properties/base/properties/repo/properties/use_squash_pr_title_as_default"
},
{
"op": "remove",
"path": "/properties/pull_request/properties/head/properties/repo/properties/use_squash_pr_title_as_default"
}
],
"version": "2026-03-10",
"changeset": "remove_use_squash_pr_title_as_default"
},
{
"patch": [
{
"op": "remove",
"path": "/properties/pull_request/properties/merge_commit_sha"
},
{
"op": "remove",
"path": "/properties/pull_request/required/17"
}
],
"version": "2026-03-10",
"changeset": "remove_pull_request_merge_commit_sha"
}
]
}
webhook-pull-request-review-comment-deleted
{
"type": "object",
"title": "pull_request_review_comment deleted event",
"required": [
"action",
"comment",
"pull_request",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"deleted"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"comment": {
"$ref": "#/components/schemas/webhooks_review_comment"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"pull_request": {
"type": "object",
"required": [
"url",
"id",
"node_id",
"html_url",
"diff_url",
"patch_url",
"issue_url",
"number",
"state",
"locked",
"title",
"user",
"body",
"created_at",
"updated_at",
"closed_at",
"merged_at",
"merge_commit_sha",
"assignee",
"assignees",
"requested_reviewers",
"requested_teams",
"labels",
"milestone",
"commits_url",
"review_comments_url",
"review_comment_url",
"comments_url",
"statuses_url",
"head",
"base",
"_links",
"author_association",
"active_lock_reason"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"base": {
"type": "object",
"required": [
"label",
"ref",
"sha",
"user",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repository",
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"has_discussions",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"has_discussions": {
"type": "boolean",
"default": false,
"description": "Whether discussions are enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
},
"allow_update_branch": {
"type": "boolean"
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
},
"web_commit_signoff_required": {
"type": "boolean",
"description": "Whether to require contributors to sign off on web-based commits"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
},
"use_squash_pr_title_as_default": {
"type": "boolean",
"default": false,
"description": "Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead."
}
},
"description": "A git repository"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"label": {
"type": "string"
}
}
},
"body": {
"type": "string",
"nullable": true
},
"head": {
"type": "object",
"required": [
"label",
"ref",
"sha",
"user",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repository",
"nullable": true,
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"has_discussions",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"has_discussions": {
"type": "boolean",
"default": false,
"description": "Whether discussions are enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
},
"allow_update_branch": {
"type": "boolean"
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
},
"web_commit_signoff_required": {
"type": "boolean",
"description": "Whether to require contributors to sign off on web-based commits"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
},
"use_squash_pr_title_as_default": {
"type": "boolean",
"default": false,
"description": "Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead."
}
},
"description": "A git repository"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"label": {
"type": "string"
}
}
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"draft": {
"type": "boolean"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string"
},
"title": {
"type": "string"
},
"_links": {
"type": "object",
"required": [
"self",
"html",
"issue",
"comments",
"review_comments",
"review_comment",
"commits",
"statuses"
],
"properties": {
"html": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"self": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"issue": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"commits": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"comments": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"statuses": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"review_comment": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"review_comments": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
}
}
},
"labels": {
"type": "array",
"items": {
"type": "object",
"title": "Label",
"required": [
"id",
"node_id",
"url",
"name",
"color",
"default",
"description"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the label"
},
"name": {
"type": "string",
"description": "The name of the label."
},
"color": {
"type": "string",
"description": "6-character hex code, without the leading #, identifying the color"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
},
"locked": {
"type": "boolean"
},
"number": {
"type": "integer"
},
"node_id": {
"type": "string"
},
"assignee": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"diff_url": {
"type": "string",
"format": "uri"
},
"html_url": {
"type": "string",
"format": "uri"
},
"assignees": {
"type": "array",
"items": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
}
},
"closed_at": {
"type": "string",
"nullable": true
},
"issue_url": {
"type": "string",
"format": "uri"
},
"merged_at": {
"type": "string",
"nullable": true
},
"milestone": {
"type": "object",
"title": "Milestone",
"nullable": true,
"required": [
"url",
"html_url",
"labels_url",
"id",
"node_id",
"number",
"title",
"description",
"creator",
"open_issues",
"closed_issues",
"state",
"created_at",
"updated_at",
"due_on",
"closed_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "The state of the milestone."
},
"title": {
"type": "string",
"description": "The title of the milestone."
},
"due_on": {
"type": "string",
"format": "date-time",
"nullable": true
},
"number": {
"type": "integer",
"description": "The number of the milestone."
},
"creator": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"labels_url": {
"type": "string",
"format": "uri"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string",
"nullable": true
},
"open_issues": {
"type": "integer"
},
"closed_issues": {
"type": "integer"
}
},
"description": "A collection of related issues and pull requests."
},
"patch_url": {
"type": "string",
"format": "uri"
},
"auto_merge": {
"type": "object",
"title": "PullRequestAutoMerge",
"nullable": true,
"required": [
"enabled_by",
"merge_method",
"commit_title",
"commit_message"
],
"properties": {
"enabled_by": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"commit_title": {
"type": "string",
"nullable": true,
"description": "Title for the merge commit message."
},
"merge_method": {
"enum": [
"merge",
"squash",
"rebase"
],
"type": "string",
"description": "The merge method to use."
},
"commit_message": {
"type": "string",
"nullable": true,
"description": "Commit message for the merge commit."
}
},
"description": "The status of auto merging a pull request."
},
"created_at": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"commits_url": {
"type": "string",
"format": "uri"
},
"comments_url": {
"type": "string",
"format": "uri"
},
"statuses_url": {
"type": "string",
"format": "uri"
},
"requested_teams": {
"type": "array",
"items": {
"type": "object",
"title": "Team",
"required": [
"name",
"id"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"parent": {
"type": "object",
"nullable": true,
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
}
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
},
"merge_commit_sha": {
"type": "string",
"nullable": true
},
"active_lock_reason": {
"enum": [
"resolved",
"off-topic",
"too heated",
"spam",
null
],
"type": "string",
"nullable": true
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
},
"review_comment_url": {
"type": "string",
"format": "uri-template"
},
"requested_reviewers": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"title": "Team",
"required": [
"name",
"id"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"parent": {
"type": "object",
"nullable": true,
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
}
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
]
}
},
"review_comments_url": {
"type": "string",
"format": "uri"
}
}
}
},
"x-github-breaking-changes": [
{
"patch": [
{
"op": "remove",
"path": "/properties/pull_request/properties/base/properties/repo/properties/use_squash_pr_title_as_default"
},
{
"op": "remove",
"path": "/properties/pull_request/properties/head/properties/repo/properties/use_squash_pr_title_as_default"
}
],
"version": "2026-03-10",
"changeset": "remove_use_squash_pr_title_as_default"
},
{
"patch": [
{
"op": "remove",
"path": "/properties/pull_request/properties/merge_commit_sha"
},
{
"op": "remove",
"path": "/properties/pull_request/required/17"
}
],
"version": "2026-03-10",
"changeset": "remove_pull_request_merge_commit_sha"
}
]
}
webhook-pull-request-review-comment-edited
{
"type": "object",
"title": "pull_request_review_comment edited event",
"required": [
"action",
"changes",
"comment",
"pull_request",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"edited"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"changes": {
"$ref": "#/components/schemas/webhooks_changes"
},
"comment": {
"$ref": "#/components/schemas/webhooks_review_comment"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"pull_request": {
"type": "object",
"required": [
"url",
"id",
"node_id",
"html_url",
"diff_url",
"patch_url",
"issue_url",
"number",
"state",
"locked",
"title",
"user",
"body",
"created_at",
"updated_at",
"closed_at",
"merged_at",
"merge_commit_sha",
"assignee",
"assignees",
"requested_reviewers",
"requested_teams",
"labels",
"milestone",
"commits_url",
"review_comments_url",
"review_comment_url",
"comments_url",
"statuses_url",
"head",
"base",
"_links",
"author_association",
"active_lock_reason"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"base": {
"type": "object",
"required": [
"label",
"ref",
"sha",
"user",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repository",
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"has_discussions",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"has_discussions": {
"type": "boolean",
"default": false,
"description": "Whether discussions are enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
},
"allow_update_branch": {
"type": "boolean"
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
},
"web_commit_signoff_required": {
"type": "boolean",
"description": "Whether to require contributors to sign off on web-based commits"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
},
"use_squash_pr_title_as_default": {
"type": "boolean",
"default": false,
"description": "Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead."
}
},
"description": "A git repository"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"label": {
"type": "string"
}
}
},
"body": {
"type": "string",
"nullable": true
},
"head": {
"type": "object",
"required": [
"label",
"ref",
"sha",
"user",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repository",
"nullable": true,
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"has_discussions",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"has_discussions": {
"type": "boolean",
"default": false,
"description": "Whether discussions are enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
},
"allow_update_branch": {
"type": "boolean"
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
},
"web_commit_signoff_required": {
"type": "boolean",
"description": "Whether to require contributors to sign off on web-based commits"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
},
"use_squash_pr_title_as_default": {
"type": "boolean",
"default": false,
"description": "Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead."
}
},
"description": "A git repository"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"label": {
"type": "string"
}
}
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"draft": {
"type": "boolean"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string"
},
"title": {
"type": "string"
},
"_links": {
"type": "object",
"required": [
"self",
"html",
"issue",
"comments",
"review_comments",
"review_comment",
"commits",
"statuses"
],
"properties": {
"html": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"self": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"issue": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"commits": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"comments": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"statuses": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"review_comment": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"review_comments": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
}
}
},
"labels": {
"type": "array",
"items": {
"type": "object",
"title": "Label",
"required": [
"id",
"node_id",
"url",
"name",
"color",
"default",
"description"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the label"
},
"name": {
"type": "string",
"description": "The name of the label."
},
"color": {
"type": "string",
"description": "6-character hex code, without the leading #, identifying the color"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
},
"locked": {
"type": "boolean"
},
"number": {
"type": "integer"
},
"node_id": {
"type": "string"
},
"assignee": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"diff_url": {
"type": "string",
"format": "uri"
},
"html_url": {
"type": "string",
"format": "uri"
},
"assignees": {
"type": "array",
"items": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
}
},
"closed_at": {
"type": "string",
"nullable": true
},
"issue_url": {
"type": "string",
"format": "uri"
},
"merged_at": {
"type": "string",
"nullable": true
},
"milestone": {
"type": "object",
"title": "Milestone",
"nullable": true,
"required": [
"url",
"html_url",
"labels_url",
"id",
"node_id",
"number",
"title",
"description",
"creator",
"open_issues",
"closed_issues",
"state",
"created_at",
"updated_at",
"due_on",
"closed_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "The state of the milestone."
},
"title": {
"type": "string",
"description": "The title of the milestone."
},
"due_on": {
"type": "string",
"format": "date-time",
"nullable": true
},
"number": {
"type": "integer",
"description": "The number of the milestone."
},
"creator": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"labels_url": {
"type": "string",
"format": "uri"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string",
"nullable": true
},
"open_issues": {
"type": "integer"
},
"closed_issues": {
"type": "integer"
}
},
"description": "A collection of related issues and pull requests."
},
"patch_url": {
"type": "string",
"format": "uri"
},
"auto_merge": {
"type": "object",
"title": "PullRequestAutoMerge",
"nullable": true,
"required": [
"enabled_by",
"merge_method",
"commit_title",
"commit_message"
],
"properties": {
"enabled_by": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"commit_title": {
"type": "string",
"nullable": true,
"description": "Title for the merge commit message."
},
"merge_method": {
"enum": [
"merge",
"squash",
"rebase"
],
"type": "string",
"description": "The merge method to use."
},
"commit_message": {
"type": "string",
"nullable": true,
"description": "Commit message for the merge commit."
}
},
"description": "The status of auto merging a pull request."
},
"created_at": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"commits_url": {
"type": "string",
"format": "uri"
},
"comments_url": {
"type": "string",
"format": "uri"
},
"statuses_url": {
"type": "string",
"format": "uri"
},
"requested_teams": {
"type": "array",
"items": {
"type": "object",
"title": "Team",
"required": [
"name",
"id"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"parent": {
"type": "object",
"nullable": true,
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
}
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
},
"merge_commit_sha": {
"type": "string",
"nullable": true
},
"active_lock_reason": {
"enum": [
"resolved",
"off-topic",
"too heated",
"spam",
null
],
"type": "string",
"nullable": true
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
},
"review_comment_url": {
"type": "string",
"format": "uri-template"
},
"requested_reviewers": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"title": "Team",
"required": [
"name",
"id"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"parent": {
"type": "object",
"nullable": true,
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
}
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
]
}
},
"review_comments_url": {
"type": "string",
"format": "uri"
}
}
}
},
"x-github-breaking-changes": [
{
"patch": [
{
"op": "remove",
"path": "/properties/pull_request/properties/base/properties/repo/properties/use_squash_pr_title_as_default"
},
{
"op": "remove",
"path": "/properties/pull_request/properties/head/properties/repo/properties/use_squash_pr_title_as_default"
}
],
"version": "2026-03-10",
"changeset": "remove_use_squash_pr_title_as_default"
},
{
"patch": [
{
"op": "remove",
"path": "/properties/pull_request/properties/merge_commit_sha"
},
{
"op": "remove",
"path": "/properties/pull_request/required/17"
}
],
"version": "2026-03-10",
"changeset": "remove_pull_request_merge_commit_sha"
}
]
}
webhook-pull-request-review-dismissed
{
"type": "object",
"title": "pull_request_review dismissed event",
"required": [
"action",
"review",
"pull_request",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"dismissed"
],
"type": "string"
},
"review": {
"type": "object",
"required": [
"id",
"node_id",
"user",
"body",
"commit_id",
"submitted_at",
"state",
"html_url",
"pull_request_url",
"author_association",
"_links"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the review"
},
"body": {
"type": "string",
"nullable": true,
"description": "The text of the review."
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"state": {
"enum": [
"dismissed",
"approved",
"changes_requested"
],
"type": "string"
},
"_links": {
"type": "object",
"required": [
"html",
"pull_request"
],
"properties": {
"html": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"pull_request": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"commit_id": {
"type": "string",
"description": "A commit SHA for the review."
},
"updated_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"submitted_at": {
"type": "string",
"format": "date-time"
},
"pull_request_url": {
"type": "string",
"format": "uri"
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
}
},
"description": "The review that was affected."
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"pull_request": {
"type": "object",
"title": "Simple Pull Request",
"required": [
"url",
"id",
"node_id",
"html_url",
"diff_url",
"patch_url",
"issue_url",
"number",
"state",
"locked",
"title",
"user",
"body",
"created_at",
"updated_at",
"closed_at",
"merged_at",
"merge_commit_sha",
"assignee",
"assignees",
"requested_reviewers",
"requested_teams",
"labels",
"milestone",
"draft",
"commits_url",
"review_comments_url",
"review_comment_url",
"comments_url",
"statuses_url",
"head",
"base",
"_links",
"author_association",
"auto_merge",
"active_lock_reason"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"base": {
"type": "object",
"required": [
"label",
"ref",
"sha",
"user",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repository",
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"has_discussions",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"has_discussions": {
"type": "boolean",
"default": false,
"description": "Whether discussions are enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
},
"allow_update_branch": {
"type": "boolean"
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
},
"web_commit_signoff_required": {
"type": "boolean",
"description": "Whether to require contributors to sign off on web-based commits"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
},
"use_squash_pr_title_as_default": {
"type": "boolean",
"default": false,
"description": "Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead."
}
},
"description": "A git repository"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"label": {
"type": "string"
}
}
},
"body": {
"type": "string",
"nullable": true
},
"head": {
"type": "object",
"required": [
"label",
"ref",
"sha",
"user",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repository",
"nullable": true,
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"has_discussions",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"has_discussions": {
"type": "boolean",
"default": false,
"description": "Whether discussions are enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
},
"allow_update_branch": {
"type": "boolean"
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
},
"web_commit_signoff_required": {
"type": "boolean",
"description": "Whether to require contributors to sign off on web-based commits"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
},
"use_squash_pr_title_as_default": {
"type": "boolean",
"default": false,
"description": "Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead."
}
},
"description": "A git repository"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"label": {
"type": "string"
}
}
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"draft": {
"type": "boolean"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string"
},
"title": {
"type": "string"
},
"_links": {
"type": "object",
"required": [
"self",
"html",
"issue",
"comments",
"review_comments",
"review_comment",
"commits",
"statuses"
],
"properties": {
"html": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"self": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"issue": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"commits": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"comments": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"statuses": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"review_comment": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"review_comments": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
}
}
},
"labels": {
"type": "array",
"items": {
"type": "object",
"title": "Label",
"required": [
"id",
"node_id",
"url",
"name",
"color",
"default",
"description"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the label"
},
"name": {
"type": "string",
"description": "The name of the label."
},
"color": {
"type": "string",
"description": "6-character hex code, without the leading #, identifying the color"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
},
"locked": {
"type": "boolean"
},
"number": {
"type": "integer"
},
"node_id": {
"type": "string"
},
"assignee": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"diff_url": {
"type": "string",
"format": "uri"
},
"html_url": {
"type": "string",
"format": "uri"
},
"assignees": {
"type": "array",
"items": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
}
},
"closed_at": {
"type": "string",
"nullable": true
},
"issue_url": {
"type": "string",
"format": "uri"
},
"merged_at": {
"type": "string",
"nullable": true
},
"milestone": {
"type": "object",
"title": "Milestone",
"nullable": true,
"required": [
"url",
"html_url",
"labels_url",
"id",
"node_id",
"number",
"title",
"description",
"creator",
"open_issues",
"closed_issues",
"state",
"created_at",
"updated_at",
"due_on",
"closed_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "The state of the milestone."
},
"title": {
"type": "string",
"description": "The title of the milestone."
},
"due_on": {
"type": "string",
"format": "date-time",
"nullable": true
},
"number": {
"type": "integer",
"description": "The number of the milestone."
},
"creator": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"labels_url": {
"type": "string",
"format": "uri"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string",
"nullable": true
},
"open_issues": {
"type": "integer"
},
"closed_issues": {
"type": "integer"
}
},
"description": "A collection of related issues and pull requests."
},
"patch_url": {
"type": "string",
"format": "uri"
},
"auto_merge": {
"type": "object",
"title": "PullRequestAutoMerge",
"nullable": true,
"required": [
"enabled_by",
"merge_method",
"commit_title",
"commit_message"
],
"properties": {
"enabled_by": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"commit_title": {
"type": "string",
"nullable": true,
"description": "Title for the merge commit message."
},
"merge_method": {
"enum": [
"merge",
"squash",
"rebase"
],
"type": "string",
"description": "The merge method to use."
},
"commit_message": {
"type": "string",
"nullable": true,
"description": "Commit message for the merge commit."
}
},
"description": "The status of auto merging a pull request."
},
"created_at": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"commits_url": {
"type": "string",
"format": "uri"
},
"comments_url": {
"type": "string",
"format": "uri"
},
"statuses_url": {
"type": "string",
"format": "uri"
},
"requested_teams": {
"type": "array",
"items": {
"type": "object",
"title": "Team",
"required": [
"name",
"id"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"parent": {
"type": "object",
"nullable": true,
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
}
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
},
"merge_commit_sha": {
"type": "string",
"nullable": true
},
"active_lock_reason": {
"enum": [
"resolved",
"off-topic",
"too heated",
"spam",
null
],
"type": "string",
"nullable": true
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
},
"review_comment_url": {
"type": "string",
"format": "uri-template"
},
"requested_reviewers": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"title": "Team",
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"parent": {
"type": "object",
"nullable": true,
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
}
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
]
}
},
"review_comments_url": {
"type": "string",
"format": "uri"
}
}
}
},
"x-github-breaking-changes": [
{
"patch": [
{
"op": "remove",
"path": "/properties/pull_request/properties/base/properties/repo/properties/use_squash_pr_title_as_default"
},
{
"op": "remove",
"path": "/properties/pull_request/properties/head/properties/repo/properties/use_squash_pr_title_as_default"
}
],
"version": "2026-03-10",
"changeset": "remove_use_squash_pr_title_as_default"
},
{
"patch": [
{
"op": "remove",
"path": "/properties/pull_request/properties/merge_commit_sha"
},
{
"op": "remove",
"path": "/properties/pull_request/required/17"
}
],
"version": "2026-03-10",
"changeset": "remove_pull_request_merge_commit_sha"
}
]
}
webhook-pull-request-review-edited
{
"type": "object",
"title": "pull_request_review edited event",
"required": [
"action",
"changes",
"review",
"pull_request",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"edited"
],
"type": "string"
},
"review": {
"$ref": "#/components/schemas/webhooks_review"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"changes": {
"type": "object",
"properties": {
"body": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"type": "string",
"description": "The previous version of the body if the action was `edited`."
}
}
}
}
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"pull_request": {
"type": "object",
"title": "Simple Pull Request",
"required": [
"url",
"id",
"node_id",
"html_url",
"diff_url",
"patch_url",
"issue_url",
"number",
"state",
"locked",
"title",
"user",
"body",
"created_at",
"updated_at",
"closed_at",
"merged_at",
"merge_commit_sha",
"assignee",
"assignees",
"requested_reviewers",
"requested_teams",
"labels",
"milestone",
"draft",
"commits_url",
"review_comments_url",
"review_comment_url",
"comments_url",
"statuses_url",
"head",
"base",
"_links",
"author_association",
"auto_merge",
"active_lock_reason"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"base": {
"type": "object",
"required": [
"label",
"ref",
"sha",
"user",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repository",
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"allow_update_branch": {
"type": "boolean"
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
}
},
"description": "A git repository"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"label": {
"type": "string"
}
}
},
"body": {
"type": "string",
"nullable": true
},
"head": {
"type": "object",
"required": [
"label",
"ref",
"sha",
"user",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repository",
"nullable": true,
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"allow_update_branch": {
"type": "boolean"
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
}
},
"description": "A git repository"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"label": {
"type": "string"
}
}
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"draft": {
"type": "boolean"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string"
},
"title": {
"type": "string"
},
"_links": {
"type": "object",
"required": [
"self",
"html",
"issue",
"comments",
"review_comments",
"review_comment",
"commits",
"statuses"
],
"properties": {
"html": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"self": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"issue": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"commits": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"comments": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"statuses": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"review_comment": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"review_comments": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
}
}
},
"labels": {
"type": "array",
"items": {
"type": "object",
"title": "Label",
"required": [
"id",
"node_id",
"url",
"name",
"color",
"default",
"description"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the label"
},
"name": {
"type": "string",
"description": "The name of the label."
},
"color": {
"type": "string",
"description": "6-character hex code, without the leading #, identifying the color"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
},
"locked": {
"type": "boolean"
},
"number": {
"type": "integer"
},
"node_id": {
"type": "string"
},
"assignee": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"diff_url": {
"type": "string",
"format": "uri"
},
"html_url": {
"type": "string",
"format": "uri"
},
"assignees": {
"type": "array",
"items": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
}
},
"closed_at": {
"type": "string",
"nullable": true
},
"issue_url": {
"type": "string",
"format": "uri"
},
"merged_at": {
"type": "string",
"nullable": true
},
"milestone": {
"type": "object",
"title": "Milestone",
"nullable": true,
"required": [
"url",
"html_url",
"labels_url",
"id",
"node_id",
"number",
"title",
"description",
"creator",
"open_issues",
"closed_issues",
"state",
"created_at",
"updated_at",
"due_on",
"closed_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "The state of the milestone."
},
"title": {
"type": "string",
"description": "The title of the milestone."
},
"due_on": {
"type": "string",
"format": "date-time",
"nullable": true
},
"number": {
"type": "integer",
"description": "The number of the milestone."
},
"creator": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"labels_url": {
"type": "string",
"format": "uri"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string",
"nullable": true
},
"open_issues": {
"type": "integer"
},
"closed_issues": {
"type": "integer"
}
},
"description": "A collection of related issues and pull requests."
},
"patch_url": {
"type": "string",
"format": "uri"
},
"auto_merge": {
"type": "object",
"title": "PullRequestAutoMerge",
"nullable": true,
"required": [
"enabled_by",
"merge_method",
"commit_title",
"commit_message"
],
"properties": {
"enabled_by": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"commit_title": {
"type": "string",
"nullable": true,
"description": "Title for the merge commit message."
},
"merge_method": {
"enum": [
"merge",
"squash",
"rebase"
],
"type": "string",
"description": "The merge method to use."
},
"commit_message": {
"type": "string",
"nullable": true,
"description": "Commit message for the merge commit."
}
},
"description": "The status of auto merging a pull request."
},
"created_at": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"commits_url": {
"type": "string",
"format": "uri"
},
"comments_url": {
"type": "string",
"format": "uri"
},
"statuses_url": {
"type": "string",
"format": "uri"
},
"requested_teams": {
"type": "array",
"items": {
"type": "object",
"title": "Team",
"required": [
"name",
"id"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"parent": {
"type": "object",
"nullable": true,
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
}
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
},
"merge_commit_sha": {
"type": "string",
"nullable": true
},
"active_lock_reason": {
"enum": [
"resolved",
"off-topic",
"too heated",
"spam",
null
],
"type": "string",
"nullable": true
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
},
"review_comment_url": {
"type": "string",
"format": "uri-template"
},
"requested_reviewers": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"title": "Team",
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"parent": {
"type": "object",
"nullable": true,
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
}
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
]
}
},
"review_comments_url": {
"type": "string",
"format": "uri"
}
}
}
},
"x-github-breaking-changes": [
{
"patch": [
{
"op": "remove",
"path": "/properties/pull_request/properties/merge_commit_sha"
},
{
"op": "remove",
"path": "/properties/pull_request/required/17"
}
],
"version": "2026-03-10",
"changeset": "remove_pull_request_merge_commit_sha"
}
]
}
webhook-pull-request-review-request-removed
{
"oneOf": [
{
"type": "object",
"required": [
"requested_reviewer",
"action",
"number",
"pull_request",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"review_request_removed"
],
"type": "string"
},
"number": {
"type": "integer",
"description": "The pull request number."
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"pull_request": {
"type": "object",
"title": "Pull Request",
"required": [
"url",
"id",
"node_id",
"html_url",
"diff_url",
"patch_url",
"issue_url",
"number",
"state",
"locked",
"title",
"user",
"body",
"created_at",
"updated_at",
"closed_at",
"merged_at",
"merge_commit_sha",
"assignee",
"assignees",
"requested_reviewers",
"requested_teams",
"labels",
"milestone",
"commits_url",
"review_comments_url",
"review_comment_url",
"comments_url",
"statuses_url",
"head",
"base",
"_links",
"author_association",
"auto_merge",
"active_lock_reason",
"draft"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"base": {
"type": "object",
"required": [
"label",
"ref",
"sha",
"user",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repository",
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"has_discussions",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"has_discussions": {
"type": "boolean",
"default": false,
"description": "Whether discussions are enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
},
"allow_update_branch": {
"type": "boolean"
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"description": "The default value for a squash merge commit title."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"description": "The default value for a squash merge commit message."
},
"web_commit_signoff_required": {
"type": "boolean",
"description": "Whether to require contributors to sign off on web-based commits"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
},
"use_squash_pr_title_as_default": {
"type": "boolean",
"default": false,
"description": "Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead."
}
},
"description": "A git repository"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"label": {
"type": "string"
}
}
},
"body": {
"type": "string",
"nullable": true
},
"head": {
"type": "object",
"required": [
"label",
"ref",
"sha",
"user",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repository",
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"has_discussions",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"has_discussions": {
"type": "boolean",
"default": false,
"description": "Whether discussions are enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
},
"allow_update_branch": {
"type": "boolean"
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
},
"web_commit_signoff_required": {
"type": "boolean",
"description": "Whether to require contributors to sign off on web-based commits"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
},
"use_squash_pr_title_as_default": {
"type": "boolean",
"default": false,
"description": "Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead."
}
},
"description": "A git repository"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"label": {
"type": "string"
}
}
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"draft": {
"type": "boolean",
"description": "Indicates whether or not the pull request is a draft."
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "State of this Pull Request. Either `open` or `closed`."
},
"title": {
"type": "string",
"description": "The title of the pull request."
},
"_links": {
"type": "object",
"required": [
"self",
"html",
"issue",
"comments",
"review_comments",
"review_comment",
"commits",
"statuses"
],
"properties": {
"html": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"self": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"issue": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"commits": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"comments": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"statuses": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"review_comment": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"review_comments": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
}
}
},
"labels": {
"type": "array",
"items": {
"type": "object",
"title": "Label",
"required": [
"id",
"node_id",
"url",
"name",
"color",
"default",
"description"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the label"
},
"name": {
"type": "string",
"description": "The name of the label."
},
"color": {
"type": "string",
"description": "6-character hex code, without the leading #, identifying the color"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
},
"locked": {
"type": "boolean"
},
"merged": {
"type": "boolean",
"nullable": true
},
"number": {
"type": "integer",
"description": "Number uniquely identifying the pull request within its repository."
},
"commits": {
"type": "integer"
},
"node_id": {
"type": "string"
},
"assignee": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"comments": {
"type": "integer"
},
"diff_url": {
"type": "string",
"format": "uri"
},
"html_url": {
"type": "string",
"format": "uri"
},
"additions": {
"type": "integer"
},
"assignees": {
"type": "array",
"items": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
}
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"deletions": {
"type": "integer"
},
"issue_url": {
"type": "string",
"format": "uri"
},
"mergeable": {
"type": "boolean",
"nullable": true
},
"merged_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"merged_by": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"milestone": {
"type": "object",
"title": "Milestone",
"nullable": true,
"required": [
"url",
"html_url",
"labels_url",
"id",
"node_id",
"number",
"title",
"description",
"creator",
"open_issues",
"closed_issues",
"state",
"created_at",
"updated_at",
"due_on",
"closed_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "The state of the milestone."
},
"title": {
"type": "string",
"description": "The title of the milestone."
},
"due_on": {
"type": "string",
"format": "date-time",
"nullable": true
},
"number": {
"type": "integer",
"description": "The number of the milestone."
},
"creator": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"labels_url": {
"type": "string",
"format": "uri"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string",
"nullable": true
},
"open_issues": {
"type": "integer"
},
"closed_issues": {
"type": "integer"
}
},
"description": "A collection of related issues and pull requests."
},
"patch_url": {
"type": "string",
"format": "uri"
},
"auto_merge": {
"type": "object",
"title": "PullRequestAutoMerge",
"nullable": true,
"required": [
"enabled_by",
"merge_method",
"commit_title",
"commit_message"
],
"properties": {
"enabled_by": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"commit_title": {
"type": "string",
"nullable": true,
"description": "Title for the merge commit message."
},
"merge_method": {
"enum": [
"merge",
"squash",
"rebase"
],
"type": "string",
"description": "The merge method to use."
},
"commit_message": {
"type": "string",
"nullable": true,
"description": "Commit message for the merge commit."
}
},
"description": "The status of auto merging a pull request."
},
"created_at": {
"type": "string",
"format": "date-time"
},
"rebaseable": {
"type": "boolean",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"commits_url": {
"type": "string",
"format": "uri"
},
"comments_url": {
"type": "string",
"format": "uri"
},
"statuses_url": {
"type": "string",
"format": "uri"
},
"changed_files": {
"type": "integer"
},
"mergeable_state": {
"type": "string"
},
"requested_teams": {
"type": "array",
"items": {
"type": "object",
"title": "Team",
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"parent": {
"type": "object",
"nullable": true,
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
}
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
},
"review_comments": {
"type": "integer"
},
"merge_commit_sha": {
"type": "string",
"nullable": true
},
"active_lock_reason": {
"enum": [
"resolved",
"off-topic",
"too heated",
"spam",
null
],
"type": "string",
"nullable": true
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
},
"review_comment_url": {
"type": "string",
"format": "uri-template"
},
"requested_reviewers": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"title": "Team",
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"parent": {
"type": "object",
"nullable": true,
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
}
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
]
}
},
"review_comments_url": {
"type": "string",
"format": "uri"
},
"maintainer_can_modify": {
"type": "boolean",
"description": "Indicates whether maintainers can modify the pull request."
}
}
},
"requested_reviewer": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
}
}
},
{
"type": "object",
"required": [
"requested_team",
"action",
"number",
"pull_request",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"review_request_removed"
],
"type": "string"
},
"number": {
"type": "integer",
"description": "The pull request number."
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"pull_request": {
"type": "object",
"title": "Pull Request",
"required": [
"url",
"id",
"node_id",
"html_url",
"diff_url",
"patch_url",
"issue_url",
"number",
"state",
"locked",
"title",
"user",
"body",
"created_at",
"updated_at",
"closed_at",
"merged_at",
"merge_commit_sha",
"assignee",
"assignees",
"requested_reviewers",
"requested_teams",
"labels",
"milestone",
"commits_url",
"review_comments_url",
"review_comment_url",
"comments_url",
"statuses_url",
"head",
"base",
"_links",
"author_association",
"auto_merge",
"active_lock_reason",
"draft"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"base": {
"type": "object",
"required": [
"label",
"ref",
"sha",
"user",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repository",
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"has_discussions",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"has_discussions": {
"type": "boolean",
"default": false,
"description": "Whether discussions are enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
},
"allow_update_branch": {
"type": "boolean"
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
},
"web_commit_signoff_required": {
"type": "boolean",
"description": "Whether to require contributors to sign off on web-based commits"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
},
"use_squash_pr_title_as_default": {
"type": "boolean",
"default": false,
"description": "Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead."
}
},
"description": "A git repository"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"label": {
"type": "string"
}
}
},
"body": {
"type": "string",
"nullable": true
},
"head": {
"type": "object",
"required": [
"label",
"ref",
"sha",
"user",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repository",
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"has_discussions",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"has_discussions": {
"type": "boolean",
"default": false,
"description": "Whether discussions are enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
},
"allow_update_branch": {
"type": "boolean"
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
},
"web_commit_signoff_required": {
"type": "boolean",
"description": "Whether to require contributors to sign off on web-based commits"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
},
"use_squash_pr_title_as_default": {
"type": "boolean",
"default": false,
"description": "Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead."
}
},
"description": "A git repository"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"label": {
"type": "string"
}
}
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"draft": {
"type": "boolean",
"description": "Indicates whether or not the pull request is a draft."
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "State of this Pull Request. Either `open` or `closed`."
},
"title": {
"type": "string",
"description": "The title of the pull request."
},
"_links": {
"type": "object",
"required": [
"self",
"html",
"issue",
"comments",
"review_comments",
"review_comment",
"commits",
"statuses"
],
"properties": {
"html": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"self": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"issue": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"commits": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"comments": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"statuses": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"review_comment": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"review_comments": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
}
}
},
"labels": {
"type": "array",
"items": {
"type": "object",
"title": "Label",
"required": [
"id",
"node_id",
"url",
"name",
"color",
"default",
"description"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the label"
},
"name": {
"type": "string",
"description": "The name of the label."
},
"color": {
"type": "string",
"description": "6-character hex code, without the leading #, identifying the color"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
},
"locked": {
"type": "boolean"
},
"merged": {
"type": "boolean",
"nullable": true
},
"number": {
"type": "integer",
"description": "Number uniquely identifying the pull request within its repository."
},
"commits": {
"type": "integer"
},
"node_id": {
"type": "string"
},
"assignee": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"comments": {
"type": "integer"
},
"diff_url": {
"type": "string",
"format": "uri"
},
"html_url": {
"type": "string",
"format": "uri"
},
"additions": {
"type": "integer"
},
"assignees": {
"type": "array",
"items": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
}
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"deletions": {
"type": "integer"
},
"issue_url": {
"type": "string",
"format": "uri"
},
"mergeable": {
"type": "boolean",
"nullable": true
},
"merged_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"merged_by": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"milestone": {
"type": "object",
"title": "Milestone",
"nullable": true,
"required": [
"url",
"html_url",
"labels_url",
"id",
"node_id",
"number",
"title",
"description",
"creator",
"open_issues",
"closed_issues",
"state",
"created_at",
"updated_at",
"due_on",
"closed_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "The state of the milestone."
},
"title": {
"type": "string",
"description": "The title of the milestone."
},
"due_on": {
"type": "string",
"format": "date-time",
"nullable": true
},
"number": {
"type": "integer",
"description": "The number of the milestone."
},
"creator": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"labels_url": {
"type": "string",
"format": "uri"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string",
"nullable": true
},
"open_issues": {
"type": "integer"
},
"closed_issues": {
"type": "integer"
}
},
"description": "A collection of related issues and pull requests."
},
"patch_url": {
"type": "string",
"format": "uri"
},
"auto_merge": {
"type": "object",
"title": "PullRequestAutoMerge",
"nullable": true,
"required": [
"enabled_by",
"merge_method",
"commit_title",
"commit_message"
],
"properties": {
"enabled_by": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"commit_title": {
"type": "string",
"nullable": true,
"description": "Title for the merge commit message."
},
"merge_method": {
"enum": [
"merge",
"squash",
"rebase"
],
"type": "string",
"description": "The merge method to use."
},
"commit_message": {
"type": "string",
"nullable": true,
"description": "Commit message for the merge commit."
}
},
"description": "The status of auto merging a pull request."
},
"created_at": {
"type": "string",
"format": "date-time"
},
"rebaseable": {
"type": "boolean",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"commits_url": {
"type": "string",
"format": "uri"
},
"comments_url": {
"type": "string",
"format": "uri"
},
"statuses_url": {
"type": "string",
"format": "uri"
},
"changed_files": {
"type": "integer"
},
"mergeable_state": {
"type": "string"
},
"requested_teams": {
"type": "array",
"items": {
"type": "object",
"title": "Team",
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"parent": {
"type": "object",
"nullable": true,
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
}
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
},
"review_comments": {
"type": "integer"
},
"merge_commit_sha": {
"type": "string",
"nullable": true
},
"active_lock_reason": {
"enum": [
"resolved",
"off-topic",
"too heated",
"spam",
null
],
"type": "string",
"nullable": true
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
},
"review_comment_url": {
"type": "string",
"format": "uri-template"
},
"requested_reviewers": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"title": "Team",
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"parent": {
"type": "object",
"nullable": true,
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
}
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
]
}
},
"review_comments_url": {
"type": "string",
"format": "uri"
},
"maintainer_can_modify": {
"type": "boolean",
"description": "Indicates whether maintainers can modify the pull request."
}
}
},
"requested_team": {
"type": "object",
"title": "Team",
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"parent": {
"type": "object",
"nullable": true,
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
}
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
}
}
],
"title": "pull_request review_request_removed event",
"x-github-breaking-changes": [
{
"patch": [
{
"op": "remove",
"path": "/oneOf/0/properties/pull_request/properties/base/properties/repo/properties/use_squash_pr_title_as_default"
},
{
"op": "remove",
"path": "/oneOf/0/properties/pull_request/properties/head/properties/repo/properties/use_squash_pr_title_as_default"
},
{
"op": "remove",
"path": "/oneOf/1/properties/pull_request/properties/base/properties/repo/properties/use_squash_pr_title_as_default"
},
{
"op": "remove",
"path": "/oneOf/1/properties/pull_request/properties/head/properties/repo/properties/use_squash_pr_title_as_default"
}
],
"version": "2026-03-10",
"changeset": "remove_use_squash_pr_title_as_default"
},
{
"patch": [
{
"op": "remove",
"path": "/oneOf/0/properties/pull_request/properties/merge_commit_sha"
},
{
"op": "remove",
"path": "/oneOf/0/properties/pull_request/required/17"
},
{
"op": "remove",
"path": "/oneOf/1/properties/pull_request/properties/merge_commit_sha"
},
{
"op": "remove",
"path": "/oneOf/1/properties/pull_request/required/17"
}
],
"version": "2026-03-10",
"changeset": "remove_pull_request_merge_commit_sha"
}
]
}
webhook-pull-request-review-requested
{
"oneOf": [
{
"type": "object",
"required": [
"requested_reviewer",
"action",
"number",
"pull_request",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"review_requested"
],
"type": "string"
},
"number": {
"type": "integer",
"description": "The pull request number."
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"pull_request": {
"type": "object",
"title": "Pull Request",
"required": [
"url",
"id",
"node_id",
"html_url",
"diff_url",
"patch_url",
"issue_url",
"number",
"state",
"locked",
"title",
"user",
"body",
"created_at",
"updated_at",
"closed_at",
"merged_at",
"merge_commit_sha",
"assignee",
"assignees",
"requested_reviewers",
"requested_teams",
"labels",
"milestone",
"commits_url",
"review_comments_url",
"review_comment_url",
"comments_url",
"statuses_url",
"head",
"base",
"_links",
"author_association",
"auto_merge",
"active_lock_reason",
"draft"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"base": {
"type": "object",
"required": [
"label",
"ref",
"sha",
"user",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repository",
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"has_discussions",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"has_discussions": {
"type": "boolean",
"default": false,
"description": "Whether discussions are enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
},
"allow_update_branch": {
"type": "boolean"
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
},
"web_commit_signoff_required": {
"type": "boolean",
"description": "Whether to require contributors to sign off on web-based commits"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
},
"use_squash_pr_title_as_default": {
"type": "boolean",
"default": false,
"description": "Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead."
}
},
"description": "A git repository"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"label": {
"type": "string"
}
}
},
"body": {
"type": "string",
"nullable": true
},
"head": {
"type": "object",
"required": [
"label",
"ref",
"sha",
"user",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repository",
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"has_discussions",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"has_discussions": {
"type": "boolean",
"default": false,
"description": "Whether discussions are enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
},
"allow_update_branch": {
"type": "boolean"
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
},
"web_commit_signoff_required": {
"type": "boolean",
"description": "Whether to require contributors to sign off on web-based commits"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
},
"use_squash_pr_title_as_default": {
"type": "boolean",
"default": false,
"description": "Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead."
}
},
"description": "A git repository"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"label": {
"type": "string"
}
}
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"draft": {
"type": "boolean",
"description": "Indicates whether or not the pull request is a draft."
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "State of this Pull Request. Either `open` or `closed`."
},
"title": {
"type": "string",
"description": "The title of the pull request."
},
"_links": {
"type": "object",
"required": [
"self",
"html",
"issue",
"comments",
"review_comments",
"review_comment",
"commits",
"statuses"
],
"properties": {
"html": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"self": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"issue": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"commits": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"comments": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"statuses": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"review_comment": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"review_comments": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
}
}
},
"labels": {
"type": "array",
"items": {
"type": "object",
"title": "Label",
"required": [
"id",
"node_id",
"url",
"name",
"color",
"default",
"description"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the label"
},
"name": {
"type": "string",
"description": "The name of the label."
},
"color": {
"type": "string",
"description": "6-character hex code, without the leading #, identifying the color"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
},
"locked": {
"type": "boolean"
},
"merged": {
"type": "boolean",
"nullable": true
},
"number": {
"type": "integer",
"description": "Number uniquely identifying the pull request within its repository."
},
"commits": {
"type": "integer"
},
"node_id": {
"type": "string"
},
"assignee": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"comments": {
"type": "integer"
},
"diff_url": {
"type": "string",
"format": "uri"
},
"html_url": {
"type": "string",
"format": "uri"
},
"additions": {
"type": "integer"
},
"assignees": {
"type": "array",
"items": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
}
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"deletions": {
"type": "integer"
},
"issue_url": {
"type": "string",
"format": "uri"
},
"mergeable": {
"type": "boolean",
"nullable": true
},
"merged_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"merged_by": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"milestone": {
"type": "object",
"title": "Milestone",
"nullable": true,
"required": [
"url",
"html_url",
"labels_url",
"id",
"node_id",
"number",
"title",
"description",
"creator",
"open_issues",
"closed_issues",
"state",
"created_at",
"updated_at",
"due_on",
"closed_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "The state of the milestone."
},
"title": {
"type": "string",
"description": "The title of the milestone."
},
"due_on": {
"type": "string",
"format": "date-time",
"nullable": true
},
"number": {
"type": "integer",
"description": "The number of the milestone."
},
"creator": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"labels_url": {
"type": "string",
"format": "uri"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string",
"nullable": true
},
"open_issues": {
"type": "integer"
},
"closed_issues": {
"type": "integer"
}
},
"description": "A collection of related issues and pull requests."
},
"patch_url": {
"type": "string",
"format": "uri"
},
"auto_merge": {
"type": "object",
"title": "PullRequestAutoMerge",
"nullable": true,
"required": [
"enabled_by",
"merge_method",
"commit_title",
"commit_message"
],
"properties": {
"enabled_by": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"commit_title": {
"type": "string",
"nullable": true,
"description": "Title for the merge commit message."
},
"merge_method": {
"enum": [
"merge",
"squash",
"rebase"
],
"type": "string",
"description": "The merge method to use."
},
"commit_message": {
"type": "string",
"nullable": true,
"description": "Commit message for the merge commit."
}
},
"description": "The status of auto merging a pull request."
},
"created_at": {
"type": "string",
"format": "date-time"
},
"rebaseable": {
"type": "boolean",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"commits_url": {
"type": "string",
"format": "uri"
},
"comments_url": {
"type": "string",
"format": "uri"
},
"statuses_url": {
"type": "string",
"format": "uri"
},
"changed_files": {
"type": "integer"
},
"mergeable_state": {
"type": "string"
},
"requested_teams": {
"type": "array",
"items": {
"type": "object",
"title": "Team",
"required": [
"name",
"id"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"parent": {
"type": "object",
"nullable": true,
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
}
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
},
"review_comments": {
"type": "integer"
},
"merge_commit_sha": {
"type": "string",
"nullable": true
},
"active_lock_reason": {
"enum": [
"resolved",
"off-topic",
"too heated",
"spam",
null
],
"type": "string",
"nullable": true
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
},
"review_comment_url": {
"type": "string",
"format": "uri-template"
},
"requested_reviewers": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"title": "Team",
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"parent": {
"type": "object",
"nullable": true,
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
}
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
]
}
},
"review_comments_url": {
"type": "string",
"format": "uri"
},
"maintainer_can_modify": {
"type": "boolean",
"description": "Indicates whether maintainers can modify the pull request."
}
}
},
"requested_reviewer": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
}
}
},
{
"type": "object",
"required": [
"requested_team",
"action",
"number",
"pull_request",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"review_requested"
],
"type": "string"
},
"number": {
"type": "integer",
"description": "The pull request number."
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"pull_request": {
"type": "object",
"title": "Pull Request",
"required": [
"url",
"id",
"node_id",
"html_url",
"diff_url",
"patch_url",
"issue_url",
"number",
"state",
"locked",
"title",
"user",
"body",
"created_at",
"updated_at",
"closed_at",
"merged_at",
"merge_commit_sha",
"assignee",
"assignees",
"requested_reviewers",
"requested_teams",
"labels",
"milestone",
"commits_url",
"review_comments_url",
"review_comment_url",
"comments_url",
"statuses_url",
"head",
"base",
"_links",
"author_association",
"auto_merge",
"active_lock_reason",
"draft"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"base": {
"type": "object",
"required": [
"label",
"ref",
"sha",
"user",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repository",
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"has_discussions",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"has_discussions": {
"type": "boolean",
"default": false,
"description": "Whether discussions are enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
},
"allow_update_branch": {
"type": "boolean"
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
},
"web_commit_signoff_required": {
"type": "boolean",
"description": "Whether to require contributors to sign off on web-based commits"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
},
"use_squash_pr_title_as_default": {
"type": "boolean",
"default": false,
"description": "Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead."
}
},
"description": "A git repository"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"label": {
"type": "string"
}
}
},
"body": {
"type": "string",
"nullable": true
},
"head": {
"type": "object",
"required": [
"label",
"ref",
"sha",
"user",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repository",
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"has_discussions",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"has_discussions": {
"type": "boolean",
"default": false,
"description": "Whether discussions are enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
},
"allow_update_branch": {
"type": "boolean"
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
},
"web_commit_signoff_required": {
"type": "boolean",
"description": "Whether to require contributors to sign off on web-based commits"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
},
"use_squash_pr_title_as_default": {
"type": "boolean",
"default": false,
"description": "Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead."
}
},
"description": "A git repository"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"label": {
"type": "string"
}
}
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"draft": {
"type": "boolean",
"description": "Indicates whether or not the pull request is a draft."
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "State of this Pull Request. Either `open` or `closed`."
},
"title": {
"type": "string",
"description": "The title of the pull request."
},
"_links": {
"type": "object",
"required": [
"self",
"html",
"issue",
"comments",
"review_comments",
"review_comment",
"commits",
"statuses"
],
"properties": {
"html": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"self": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"issue": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"commits": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"comments": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"statuses": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"review_comment": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"review_comments": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
}
}
},
"labels": {
"type": "array",
"items": {
"type": "object",
"title": "Label",
"required": [
"id",
"node_id",
"url",
"name",
"color",
"default",
"description"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the label"
},
"name": {
"type": "string",
"description": "The name of the label."
},
"color": {
"type": "string",
"description": "6-character hex code, without the leading #, identifying the color"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
},
"locked": {
"type": "boolean"
},
"merged": {
"type": "boolean",
"nullable": true
},
"number": {
"type": "integer",
"description": "Number uniquely identifying the pull request within its repository."
},
"commits": {
"type": "integer"
},
"node_id": {
"type": "string"
},
"assignee": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"comments": {
"type": "integer"
},
"diff_url": {
"type": "string",
"format": "uri"
},
"html_url": {
"type": "string",
"format": "uri"
},
"additions": {
"type": "integer"
},
"assignees": {
"type": "array",
"items": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
}
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"deletions": {
"type": "integer"
},
"issue_url": {
"type": "string",
"format": "uri"
},
"mergeable": {
"type": "boolean",
"nullable": true
},
"merged_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"merged_by": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"milestone": {
"type": "object",
"title": "Milestone",
"nullable": true,
"required": [
"url",
"html_url",
"labels_url",
"id",
"node_id",
"number",
"title",
"description",
"creator",
"open_issues",
"closed_issues",
"state",
"created_at",
"updated_at",
"due_on",
"closed_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "The state of the milestone."
},
"title": {
"type": "string",
"description": "The title of the milestone."
},
"due_on": {
"type": "string",
"format": "date-time",
"nullable": true
},
"number": {
"type": "integer",
"description": "The number of the milestone."
},
"creator": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"labels_url": {
"type": "string",
"format": "uri"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string",
"nullable": true
},
"open_issues": {
"type": "integer"
},
"closed_issues": {
"type": "integer"
}
},
"description": "A collection of related issues and pull requests."
},
"patch_url": {
"type": "string",
"format": "uri"
},
"auto_merge": {
"type": "object",
"title": "PullRequestAutoMerge",
"nullable": true,
"required": [
"enabled_by",
"merge_method",
"commit_title",
"commit_message"
],
"properties": {
"enabled_by": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"commit_title": {
"type": "string",
"nullable": true,
"description": "Title for the merge commit message."
},
"merge_method": {
"enum": [
"merge",
"squash",
"rebase"
],
"type": "string",
"description": "The merge method to use."
},
"commit_message": {
"type": "string",
"nullable": true,
"description": "Commit message for the merge commit."
}
},
"description": "The status of auto merging a pull request."
},
"created_at": {
"type": "string",
"format": "date-time"
},
"rebaseable": {
"type": "boolean",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"commits_url": {
"type": "string",
"format": "uri"
},
"comments_url": {
"type": "string",
"format": "uri"
},
"statuses_url": {
"type": "string",
"format": "uri"
},
"changed_files": {
"type": "integer"
},
"mergeable_state": {
"type": "string"
},
"requested_teams": {
"type": "array",
"items": {
"type": "object",
"title": "Team",
"required": [
"name",
"id"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"parent": {
"type": "object",
"nullable": true,
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
}
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
},
"review_comments": {
"type": "integer"
},
"merge_commit_sha": {
"type": "string",
"nullable": true
},
"active_lock_reason": {
"enum": [
"resolved",
"off-topic",
"too heated",
"spam",
null
],
"type": "string",
"nullable": true
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
},
"review_comment_url": {
"type": "string",
"format": "uri-template"
},
"requested_reviewers": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"title": "Team",
"required": [
"name",
"id"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"parent": {
"type": "object",
"nullable": true,
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
}
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
]
}
},
"review_comments_url": {
"type": "string",
"format": "uri"
},
"maintainer_can_modify": {
"type": "boolean",
"description": "Indicates whether maintainers can modify the pull request."
}
}
},
"requested_team": {
"type": "object",
"title": "Team",
"required": [
"name",
"id"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"parent": {
"type": "object",
"nullable": true,
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
}
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
}
}
],
"title": "pull_request review_requested event",
"x-github-breaking-changes": [
{
"patch": [
{
"op": "remove",
"path": "/oneOf/0/properties/pull_request/properties/base/properties/repo/properties/use_squash_pr_title_as_default"
},
{
"op": "remove",
"path": "/oneOf/0/properties/pull_request/properties/head/properties/repo/properties/use_squash_pr_title_as_default"
},
{
"op": "remove",
"path": "/oneOf/1/properties/pull_request/properties/base/properties/repo/properties/use_squash_pr_title_as_default"
},
{
"op": "remove",
"path": "/oneOf/1/properties/pull_request/properties/head/properties/repo/properties/use_squash_pr_title_as_default"
}
],
"version": "2026-03-10",
"changeset": "remove_use_squash_pr_title_as_default"
},
{
"patch": [
{
"op": "remove",
"path": "/oneOf/0/properties/pull_request/properties/merge_commit_sha"
},
{
"op": "remove",
"path": "/oneOf/0/properties/pull_request/required/17"
},
{
"op": "remove",
"path": "/oneOf/1/properties/pull_request/properties/merge_commit_sha"
},
{
"op": "remove",
"path": "/oneOf/1/properties/pull_request/required/17"
}
],
"version": "2026-03-10",
"changeset": "remove_pull_request_merge_commit_sha"
}
]
}
webhook-pull-request-review-submitted
{
"type": "object",
"title": "pull_request_review submitted event",
"required": [
"action",
"review",
"pull_request",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"submitted"
],
"type": "string"
},
"review": {
"$ref": "#/components/schemas/webhooks_review"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"pull_request": {
"type": "object",
"title": "Simple Pull Request",
"required": [
"url",
"id",
"node_id",
"html_url",
"diff_url",
"patch_url",
"issue_url",
"number",
"state",
"locked",
"title",
"user",
"body",
"created_at",
"updated_at",
"closed_at",
"merged_at",
"merge_commit_sha",
"assignee",
"assignees",
"requested_reviewers",
"requested_teams",
"labels",
"milestone",
"draft",
"commits_url",
"review_comments_url",
"review_comment_url",
"comments_url",
"statuses_url",
"head",
"base",
"_links",
"author_association",
"auto_merge",
"active_lock_reason"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"base": {
"type": "object",
"required": [
"label",
"ref",
"sha",
"user",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repository",
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"has_discussions",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"has_discussions": {
"type": "boolean",
"default": false,
"description": "Whether discussions are enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
},
"allow_update_branch": {
"type": "boolean"
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
},
"web_commit_signoff_required": {
"type": "boolean",
"description": "Whether to require contributors to sign off on web-based commits"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
},
"use_squash_pr_title_as_default": {
"type": "boolean",
"default": false,
"description": "Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead."
}
},
"description": "A git repository"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"label": {
"type": "string"
}
}
},
"body": {
"type": "string",
"nullable": true
},
"head": {
"type": "object",
"required": [
"label",
"ref",
"sha",
"user",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repository",
"nullable": true,
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"has_discussions",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"has_discussions": {
"type": "boolean",
"default": false,
"description": "Whether discussions are enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
},
"allow_update_branch": {
"type": "boolean"
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
},
"web_commit_signoff_required": {
"type": "boolean",
"description": "Whether to require contributors to sign off on web-based commits"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
},
"use_squash_pr_title_as_default": {
"type": "boolean",
"default": false,
"description": "Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead."
}
},
"description": "A git repository"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"label": {
"type": "string",
"nullable": true
}
}
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"draft": {
"type": "boolean"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string"
},
"title": {
"type": "string"
},
"_links": {
"type": "object",
"required": [
"self",
"html",
"issue",
"comments",
"review_comments",
"review_comment",
"commits",
"statuses"
],
"properties": {
"html": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"self": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"issue": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"commits": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"comments": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"statuses": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"review_comment": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"review_comments": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
}
}
},
"labels": {
"type": "array",
"items": {
"type": "object",
"title": "Label",
"required": [
"id",
"node_id",
"url",
"name",
"color",
"default",
"description"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the label"
},
"name": {
"type": "string",
"description": "The name of the label."
},
"color": {
"type": "string",
"description": "6-character hex code, without the leading #, identifying the color"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
},
"locked": {
"type": "boolean"
},
"number": {
"type": "integer"
},
"node_id": {
"type": "string"
},
"assignee": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"diff_url": {
"type": "string",
"format": "uri"
},
"html_url": {
"type": "string",
"format": "uri"
},
"assignees": {
"type": "array",
"items": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
}
},
"closed_at": {
"type": "string",
"nullable": true
},
"issue_url": {
"type": "string",
"format": "uri"
},
"merged_at": {
"type": "string",
"nullable": true
},
"milestone": {
"type": "object",
"title": "Milestone",
"nullable": true,
"required": [
"url",
"html_url",
"labels_url",
"id",
"node_id",
"number",
"title",
"description",
"creator",
"open_issues",
"closed_issues",
"state",
"created_at",
"updated_at",
"due_on",
"closed_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "The state of the milestone."
},
"title": {
"type": "string",
"description": "The title of the milestone."
},
"due_on": {
"type": "string",
"format": "date-time",
"nullable": true
},
"number": {
"type": "integer",
"description": "The number of the milestone."
},
"creator": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"labels_url": {
"type": "string",
"format": "uri"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string",
"nullable": true
},
"open_issues": {
"type": "integer"
},
"closed_issues": {
"type": "integer"
}
},
"description": "A collection of related issues and pull requests."
},
"patch_url": {
"type": "string",
"format": "uri"
},
"auto_merge": {
"type": "object",
"title": "PullRequestAutoMerge",
"nullable": true,
"required": [
"enabled_by",
"merge_method",
"commit_title",
"commit_message"
],
"properties": {
"enabled_by": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"commit_title": {
"type": "string",
"nullable": true,
"description": "Title for the merge commit message."
},
"merge_method": {
"enum": [
"merge",
"squash",
"rebase"
],
"type": "string",
"description": "The merge method to use."
},
"commit_message": {
"type": "string",
"nullable": true,
"description": "Commit message for the merge commit."
}
},
"description": "The status of auto merging a pull request."
},
"created_at": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"commits_url": {
"type": "string",
"format": "uri"
},
"comments_url": {
"type": "string",
"format": "uri"
},
"statuses_url": {
"type": "string",
"format": "uri"
},
"requested_teams": {
"type": "array",
"items": {
"type": "object",
"title": "Team",
"required": [
"name",
"id"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"parent": {
"type": "object",
"nullable": true,
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
}
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
},
"merge_commit_sha": {
"type": "string",
"nullable": true
},
"active_lock_reason": {
"enum": [
"resolved",
"off-topic",
"too heated",
"spam",
null
],
"type": "string",
"nullable": true
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
},
"review_comment_url": {
"type": "string",
"format": "uri-template"
},
"requested_reviewers": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"title": "Team",
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"parent": {
"type": "object",
"nullable": true,
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
}
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
]
}
},
"review_comments_url": {
"type": "string",
"format": "uri"
}
}
}
},
"x-github-breaking-changes": [
{
"patch": [
{
"op": "remove",
"path": "/properties/pull_request/properties/base/properties/repo/properties/use_squash_pr_title_as_default"
},
{
"op": "remove",
"path": "/properties/pull_request/properties/head/properties/repo/properties/use_squash_pr_title_as_default"
}
],
"version": "2026-03-10",
"changeset": "remove_use_squash_pr_title_as_default"
},
{
"patch": [
{
"op": "remove",
"path": "/properties/pull_request/properties/merge_commit_sha"
},
{
"op": "remove",
"path": "/properties/pull_request/required/17"
}
],
"version": "2026-03-10",
"changeset": "remove_pull_request_merge_commit_sha"
}
]
}
webhook-pull-request-review-thread-resolved
{
"type": "object",
"title": "pull_request_review_thread resolved event",
"required": [
"action",
"thread",
"pull_request",
"repository"
],
"properties": {
"action": {
"enum": [
"resolved"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"thread": {
"type": "object",
"required": [
"node_id",
"comments"
],
"properties": {
"node_id": {
"type": "string"
},
"comments": {
"type": "array",
"items": {
"type": "object",
"title": "Pull Request Review Comment",
"required": [
"url",
"pull_request_review_id",
"id",
"node_id",
"diff_hunk",
"path",
"position",
"original_position",
"commit_id",
"original_commit_id",
"user",
"body",
"created_at",
"updated_at",
"html_url",
"pull_request_url",
"author_association",
"_links",
"start_line",
"original_start_line",
"original_line",
"line",
"start_side",
"side",
"reactions"
],
"properties": {
"id": {
"type": "integer",
"description": "The ID of the pull request review comment."
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the pull request review comment"
},
"body": {
"type": "string",
"description": "The text of the comment."
},
"line": {
"type": "integer",
"nullable": true,
"description": "The line of the blob to which the comment applies. The last line of the range for a multi-line comment"
},
"path": {
"type": "string",
"description": "The relative path of the file to which the comment applies."
},
"side": {
"enum": [
"LEFT",
"RIGHT"
],
"type": "string",
"description": "The side of the first line of the range for a multi-line comment."
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"_links": {
"type": "object",
"required": [
"self",
"html",
"pull_request"
],
"properties": {
"html": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"self": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"pull_request": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
}
}
},
"node_id": {
"type": "string",
"description": "The node ID of the pull request review comment."
},
"html_url": {
"type": "string",
"format": "uri",
"description": "HTML URL for the pull request review comment."
},
"position": {
"type": "integer",
"nullable": true,
"description": "The line index in the diff to which the comment applies."
},
"commit_id": {
"type": "string",
"description": "The SHA of the commit to which the comment applies."
},
"diff_hunk": {
"type": "string",
"description": "The diff of the line that the comment refers to."
},
"reactions": {
"type": "object",
"title": "Reactions",
"required": [
"url",
"total_count",
"+1",
"-1",
"laugh",
"confused",
"heart",
"hooray",
"eyes",
"rocket"
],
"properties": {
"+1": {
"type": "integer"
},
"-1": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"eyes": {
"type": "integer"
},
"heart": {
"type": "integer"
},
"laugh": {
"type": "integer"
},
"hooray": {
"type": "integer"
},
"rocket": {
"type": "integer"
},
"confused": {
"type": "integer"
},
"total_count": {
"type": "integer"
}
}
},
"created_at": {
"type": "string",
"format": "date-time"
},
"start_line": {
"type": "integer",
"nullable": true,
"description": "The first line of the range for a multi-line comment."
},
"start_side": {
"enum": [
"LEFT",
"RIGHT",
null
],
"type": "string",
"default": "RIGHT",
"nullable": true,
"description": "The side of the first line of the range for a multi-line comment."
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"subject_type": {
"enum": [
"line",
"file"
],
"type": "string",
"description": "The level at which the comment is targeted, can be a diff line or a file."
},
"original_line": {
"type": "integer",
"nullable": true,
"description": "The line of the blob to which the comment applies. The last line of the range for a multi-line comment"
},
"in_reply_to_id": {
"type": "integer",
"description": "The comment ID to reply to."
},
"pull_request_url": {
"type": "string",
"format": "uri",
"description": "URL for the pull request that the review comment belongs to."
},
"original_position": {
"type": "integer",
"description": "The index of the original line in the diff to which the comment applies."
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
},
"original_commit_id": {
"type": "string",
"description": "The SHA of the original commit to which the comment applies."
},
"original_start_line": {
"type": "integer",
"nullable": true,
"description": "The first line of the range for a multi-line comment."
},
"pull_request_review_id": {
"type": "integer",
"nullable": true,
"description": "The ID of the pull request review to which the comment belongs."
}
},
"description": "The [comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request) itself."
}
}
}
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"updated_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"pull_request": {
"type": "object",
"title": "Simple Pull Request",
"required": [
"url",
"id",
"node_id",
"html_url",
"diff_url",
"patch_url",
"issue_url",
"number",
"state",
"locked",
"title",
"user",
"body",
"created_at",
"updated_at",
"closed_at",
"merged_at",
"merge_commit_sha",
"assignee",
"assignees",
"requested_reviewers",
"requested_teams",
"labels",
"milestone",
"draft",
"commits_url",
"review_comments_url",
"review_comment_url",
"comments_url",
"statuses_url",
"head",
"base",
"_links",
"author_association",
"auto_merge",
"active_lock_reason"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"base": {
"type": "object",
"required": [
"label",
"ref",
"sha",
"user",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repository",
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"has_discussions",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"has_discussions": {
"type": "boolean",
"default": false,
"description": "Whether discussions are enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"allow_update_branch": {
"type": "boolean"
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"web_commit_signoff_required": {
"type": "boolean",
"description": "Whether to require contributors to sign off on web-based commits"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
}
},
"description": "A git repository"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"label": {
"type": "string"
}
}
},
"body": {
"type": "string",
"nullable": true
},
"head": {
"type": "object",
"required": [
"label",
"ref",
"sha",
"user",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repository",
"nullable": true,
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"has_discussions",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"has_discussions": {
"type": "boolean",
"default": false,
"description": "Whether discussions are enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"allow_update_branch": {
"type": "boolean"
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"web_commit_signoff_required": {
"type": "boolean",
"description": "Whether to require contributors to sign off on web-based commits"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
}
},
"description": "A git repository"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"label": {
"type": "string",
"nullable": true
}
}
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"draft": {
"type": "boolean"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string"
},
"title": {
"type": "string"
},
"_links": {
"type": "object",
"required": [
"self",
"html",
"issue",
"comments",
"review_comments",
"review_comment",
"commits",
"statuses"
],
"properties": {
"html": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"self": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"issue": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"commits": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"comments": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"statuses": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"review_comment": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"review_comments": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
}
}
},
"labels": {
"type": "array",
"items": {
"type": "object",
"title": "Label",
"required": [
"id",
"node_id",
"url",
"name",
"color",
"default",
"description"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the label"
},
"name": {
"type": "string",
"description": "The name of the label."
},
"color": {
"type": "string",
"description": "6-character hex code, without the leading #, identifying the color"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
},
"locked": {
"type": "boolean"
},
"number": {
"type": "integer"
},
"node_id": {
"type": "string"
},
"assignee": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"diff_url": {
"type": "string",
"format": "uri"
},
"html_url": {
"type": "string",
"format": "uri"
},
"assignees": {
"type": "array",
"items": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
}
},
"closed_at": {
"type": "string",
"nullable": true
},
"issue_url": {
"type": "string",
"format": "uri"
},
"merged_at": {
"type": "string",
"nullable": true
},
"milestone": {
"type": "object",
"title": "Milestone",
"nullable": true,
"required": [
"url",
"html_url",
"labels_url",
"id",
"node_id",
"number",
"title",
"description",
"creator",
"open_issues",
"closed_issues",
"state",
"created_at",
"updated_at",
"due_on",
"closed_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "The state of the milestone."
},
"title": {
"type": "string",
"description": "The title of the milestone."
},
"due_on": {
"type": "string",
"format": "date-time",
"nullable": true
},
"number": {
"type": "integer",
"description": "The number of the milestone."
},
"creator": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"labels_url": {
"type": "string",
"format": "uri"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string",
"nullable": true
},
"open_issues": {
"type": "integer"
},
"closed_issues": {
"type": "integer"
}
},
"description": "A collection of related issues and pull requests."
},
"patch_url": {
"type": "string",
"format": "uri"
},
"auto_merge": {
"type": "object",
"title": "PullRequestAutoMerge",
"nullable": true,
"required": [
"enabled_by",
"merge_method",
"commit_title",
"commit_message"
],
"properties": {
"enabled_by": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"commit_title": {
"type": "string",
"nullable": true,
"description": "Title for the merge commit message."
},
"merge_method": {
"enum": [
"merge",
"squash",
"rebase"
],
"type": "string",
"description": "The merge method to use."
},
"commit_message": {
"type": "string",
"nullable": true,
"description": "Commit message for the merge commit."
}
},
"description": "The status of auto merging a pull request."
},
"created_at": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"commits_url": {
"type": "string",
"format": "uri"
},
"comments_url": {
"type": "string",
"format": "uri"
},
"statuses_url": {
"type": "string",
"format": "uri"
},
"requested_teams": {
"type": "array",
"items": {
"type": "object",
"title": "Team",
"required": [
"name",
"id"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"parent": {
"type": "object",
"nullable": true,
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
}
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
},
"merge_commit_sha": {
"type": "string",
"nullable": true
},
"active_lock_reason": {
"enum": [
"resolved",
"off-topic",
"too heated",
"spam",
null
],
"type": "string",
"nullable": true
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
},
"review_comment_url": {
"type": "string",
"format": "uri-template"
},
"requested_reviewers": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"title": "Team",
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"parent": {
"type": "object",
"nullable": true,
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
}
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
]
}
},
"review_comments_url": {
"type": "string",
"format": "uri"
}
}
}
},
"x-github-breaking-changes": [
{
"patch": [
{
"op": "remove",
"path": "/properties/pull_request/properties/merge_commit_sha"
},
{
"op": "remove",
"path": "/properties/pull_request/required/17"
}
],
"version": "2026-03-10",
"changeset": "remove_pull_request_merge_commit_sha"
}
]
}
webhook-pull-request-review-thread-unresolved
{
"type": "object",
"title": "pull_request_review_thread unresolved event",
"required": [
"action",
"thread",
"pull_request",
"repository"
],
"properties": {
"action": {
"enum": [
"unresolved"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"thread": {
"type": "object",
"required": [
"node_id",
"comments"
],
"properties": {
"node_id": {
"type": "string"
},
"comments": {
"type": "array",
"items": {
"type": "object",
"title": "Pull Request Review Comment",
"required": [
"url",
"pull_request_review_id",
"id",
"node_id",
"diff_hunk",
"path",
"position",
"original_position",
"commit_id",
"original_commit_id",
"user",
"body",
"created_at",
"updated_at",
"html_url",
"pull_request_url",
"author_association",
"_links",
"start_line",
"original_start_line",
"original_line",
"line",
"start_side",
"side",
"reactions"
],
"properties": {
"id": {
"type": "integer",
"description": "The ID of the pull request review comment."
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the pull request review comment"
},
"body": {
"type": "string",
"description": "The text of the comment."
},
"line": {
"type": "integer",
"nullable": true,
"description": "The line of the blob to which the comment applies. The last line of the range for a multi-line comment"
},
"path": {
"type": "string",
"description": "The relative path of the file to which the comment applies."
},
"side": {
"enum": [
"LEFT",
"RIGHT"
],
"type": "string",
"description": "The side of the first line of the range for a multi-line comment."
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"_links": {
"type": "object",
"required": [
"self",
"html",
"pull_request"
],
"properties": {
"html": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"self": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"pull_request": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
}
}
},
"node_id": {
"type": "string",
"description": "The node ID of the pull request review comment."
},
"html_url": {
"type": "string",
"format": "uri",
"description": "HTML URL for the pull request review comment."
},
"position": {
"type": "integer",
"nullable": true,
"description": "The line index in the diff to which the comment applies."
},
"commit_id": {
"type": "string",
"description": "The SHA of the commit to which the comment applies."
},
"diff_hunk": {
"type": "string",
"description": "The diff of the line that the comment refers to."
},
"reactions": {
"type": "object",
"title": "Reactions",
"required": [
"url",
"total_count",
"+1",
"-1",
"laugh",
"confused",
"heart",
"hooray",
"eyes",
"rocket"
],
"properties": {
"+1": {
"type": "integer"
},
"-1": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"eyes": {
"type": "integer"
},
"heart": {
"type": "integer"
},
"laugh": {
"type": "integer"
},
"hooray": {
"type": "integer"
},
"rocket": {
"type": "integer"
},
"confused": {
"type": "integer"
},
"total_count": {
"type": "integer"
}
}
},
"created_at": {
"type": "string",
"format": "date-time"
},
"start_line": {
"type": "integer",
"nullable": true,
"description": "The first line of the range for a multi-line comment."
},
"start_side": {
"enum": [
"LEFT",
"RIGHT",
null
],
"type": "string",
"default": "RIGHT",
"nullable": true,
"description": "The side of the first line of the range for a multi-line comment."
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"subject_type": {
"enum": [
"line",
"file"
],
"type": "string",
"description": "The level at which the comment is targeted, can be a diff line or a file."
},
"original_line": {
"type": "integer",
"description": "The line of the blob to which the comment applies. The last line of the range for a multi-line comment"
},
"in_reply_to_id": {
"type": "integer",
"description": "The comment ID to reply to."
},
"pull_request_url": {
"type": "string",
"format": "uri",
"description": "URL for the pull request that the review comment belongs to."
},
"original_position": {
"type": "integer",
"description": "The index of the original line in the diff to which the comment applies."
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
},
"original_commit_id": {
"type": "string",
"description": "The SHA of the original commit to which the comment applies."
},
"original_start_line": {
"type": "integer",
"nullable": true,
"description": "The first line of the range for a multi-line comment."
},
"pull_request_review_id": {
"type": "integer",
"nullable": true,
"description": "The ID of the pull request review to which the comment belongs."
}
},
"description": "The [comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request) itself."
}
}
}
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"updated_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"pull_request": {
"type": "object",
"title": "Simple Pull Request",
"required": [
"url",
"id",
"node_id",
"html_url",
"diff_url",
"patch_url",
"issue_url",
"number",
"state",
"locked",
"title",
"user",
"body",
"created_at",
"updated_at",
"closed_at",
"merged_at",
"merge_commit_sha",
"assignee",
"assignees",
"requested_reviewers",
"requested_teams",
"labels",
"milestone",
"draft",
"commits_url",
"review_comments_url",
"review_comment_url",
"comments_url",
"statuses_url",
"head",
"base",
"_links",
"author_association",
"auto_merge",
"active_lock_reason"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"base": {
"type": "object",
"required": [
"label",
"ref",
"sha",
"user",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repository",
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"has_discussions",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"has_discussions": {
"type": "boolean",
"default": false,
"description": "Whether discussions are enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"allow_update_branch": {
"type": "boolean"
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"web_commit_signoff_required": {
"type": "boolean",
"description": "Whether to require contributors to sign off on web-based commits"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
}
},
"description": "A git repository"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"label": {
"type": "string"
}
}
},
"body": {
"type": "string",
"nullable": true
},
"head": {
"type": "object",
"required": [
"label",
"ref",
"sha",
"user",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repository",
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"has_discussions",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"has_discussions": {
"type": "boolean",
"default": false,
"description": "Whether discussions are enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"allow_update_branch": {
"type": "boolean"
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"web_commit_signoff_required": {
"type": "boolean",
"description": "Whether to require contributors to sign off on web-based commits"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
}
},
"description": "A git repository"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"label": {
"type": "string"
}
}
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"draft": {
"type": "boolean"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string"
},
"title": {
"type": "string"
},
"_links": {
"type": "object",
"required": [
"self",
"html",
"issue",
"comments",
"review_comments",
"review_comment",
"commits",
"statuses"
],
"properties": {
"html": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"self": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"issue": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"commits": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"comments": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"statuses": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"review_comment": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"review_comments": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
}
}
},
"labels": {
"type": "array",
"items": {
"type": "object",
"title": "Label",
"required": [
"id",
"node_id",
"url",
"name",
"color",
"default",
"description"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the label"
},
"name": {
"type": "string",
"description": "The name of the label."
},
"color": {
"type": "string",
"description": "6-character hex code, without the leading #, identifying the color"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
},
"locked": {
"type": "boolean"
},
"number": {
"type": "integer"
},
"node_id": {
"type": "string"
},
"assignee": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"diff_url": {
"type": "string",
"format": "uri"
},
"html_url": {
"type": "string",
"format": "uri"
},
"assignees": {
"type": "array",
"items": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
}
},
"closed_at": {
"type": "string",
"nullable": true
},
"issue_url": {
"type": "string",
"format": "uri"
},
"merged_at": {
"type": "string",
"nullable": true
},
"milestone": {
"type": "object",
"title": "Milestone",
"nullable": true,
"required": [
"url",
"html_url",
"labels_url",
"id",
"node_id",
"number",
"title",
"description",
"creator",
"open_issues",
"closed_issues",
"state",
"created_at",
"updated_at",
"due_on",
"closed_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "The state of the milestone."
},
"title": {
"type": "string",
"description": "The title of the milestone."
},
"due_on": {
"type": "string",
"format": "date-time",
"nullable": true
},
"number": {
"type": "integer",
"description": "The number of the milestone."
},
"creator": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"labels_url": {
"type": "string",
"format": "uri"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string",
"nullable": true
},
"open_issues": {
"type": "integer"
},
"closed_issues": {
"type": "integer"
}
},
"description": "A collection of related issues and pull requests."
},
"patch_url": {
"type": "string",
"format": "uri"
},
"auto_merge": {
"type": "object",
"title": "PullRequestAutoMerge",
"nullable": true,
"required": [
"enabled_by",
"merge_method",
"commit_title",
"commit_message"
],
"properties": {
"enabled_by": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"commit_title": {
"type": "string",
"description": "Title for the merge commit message."
},
"merge_method": {
"enum": [
"merge",
"squash",
"rebase"
],
"type": "string",
"description": "The merge method to use."
},
"commit_message": {
"type": "string",
"nullable": true,
"description": "Commit message for the merge commit."
}
},
"description": "The status of auto merging a pull request."
},
"created_at": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"commits_url": {
"type": "string",
"format": "uri"
},
"comments_url": {
"type": "string",
"format": "uri"
},
"statuses_url": {
"type": "string",
"format": "uri"
},
"requested_teams": {
"type": "array",
"items": {
"type": "object",
"title": "Team",
"required": [
"name",
"id"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"parent": {
"type": "object",
"nullable": true,
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
}
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
},
"merge_commit_sha": {
"type": "string",
"nullable": true
},
"active_lock_reason": {
"enum": [
"resolved",
"off-topic",
"too heated",
"spam",
null
],
"type": "string",
"nullable": true
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
},
"review_comment_url": {
"type": "string",
"format": "uri-template"
},
"requested_reviewers": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"title": "Team",
"required": [
"name",
"id"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"parent": {
"type": "object",
"nullable": true,
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
}
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
]
}
},
"review_comments_url": {
"type": "string",
"format": "uri"
}
}
}
},
"x-github-breaking-changes": [
{
"patch": [
{
"op": "remove",
"path": "/properties/pull_request/properties/merge_commit_sha"
},
{
"op": "remove",
"path": "/properties/pull_request/required/17"
}
],
"version": "2026-03-10",
"changeset": "remove_pull_request_merge_commit_sha"
}
]
}
webhook-pull-request-synchronize
{
"type": "object",
"title": "pull_request synchronize event",
"required": [
"action",
"number",
"before",
"after",
"pull_request",
"repository",
"sender"
],
"properties": {
"after": {
"type": "string"
},
"action": {
"enum": [
"synchronize"
],
"type": "string"
},
"before": {
"type": "string"
},
"number": {
"$ref": "#/components/schemas/webhooks_number"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"pull_request": {
"type": "object",
"title": "Pull Request",
"required": [
"url",
"id",
"node_id",
"html_url",
"diff_url",
"patch_url",
"issue_url",
"number",
"state",
"locked",
"title",
"user",
"body",
"created_at",
"updated_at",
"closed_at",
"merged_at",
"merge_commit_sha",
"assignee",
"assignees",
"requested_reviewers",
"requested_teams",
"labels",
"milestone",
"commits_url",
"review_comments_url",
"review_comment_url",
"comments_url",
"statuses_url",
"head",
"base",
"_links",
"author_association",
"auto_merge",
"active_lock_reason",
"draft"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"base": {
"type": "object",
"required": [
"label",
"ref",
"sha",
"user",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repository",
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"has_discussions",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"has_discussions": {
"type": "boolean",
"default": false,
"description": "Whether discussions are enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
},
"allow_update_branch": {
"type": "boolean"
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
},
"web_commit_signoff_required": {
"type": "boolean",
"description": "Whether to require contributors to sign off on web-based commits"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
},
"use_squash_pr_title_as_default": {
"type": "boolean",
"default": false,
"description": "Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead."
}
},
"description": "A git repository"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"label": {
"type": "string"
}
}
},
"body": {
"type": "string",
"nullable": true
},
"head": {
"type": "object",
"required": [
"label",
"ref",
"sha",
"user",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repository",
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"has_discussions",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"has_discussions": {
"type": "boolean",
"default": false,
"description": "Whether discussions are enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"description": "The default value for a merge commit message title."
},
"allow_update_branch": {
"type": "boolean"
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"description": "The default value for a merge commit message."
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
},
"web_commit_signoff_required": {
"type": "boolean",
"description": "Whether to require contributors to sign off on web-based commits"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
},
"use_squash_pr_title_as_default": {
"type": "boolean",
"default": false,
"description": "Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead."
}
},
"description": "A git repository"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"label": {
"type": "string"
}
}
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"draft": {
"type": "boolean",
"description": "Indicates whether or not the pull request is a draft."
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "State of this Pull Request. Either `open` or `closed`."
},
"title": {
"type": "string",
"description": "The title of the pull request."
},
"_links": {
"type": "object",
"required": [
"self",
"html",
"issue",
"comments",
"review_comments",
"review_comment",
"commits",
"statuses"
],
"properties": {
"html": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"self": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"issue": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"commits": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"comments": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"statuses": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"review_comment": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"review_comments": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
}
}
},
"labels": {
"type": "array",
"items": {
"type": "object",
"title": "Label",
"required": [
"id",
"node_id",
"url",
"name",
"color",
"default",
"description"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the label"
},
"name": {
"type": "string",
"description": "The name of the label."
},
"color": {
"type": "string",
"description": "6-character hex code, without the leading #, identifying the color"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
},
"locked": {
"type": "boolean"
},
"merged": {
"type": "boolean",
"nullable": true
},
"number": {
"type": "integer",
"description": "Number uniquely identifying the pull request within its repository."
},
"commits": {
"type": "integer"
},
"node_id": {
"type": "string"
},
"assignee": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"comments": {
"type": "integer"
},
"diff_url": {
"type": "string",
"format": "uri"
},
"html_url": {
"type": "string",
"format": "uri"
},
"additions": {
"type": "integer"
},
"assignees": {
"type": "array",
"items": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
}
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"deletions": {
"type": "integer"
},
"issue_url": {
"type": "string",
"format": "uri"
},
"mergeable": {
"type": "boolean",
"nullable": true
},
"merged_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"merged_by": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"milestone": {
"type": "object",
"title": "Milestone",
"nullable": true,
"required": [
"url",
"html_url",
"labels_url",
"id",
"node_id",
"number",
"title",
"description",
"creator",
"open_issues",
"closed_issues",
"state",
"created_at",
"updated_at",
"due_on",
"closed_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "The state of the milestone."
},
"title": {
"type": "string",
"description": "The title of the milestone."
},
"due_on": {
"type": "string",
"format": "date-time",
"nullable": true
},
"number": {
"type": "integer",
"description": "The number of the milestone."
},
"creator": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"labels_url": {
"type": "string",
"format": "uri"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string",
"nullable": true
},
"open_issues": {
"type": "integer"
},
"closed_issues": {
"type": "integer"
}
},
"description": "A collection of related issues and pull requests."
},
"patch_url": {
"type": "string",
"format": "uri"
},
"auto_merge": {
"type": "object",
"title": "PullRequestAutoMerge",
"nullable": true,
"required": [
"enabled_by",
"merge_method",
"commit_title",
"commit_message"
],
"properties": {
"enabled_by": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"commit_title": {
"type": "string",
"nullable": true,
"description": "Title for the merge commit message."
},
"merge_method": {
"enum": [
"merge",
"squash",
"rebase"
],
"type": "string",
"description": "The merge method to use."
},
"commit_message": {
"type": "string",
"nullable": true,
"description": "Commit message for the merge commit."
}
},
"description": "The status of auto merging a pull request."
},
"created_at": {
"type": "string",
"format": "date-time"
},
"rebaseable": {
"type": "boolean",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"commits_url": {
"type": "string",
"format": "uri"
},
"comments_url": {
"type": "string",
"format": "uri"
},
"statuses_url": {
"type": "string",
"format": "uri"
},
"changed_files": {
"type": "integer"
},
"mergeable_state": {
"type": "string"
},
"requested_teams": {
"type": "array",
"items": {
"type": "object",
"title": "Team",
"required": [
"name",
"id"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"parent": {
"type": "object",
"nullable": true,
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
}
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
},
"review_comments": {
"type": "integer"
},
"merge_commit_sha": {
"type": "string",
"nullable": true
},
"active_lock_reason": {
"enum": [
"resolved",
"off-topic",
"too heated",
"spam",
null
],
"type": "string",
"nullable": true
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
},
"review_comment_url": {
"type": "string",
"format": "uri-template"
},
"requested_reviewers": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"title": "Team",
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"parent": {
"type": "object",
"nullable": true,
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
}
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
]
}
},
"review_comments_url": {
"type": "string",
"format": "uri"
},
"maintainer_can_modify": {
"type": "boolean",
"description": "Indicates whether maintainers can modify the pull request."
}
}
}
},
"x-github-breaking-changes": [
{
"patch": [
{
"op": "remove",
"path": "/properties/pull_request/properties/base/properties/repo/properties/use_squash_pr_title_as_default"
},
{
"op": "remove",
"path": "/properties/pull_request/properties/head/properties/repo/properties/use_squash_pr_title_as_default"
}
],
"version": "2026-03-10",
"changeset": "remove_use_squash_pr_title_as_default"
},
{
"patch": [
{
"op": "remove",
"path": "/properties/pull_request/properties/merge_commit_sha"
},
{
"op": "remove",
"path": "/properties/pull_request/required/17"
}
],
"version": "2026-03-10",
"changeset": "remove_pull_request_merge_commit_sha"
}
]
}
webhook-pull-request-unassigned
{
"type": "object",
"title": "pull_request unassigned event",
"required": [
"action",
"number",
"pull_request",
"repository"
],
"properties": {
"action": {
"enum": [
"unassigned"
],
"type": "string"
},
"number": {
"$ref": "#/components/schemas/webhooks_number"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"assignee": {
"$ref": "#/components/schemas/webhooks_user_mannequin"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"pull_request": {
"type": "object",
"title": "Pull Request",
"required": [
"url",
"id",
"node_id",
"html_url",
"diff_url",
"patch_url",
"issue_url",
"number",
"state",
"locked",
"title",
"user",
"body",
"created_at",
"updated_at",
"closed_at",
"merged_at",
"merge_commit_sha",
"assignee",
"assignees",
"requested_reviewers",
"requested_teams",
"labels",
"milestone",
"commits_url",
"review_comments_url",
"review_comment_url",
"comments_url",
"statuses_url",
"head",
"base",
"_links",
"author_association",
"auto_merge",
"active_lock_reason",
"draft"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"base": {
"type": "object",
"required": [
"label",
"ref",
"sha",
"user",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repository",
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"has_discussions",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"has_discussions": {
"type": "boolean",
"default": false,
"description": "Whether discussions are enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
},
"allow_update_branch": {
"type": "boolean"
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
},
"web_commit_signoff_required": {
"type": "boolean",
"description": "Whether to require contributors to sign off on web-based commits"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
},
"use_squash_pr_title_as_default": {
"type": "boolean",
"default": false,
"description": "Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead."
}
},
"description": "A git repository"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"label": {
"type": "string",
"nullable": true
}
}
},
"body": {
"type": "string",
"nullable": true
},
"head": {
"type": "object",
"required": [
"label",
"ref",
"sha",
"user",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repository",
"nullable": true,
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"has_discussions",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"has_discussions": {
"type": "boolean",
"default": false,
"description": "Whether discussions are enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
},
"allow_update_branch": {
"type": "boolean"
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
},
"web_commit_signoff_required": {
"type": "boolean",
"description": "Whether to require contributors to sign off on web-based commits"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
},
"use_squash_pr_title_as_default": {
"type": "boolean",
"default": false,
"description": "Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead."
}
},
"description": "A git repository"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"label": {
"type": "string",
"nullable": true
}
}
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"draft": {
"type": "boolean",
"description": "Indicates whether or not the pull request is a draft."
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "State of this Pull Request. Either `open` or `closed`."
},
"title": {
"type": "string",
"description": "The title of the pull request."
},
"_links": {
"type": "object",
"required": [
"self",
"html",
"issue",
"comments",
"review_comments",
"review_comment",
"commits",
"statuses"
],
"properties": {
"html": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"self": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"issue": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"commits": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"comments": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"statuses": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"review_comment": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"review_comments": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
}
}
},
"labels": {
"type": "array",
"items": {
"type": "object",
"title": "Label",
"required": [
"id",
"node_id",
"url",
"name",
"color",
"default",
"description"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the label"
},
"name": {
"type": "string",
"description": "The name of the label."
},
"color": {
"type": "string",
"description": "6-character hex code, without the leading #, identifying the color"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
},
"locked": {
"type": "boolean"
},
"merged": {
"type": "boolean",
"nullable": true
},
"number": {
"type": "integer",
"description": "Number uniquely identifying the pull request within its repository."
},
"commits": {
"type": "integer"
},
"node_id": {
"type": "string"
},
"assignee": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"comments": {
"type": "integer"
},
"diff_url": {
"type": "string",
"format": "uri"
},
"html_url": {
"type": "string",
"format": "uri"
},
"additions": {
"type": "integer"
},
"assignees": {
"type": "array",
"items": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
}
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"deletions": {
"type": "integer"
},
"issue_url": {
"type": "string",
"format": "uri"
},
"mergeable": {
"type": "boolean",
"nullable": true
},
"merged_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"merged_by": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"milestone": {
"type": "object",
"title": "Milestone",
"nullable": true,
"required": [
"url",
"html_url",
"labels_url",
"id",
"node_id",
"number",
"title",
"description",
"creator",
"open_issues",
"closed_issues",
"state",
"created_at",
"updated_at",
"due_on",
"closed_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "The state of the milestone."
},
"title": {
"type": "string",
"description": "The title of the milestone."
},
"due_on": {
"type": "string",
"format": "date-time",
"nullable": true
},
"number": {
"type": "integer",
"description": "The number of the milestone."
},
"creator": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"labels_url": {
"type": "string",
"format": "uri"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string",
"nullable": true
},
"open_issues": {
"type": "integer"
},
"closed_issues": {
"type": "integer"
}
},
"description": "A collection of related issues and pull requests."
},
"patch_url": {
"type": "string",
"format": "uri"
},
"auto_merge": {
"type": "object",
"title": "PullRequestAutoMerge",
"nullable": true,
"required": [
"enabled_by",
"merge_method",
"commit_title",
"commit_message"
],
"properties": {
"enabled_by": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"commit_title": {
"type": "string",
"nullable": true,
"description": "Title for the merge commit message."
},
"merge_method": {
"enum": [
"merge",
"squash",
"rebase"
],
"type": "string",
"description": "The merge method to use."
},
"commit_message": {
"type": "string",
"nullable": true,
"description": "Commit message for the merge commit."
}
},
"description": "The status of auto merging a pull request."
},
"created_at": {
"type": "string",
"format": "date-time"
},
"rebaseable": {
"type": "boolean",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"commits_url": {
"type": "string",
"format": "uri"
},
"comments_url": {
"type": "string",
"format": "uri"
},
"statuses_url": {
"type": "string",
"format": "uri"
},
"changed_files": {
"type": "integer"
},
"mergeable_state": {
"type": "string"
},
"requested_teams": {
"type": "array",
"items": {
"type": "object",
"title": "Team",
"required": [
"name",
"id"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"parent": {
"type": "object",
"nullable": true,
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
}
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
},
"review_comments": {
"type": "integer"
},
"merge_commit_sha": {
"type": "string",
"nullable": true
},
"active_lock_reason": {
"enum": [
"resolved",
"off-topic",
"too heated",
"spam",
null
],
"type": "string",
"nullable": true
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
},
"review_comment_url": {
"type": "string",
"format": "uri-template"
},
"requested_reviewers": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"title": "Team",
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"parent": {
"type": "object",
"nullable": true,
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
}
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
]
}
},
"review_comments_url": {
"type": "string",
"format": "uri"
},
"maintainer_can_modify": {
"type": "boolean",
"description": "Indicates whether maintainers can modify the pull request."
}
}
}
},
"x-github-breaking-changes": [
{
"patch": [
{
"op": "remove",
"path": "/properties/pull_request/properties/base/properties/repo/properties/use_squash_pr_title_as_default"
},
{
"op": "remove",
"path": "/properties/pull_request/properties/head/properties/repo/properties/use_squash_pr_title_as_default"
}
],
"version": "2026-03-10",
"changeset": "remove_use_squash_pr_title_as_default"
},
{
"patch": [
{
"op": "remove",
"path": "/properties/pull_request/properties/merge_commit_sha"
},
{
"op": "remove",
"path": "/properties/pull_request/required/17"
}
],
"version": "2026-03-10",
"changeset": "remove_pull_request_merge_commit_sha"
}
]
}
webhook-pull-request-unlabeled
{
"type": "object",
"title": "pull_request unlabeled event",
"required": [
"action",
"number",
"pull_request",
"repository",
"sender"
],
"properties": {
"label": {
"$ref": "#/components/schemas/webhooks_label"
},
"action": {
"enum": [
"unlabeled"
],
"type": "string"
},
"number": {
"$ref": "#/components/schemas/webhooks_number"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"pull_request": {
"type": "object",
"title": "Pull Request",
"required": [
"url",
"id",
"node_id",
"html_url",
"diff_url",
"patch_url",
"issue_url",
"number",
"state",
"locked",
"title",
"user",
"body",
"created_at",
"updated_at",
"closed_at",
"merged_at",
"merge_commit_sha",
"assignee",
"assignees",
"requested_reviewers",
"requested_teams",
"labels",
"milestone",
"commits_url",
"review_comments_url",
"review_comment_url",
"comments_url",
"statuses_url",
"head",
"base",
"_links",
"author_association",
"auto_merge",
"active_lock_reason",
"draft"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"base": {
"type": "object",
"required": [
"label",
"ref",
"sha",
"user",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repository",
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"has_discussions",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"has_discussions": {
"type": "boolean",
"default": false,
"description": "Whether discussions are enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
},
"allow_update_branch": {
"type": "boolean"
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
},
"web_commit_signoff_required": {
"type": "boolean",
"description": "Whether to require contributors to sign off on web-based commits"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
},
"use_squash_pr_title_as_default": {
"type": "boolean",
"default": false,
"description": "Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead."
}
},
"description": "A git repository"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"label": {
"type": "string"
}
}
},
"body": {
"type": "string",
"nullable": true
},
"head": {
"type": "object",
"required": [
"label",
"ref",
"sha",
"user",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repository",
"nullable": true,
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"has_discussions",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"has_discussions": {
"type": "boolean",
"default": false,
"description": "Whether discussions are enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"description": "The default value for a merge commit message title."
},
"allow_update_branch": {
"type": "boolean"
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"description": "The default value for a merge commit message."
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
},
"web_commit_signoff_required": {
"type": "boolean",
"description": "Whether to require contributors to sign off on web-based commits"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
},
"use_squash_pr_title_as_default": {
"type": "boolean",
"default": false,
"description": "Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead."
}
},
"description": "A git repository"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"label": {
"type": "string",
"nullable": true
}
}
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"draft": {
"type": "boolean",
"description": "Indicates whether or not the pull request is a draft."
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "State of this Pull Request. Either `open` or `closed`."
},
"title": {
"type": "string",
"description": "The title of the pull request."
},
"_links": {
"type": "object",
"required": [
"self",
"html",
"issue",
"comments",
"review_comments",
"review_comment",
"commits",
"statuses"
],
"properties": {
"html": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"self": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"issue": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"commits": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"comments": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"statuses": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"review_comment": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"review_comments": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
}
}
},
"labels": {
"type": "array",
"items": {
"type": "object",
"title": "Label",
"required": [
"id",
"node_id",
"url",
"name",
"color",
"default",
"description"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the label"
},
"name": {
"type": "string",
"description": "The name of the label."
},
"color": {
"type": "string",
"description": "6-character hex code, without the leading #, identifying the color"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
},
"locked": {
"type": "boolean"
},
"merged": {
"type": "boolean",
"nullable": true
},
"number": {
"type": "integer",
"description": "Number uniquely identifying the pull request within its repository."
},
"commits": {
"type": "integer"
},
"node_id": {
"type": "string"
},
"assignee": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"comments": {
"type": "integer"
},
"diff_url": {
"type": "string",
"format": "uri"
},
"html_url": {
"type": "string",
"format": "uri"
},
"additions": {
"type": "integer"
},
"assignees": {
"type": "array",
"items": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
}
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"deletions": {
"type": "integer"
},
"issue_url": {
"type": "string",
"format": "uri"
},
"mergeable": {
"type": "boolean",
"nullable": true
},
"merged_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"merged_by": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"milestone": {
"type": "object",
"title": "Milestone",
"nullable": true,
"required": [
"url",
"html_url",
"labels_url",
"id",
"node_id",
"number",
"title",
"description",
"creator",
"open_issues",
"closed_issues",
"state",
"created_at",
"updated_at",
"due_on",
"closed_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "The state of the milestone."
},
"title": {
"type": "string",
"description": "The title of the milestone."
},
"due_on": {
"type": "string",
"format": "date-time",
"nullable": true
},
"number": {
"type": "integer",
"description": "The number of the milestone."
},
"creator": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"labels_url": {
"type": "string",
"format": "uri"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string",
"nullable": true
},
"open_issues": {
"type": "integer"
},
"closed_issues": {
"type": "integer"
}
},
"description": "A collection of related issues and pull requests."
},
"patch_url": {
"type": "string",
"format": "uri"
},
"auto_merge": {
"type": "object",
"title": "PullRequestAutoMerge",
"nullable": true,
"required": [
"enabled_by",
"merge_method",
"commit_title",
"commit_message"
],
"properties": {
"enabled_by": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"commit_title": {
"type": "string",
"nullable": true,
"description": "Title for the merge commit message."
},
"merge_method": {
"enum": [
"merge",
"squash",
"rebase"
],
"type": "string",
"description": "The merge method to use."
},
"commit_message": {
"type": "string",
"nullable": true,
"description": "Commit message for the merge commit."
}
},
"description": "The status of auto merging a pull request."
},
"created_at": {
"type": "string",
"format": "date-time"
},
"rebaseable": {
"type": "boolean",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"commits_url": {
"type": "string",
"format": "uri"
},
"comments_url": {
"type": "string",
"format": "uri"
},
"statuses_url": {
"type": "string",
"format": "uri"
},
"changed_files": {
"type": "integer"
},
"mergeable_state": {
"type": "string"
},
"requested_teams": {
"type": "array",
"items": {
"type": "object",
"title": "Team",
"required": [
"name",
"id"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"parent": {
"type": "object",
"nullable": true,
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
}
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
},
"review_comments": {
"type": "integer"
},
"merge_commit_sha": {
"type": "string",
"nullable": true
},
"active_lock_reason": {
"enum": [
"resolved",
"off-topic",
"too heated",
"spam",
null
],
"type": "string",
"nullable": true
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
},
"review_comment_url": {
"type": "string",
"format": "uri-template"
},
"requested_reviewers": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"title": "Team",
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"parent": {
"type": "object",
"nullable": true,
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
}
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
]
}
},
"review_comments_url": {
"type": "string",
"format": "uri"
},
"maintainer_can_modify": {
"type": "boolean",
"description": "Indicates whether maintainers can modify the pull request."
}
}
}
},
"x-github-breaking-changes": [
{
"patch": [
{
"op": "remove",
"path": "/properties/pull_request/properties/base/properties/repo/properties/use_squash_pr_title_as_default"
},
{
"op": "remove",
"path": "/properties/pull_request/properties/head/properties/repo/properties/use_squash_pr_title_as_default"
}
],
"version": "2026-03-10",
"changeset": "remove_use_squash_pr_title_as_default"
},
{
"patch": [
{
"op": "remove",
"path": "/properties/pull_request/properties/merge_commit_sha"
},
{
"op": "remove",
"path": "/properties/pull_request/required/17"
}
],
"version": "2026-03-10",
"changeset": "remove_pull_request_merge_commit_sha"
}
]
}
webhook-pull-request-unlocked
{
"type": "object",
"title": "pull_request unlocked event",
"required": [
"action",
"number",
"pull_request",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"unlocked"
],
"type": "string"
},
"number": {
"$ref": "#/components/schemas/webhooks_number"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"pull_request": {
"type": "object",
"title": "Pull Request",
"required": [
"url",
"id",
"node_id",
"html_url",
"diff_url",
"patch_url",
"issue_url",
"number",
"state",
"locked",
"title",
"user",
"body",
"created_at",
"updated_at",
"closed_at",
"merged_at",
"merge_commit_sha",
"assignee",
"assignees",
"requested_reviewers",
"requested_teams",
"labels",
"milestone",
"commits_url",
"review_comments_url",
"review_comment_url",
"comments_url",
"statuses_url",
"head",
"base",
"_links",
"author_association",
"auto_merge",
"active_lock_reason",
"draft"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"base": {
"type": "object",
"required": [
"label",
"ref",
"sha",
"user",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repository",
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"has_discussions",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"has_discussions": {
"type": "boolean",
"default": false,
"description": "Whether discussions are enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
},
"allow_update_branch": {
"type": "boolean"
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
},
"web_commit_signoff_required": {
"type": "boolean",
"description": "Whether to require contributors to sign off on web-based commits"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
},
"use_squash_pr_title_as_default": {
"type": "boolean",
"default": false,
"description": "Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead."
}
},
"description": "A git repository"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"label": {
"type": "string"
}
}
},
"body": {
"type": "string",
"nullable": true
},
"head": {
"type": "object",
"required": [
"label",
"ref",
"sha",
"user",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repository",
"nullable": true,
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"has_discussions",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"has_discussions": {
"type": "boolean",
"default": false,
"description": "Whether discussions are enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
},
"allow_update_branch": {
"type": "boolean"
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
},
"web_commit_signoff_required": {
"type": "boolean",
"description": "Whether to require contributors to sign off on web-based commits"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
},
"use_squash_pr_title_as_default": {
"type": "boolean",
"default": false,
"description": "Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead."
}
},
"description": "A git repository"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"label": {
"type": "string"
}
}
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"draft": {
"type": "boolean",
"description": "Indicates whether or not the pull request is a draft."
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "State of this Pull Request. Either `open` or `closed`."
},
"title": {
"type": "string",
"description": "The title of the pull request."
},
"_links": {
"type": "object",
"required": [
"self",
"html",
"issue",
"comments",
"review_comments",
"review_comment",
"commits",
"statuses"
],
"properties": {
"html": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"self": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"issue": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"commits": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"comments": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"statuses": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"review_comment": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"review_comments": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
}
}
},
"labels": {
"type": "array",
"items": {
"type": "object",
"title": "Label",
"required": [
"id",
"node_id",
"url",
"name",
"color",
"default",
"description"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the label"
},
"name": {
"type": "string",
"description": "The name of the label."
},
"color": {
"type": "string",
"description": "6-character hex code, without the leading #, identifying the color"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
},
"locked": {
"type": "boolean"
},
"merged": {
"type": "boolean",
"nullable": true
},
"number": {
"type": "integer",
"description": "Number uniquely identifying the pull request within its repository."
},
"commits": {
"type": "integer"
},
"node_id": {
"type": "string"
},
"assignee": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"comments": {
"type": "integer"
},
"diff_url": {
"type": "string",
"format": "uri"
},
"html_url": {
"type": "string",
"format": "uri"
},
"additions": {
"type": "integer"
},
"assignees": {
"type": "array",
"items": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
}
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"deletions": {
"type": "integer"
},
"issue_url": {
"type": "string",
"format": "uri"
},
"mergeable": {
"type": "boolean",
"nullable": true
},
"merged_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"merged_by": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"milestone": {
"type": "object",
"title": "Milestone",
"nullable": true,
"required": [
"url",
"html_url",
"labels_url",
"id",
"node_id",
"number",
"title",
"description",
"creator",
"open_issues",
"closed_issues",
"state",
"created_at",
"updated_at",
"due_on",
"closed_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "The state of the milestone."
},
"title": {
"type": "string",
"description": "The title of the milestone."
},
"due_on": {
"type": "string",
"format": "date-time",
"nullable": true
},
"number": {
"type": "integer",
"description": "The number of the milestone."
},
"creator": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"labels_url": {
"type": "string",
"format": "uri"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string",
"nullable": true
},
"open_issues": {
"type": "integer"
},
"closed_issues": {
"type": "integer"
}
},
"description": "A collection of related issues and pull requests."
},
"patch_url": {
"type": "string",
"format": "uri"
},
"auto_merge": {
"type": "object",
"title": "PullRequestAutoMerge",
"nullable": true,
"required": [
"enabled_by",
"merge_method",
"commit_title",
"commit_message"
],
"properties": {
"enabled_by": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"commit_title": {
"type": "string",
"description": "Title for the merge commit message."
},
"merge_method": {
"enum": [
"merge",
"squash",
"rebase"
],
"type": "string",
"description": "The merge method to use."
},
"commit_message": {
"type": "string",
"nullable": true,
"description": "Commit message for the merge commit."
}
},
"description": "The status of auto merging a pull request."
},
"created_at": {
"type": "string",
"format": "date-time"
},
"rebaseable": {
"type": "boolean",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"commits_url": {
"type": "string",
"format": "uri"
},
"comments_url": {
"type": "string",
"format": "uri"
},
"statuses_url": {
"type": "string",
"format": "uri"
},
"changed_files": {
"type": "integer"
},
"mergeable_state": {
"type": "string"
},
"requested_teams": {
"type": "array",
"items": {
"type": "object",
"title": "Team",
"required": [
"name",
"id"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"parent": {
"type": "object",
"nullable": true,
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
}
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
},
"review_comments": {
"type": "integer"
},
"merge_commit_sha": {
"type": "string",
"nullable": true
},
"active_lock_reason": {
"enum": [
"resolved",
"off-topic",
"too heated",
"spam",
null
],
"type": "string",
"nullable": true
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
},
"review_comment_url": {
"type": "string",
"format": "uri-template"
},
"requested_reviewers": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"title": "Team",
"required": [
"name",
"id"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"parent": {
"type": "object",
"nullable": true,
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
}
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
]
}
},
"review_comments_url": {
"type": "string",
"format": "uri"
},
"maintainer_can_modify": {
"type": "boolean",
"description": "Indicates whether maintainers can modify the pull request."
}
}
}
},
"x-github-breaking-changes": [
{
"patch": [
{
"op": "remove",
"path": "/properties/pull_request/properties/base/properties/repo/properties/use_squash_pr_title_as_default"
},
{
"op": "remove",
"path": "/properties/pull_request/properties/head/properties/repo/properties/use_squash_pr_title_as_default"
}
],
"version": "2026-03-10",
"changeset": "remove_use_squash_pr_title_as_default"
},
{
"patch": [
{
"op": "remove",
"path": "/properties/pull_request/properties/merge_commit_sha"
},
{
"op": "remove",
"path": "/properties/pull_request/required/17"
}
],
"version": "2026-03-10",
"changeset": "remove_pull_request_merge_commit_sha"
}
]
}
webhook-push
{
"type": "object",
"title": "push event",
"required": [
"ref",
"before",
"after",
"created",
"deleted",
"forced",
"base_ref",
"compare",
"commits",
"head_commit",
"repository",
"pusher"
],
"properties": {
"ref": {
"type": "string",
"description": "The full git ref that was pushed. Example: `refs/heads/main` or `refs/tags/v3.14.1`."
},
"after": {
"type": "string",
"description": "The SHA of the most recent commit on `ref` after the push."
},
"before": {
"type": "string",
"description": "The SHA of the most recent commit on `ref` before the push."
},
"forced": {
"type": "boolean",
"description": "Whether this push was a force push of the `ref`."
},
"pusher": {
"type": "object",
"title": "Committer",
"required": [
"name"
],
"properties": {
"date": {
"type": "string",
"format": "date-time"
},
"name": {
"type": "string",
"description": "The git author's name."
},
"email": {
"type": "string",
"format": "email",
"nullable": true
},
"username": {
"type": "string"
}
},
"description": "Metaproperties for Git author/committer information."
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"commits": {
"type": "array",
"items": {
"type": "object",
"title": "Commit",
"required": [
"id",
"tree_id",
"distinct",
"message",
"timestamp",
"url",
"author",
"committer"
],
"properties": {
"id": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL that points to the commit API resource."
},
"added": {
"type": "array",
"items": {
"type": "string"
},
"description": "An array of files added in the commit. A maximum of 3000 changed files will be reported per commit."
},
"author": {
"type": "object",
"title": "Committer",
"required": [
"email",
"name"
],
"properties": {
"date": {
"type": "string",
"format": "date-time"
},
"name": {
"type": "string",
"description": "The git author's name."
},
"email": {
"type": "string",
"format": "email",
"nullable": true
},
"username": {
"type": "string"
}
},
"description": "Metaproperties for Git author/committer information."
},
"message": {
"type": "string",
"description": "The commit message."
},
"removed": {
"type": "array",
"items": {
"type": "string"
},
"description": "An array of files removed in the commit. A maximum of 3000 changed files will be reported per commit."
},
"tree_id": {
"type": "string"
},
"distinct": {
"type": "boolean",
"description": "Whether this commit is distinct from any that have been pushed before."
},
"modified": {
"type": "array",
"items": {
"type": "string"
},
"description": "An array of files modified by the commit. A maximum of 3000 changed files will be reported per commit."
},
"committer": {
"type": "object",
"title": "Committer",
"required": [
"email",
"name"
],
"properties": {
"date": {
"type": "string",
"format": "date-time"
},
"name": {
"type": "string",
"description": "The git author's name."
},
"email": {
"type": "string",
"format": "email",
"nullable": true
},
"username": {
"type": "string"
}
},
"description": "Metaproperties for Git author/committer information."
},
"timestamp": {
"type": "string",
"format": "date-time",
"description": "The ISO 8601 timestamp of the commit."
}
}
},
"description": "An array of commit objects describing the pushed commits. (Pushed commits are all commits that are included in the `compare` between the `before` commit and the `after` commit.) The array includes a maximum of 2048 commits. If necessary, you can use the [Commits API](https://docs.github.com/rest/commits) to fetch additional commits."
},
"compare": {
"type": "string",
"description": "URL that shows the changes in this `ref` update, from the `before` commit to the `after` commit. For a newly created `ref` that is directly based on the default branch, this is the comparison between the head of the default branch and the `after` commit. Otherwise, this shows all commits until the `after` commit."
},
"created": {
"type": "boolean",
"description": "Whether this push created the `ref`."
},
"deleted": {
"type": "boolean",
"description": "Whether this push deleted the `ref`."
},
"base_ref": {
"$ref": "#/components/schemas/webhooks_nullable_string"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"type": "object",
"title": "Repository",
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"has_discussions",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"has_discussions": {
"type": "boolean",
"default": false,
"description": "Whether discussions are enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"custom_properties": {
"type": "object",
"description": "The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values.",
"additionalProperties": true
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"allow_update_branch": {
"type": "boolean"
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"web_commit_signoff_required": {
"type": "boolean",
"description": "Whether to require contributors to sign off on web-based commits"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
}
},
"description": "A git repository"
},
"head_commit": {
"type": "object",
"title": "Commit",
"nullable": true,
"required": [
"id",
"tree_id",
"distinct",
"message",
"timestamp",
"url",
"author",
"committer"
],
"properties": {
"id": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL that points to the commit API resource."
},
"added": {
"type": "array",
"items": {
"type": "string"
},
"description": "An array of files added in the commit."
},
"author": {
"type": "object",
"title": "Committer",
"required": [
"email",
"name"
],
"properties": {
"date": {
"type": "string",
"format": "date-time"
},
"name": {
"type": "string",
"description": "The git author's name."
},
"email": {
"type": "string",
"format": "email",
"nullable": true
},
"username": {
"type": "string"
}
},
"description": "Metaproperties for Git author/committer information."
},
"message": {
"type": "string",
"description": "The commit message."
},
"removed": {
"type": "array",
"items": {
"type": "string"
},
"description": "An array of files removed in the commit."
},
"tree_id": {
"type": "string"
},
"distinct": {
"type": "boolean",
"description": "Whether this commit is distinct from any that have been pushed before."
},
"modified": {
"type": "array",
"items": {
"type": "string"
},
"description": "An array of files modified by the commit."
},
"committer": {
"type": "object",
"title": "Committer",
"required": [
"email",
"name"
],
"properties": {
"date": {
"type": "string",
"format": "date-time"
},
"name": {
"type": "string",
"description": "The git author's name."
},
"email": {
"type": "string",
"format": "email",
"nullable": true
},
"username": {
"type": "string"
}
},
"description": "Metaproperties for Git author/committer information."
},
"timestamp": {
"type": "string",
"format": "date-time",
"description": "The ISO 8601 timestamp of the commit."
}
}
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-registry-package-published
{
"type": "object",
"required": [
"action",
"registry_package",
"sender"
],
"properties": {
"action": {
"enum": [
"published"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"registry_package": {
"type": "object",
"required": [
"id",
"name",
"namespace",
"description",
"ecosystem",
"package_type",
"html_url",
"created_at",
"updated_at",
"owner",
"package_version",
"registry"
],
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"owner": {
"type": "object",
"required": [
"login",
"id",
"node_id",
"avatar_url",
"gravatar_id",
"url",
"html_url",
"followers_url",
"following_url",
"gists_url",
"starred_url",
"subscriptions_url",
"organizations_url",
"repos_url",
"events_url",
"received_events_url",
"type",
"site_admin"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"type": {
"type": "string"
},
"login": {
"type": "string"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string"
},
"gists_url": {
"type": "string"
},
"repos_url": {
"type": "string"
},
"avatar_url": {
"type": "string"
},
"events_url": {
"type": "string"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string"
},
"followers_url": {
"type": "string"
},
"following_url": {
"type": "string"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string"
},
"subscriptions_url": {
"type": "string"
},
"received_events_url": {
"type": "string"
}
}
},
"html_url": {
"type": "string"
},
"registry": {
"type": "object",
"nullable": true,
"properties": {
"url": {
"type": "string"
},
"name": {
"type": "string"
},
"type": {
"type": "string"
},
"vendor": {
"type": "string"
},
"about_url": {
"type": "string"
}
}
},
"ecosystem": {
"type": "string"
},
"namespace": {
"type": "string"
},
"created_at": {
"type": "string",
"nullable": true
},
"updated_at": {
"type": "string",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"package_type": {
"type": "string"
},
"package_version": {
"type": "object",
"nullable": true,
"required": [
"id",
"version",
"name",
"description",
"summary",
"html_url",
"metadata",
"package_files",
"installation_command",
"package_url"
],
"properties": {
"id": {
"type": "integer"
},
"body": {
"oneOf": [
{
"type": "string"
},
{
"type": "object"
}
]
},
"name": {
"type": "string"
},
"draft": {
"type": "boolean"
},
"author": {
"type": "object",
"required": [
"login",
"id",
"node_id",
"avatar_url",
"gravatar_id",
"url",
"html_url",
"followers_url",
"following_url",
"gists_url",
"starred_url",
"subscriptions_url",
"organizations_url",
"repos_url",
"events_url",
"received_events_url",
"type",
"site_admin"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"type": {
"type": "string"
},
"login": {
"type": "string"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string"
},
"gists_url": {
"type": "string"
},
"repos_url": {
"type": "string"
},
"avatar_url": {
"type": "string"
},
"events_url": {
"type": "string"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string"
},
"followers_url": {
"type": "string"
},
"following_url": {
"type": "string"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string"
},
"subscriptions_url": {
"type": "string"
},
"received_events_url": {
"type": "string"
}
}
},
"release": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"name": {
"type": "string",
"nullable": true
},
"draft": {
"type": "boolean"
},
"author": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"type": {
"type": "string"
},
"login": {
"type": "string"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string"
},
"gists_url": {
"type": "string"
},
"repos_url": {
"type": "string"
},
"avatar_url": {
"type": "string"
},
"events_url": {
"type": "string"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string"
},
"followers_url": {
"type": "string"
},
"following_url": {
"type": "string"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string"
},
"subscriptions_url": {
"type": "string"
},
"received_events_url": {
"type": "string"
}
}
},
"html_url": {
"type": "string"
},
"tag_name": {
"type": "string"
},
"created_at": {
"type": "string"
},
"prerelease": {
"type": "boolean"
},
"published_at": {
"type": "string"
},
"target_commitish": {
"type": "string"
}
}
},
"summary": {
"type": "string"
},
"version": {
"type": "string"
},
"html_url": {
"type": "string"
},
"manifest": {
"type": "string"
},
"metadata": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"tag_name": {
"type": "string"
},
"body_html": {
"type": "string"
},
"created_at": {
"type": "string"
},
"prerelease": {
"type": "boolean"
},
"target_oid": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"description": {
"type": "string"
},
"package_url": {
"type": "string"
},
"npm_metadata": {
"type": "object",
"nullable": true,
"properties": {
"id": {
"type": "string"
},
"os": {
"type": "array",
"items": {
"type": "string"
}
},
"bin": {
"type": "object"
},
"cpu": {
"type": "array",
"items": {
"type": "string"
}
},
"man": {
"type": "object"
},
"bugs": {
"oneOf": [
{
"type": "string"
},
{
"type": "object"
}
],
"nullable": true
},
"dist": {
"oneOf": [
{
"type": "string"
},
{
"type": "object"
}
],
"nullable": true
},
"main": {
"type": "string"
},
"name": {
"type": "string"
},
"files": {
"type": "array",
"items": {
"type": "string"
}
},
"author": {
"oneOf": [
{
"type": "string"
},
{
"type": "object"
}
],
"nullable": true
},
"readme": {
"type": "string"
},
"engines": {
"type": "object"
},
"license": {
"type": "string"
},
"scripts": {
"type": "object"
},
"version": {
"type": "string"
},
"git_head": {
"type": "string"
},
"homepage": {
"type": "string"
},
"keywords": {
"type": "array",
"items": {
"type": "string"
}
},
"npm_user": {
"type": "string"
},
"commit_oid": {
"type": "string"
},
"release_id": {
"type": "integer"
},
"repository": {
"oneOf": [
{
"type": "string"
},
{
"type": "object"
}
],
"nullable": true
},
"description": {
"type": "string"
},
"directories": {
"oneOf": [
{
"type": "string"
},
{
"type": "object"
}
],
"nullable": true
},
"maintainers": {
"type": "array",
"items": {
"type": "string"
}
},
"npm_version": {
"type": "string"
},
"contributors": {
"type": "array",
"items": {
"type": "string"
}
},
"dependencies": {
"type": "object"
},
"node_version": {
"type": "string"
},
"deleted_by_id": {
"type": "integer"
},
"has_shrinkwrap": {
"type": "boolean"
},
"dev_dependencies": {
"type": "object"
},
"peer_dependencies": {
"type": "object"
},
"installation_command": {
"type": "string"
},
"optional_dependencies": {
"type": "object"
},
"published_via_actions": {
"type": "boolean"
}
}
},
"package_files": {
"type": "array",
"items": {
"type": "object",
"required": [
"download_url",
"id",
"name",
"sha256",
"sha1",
"md5",
"content_type",
"state",
"size",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer"
},
"md5": {
"type": "string",
"nullable": true
},
"name": {
"type": "string"
},
"sha1": {
"type": "string",
"nullable": true
},
"size": {
"type": "integer"
},
"state": {
"type": "string",
"nullable": true
},
"sha256": {
"type": "string",
"nullable": true
},
"created_at": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"content_type": {
"type": "string"
},
"download_url": {
"type": "string"
}
}
}
},
"nuget_metadata": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"oneOf": [
{
"type": "string"
},
{
"type": "object"
},
{
"type": "integer"
}
],
"nullable": true
},
"name": {
"type": "string"
},
"value": {
"oneOf": [
{
"type": "boolean"
},
{
"type": "string"
},
{
"type": "integer"
},
{
"type": "object",
"properties": {
"url": {
"type": "string"
},
"type": {
"type": "string"
},
"branch": {
"type": "string"
},
"commit": {
"type": "string"
}
}
}
]
}
}
},
"nullable": true
},
"docker_metadata": {
"type": "array",
"items": {
"type": "object",
"properties": {
"tags": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"target_commitish": {
"type": "string"
},
"rubygems_metadata": {
"type": "array",
"items": {
"$ref": "#/components/schemas/webhook-rubygems-metadata"
}
},
"container_metadata": {
"type": "object",
"properties": {
"tag": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"digest": {
"type": "string"
}
}
},
"labels": {
"type": "object",
"nullable": true
},
"manifest": {
"type": "object",
"nullable": true
}
}
},
"installation_command": {
"type": "string"
}
}
}
}
}
}
}
webhook-registry-package-updated
{
"type": "object",
"required": [
"action",
"registry_package",
"sender"
],
"properties": {
"action": {
"enum": [
"updated"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"registry_package": {
"type": "object",
"required": [
"id",
"name",
"namespace",
"description",
"ecosystem",
"package_type",
"html_url",
"created_at",
"updated_at",
"owner",
"package_version",
"registry"
],
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"owner": {
"type": "object",
"required": [
"login",
"id",
"node_id",
"avatar_url",
"gravatar_id",
"url",
"html_url",
"followers_url",
"following_url",
"gists_url",
"starred_url",
"subscriptions_url",
"organizations_url",
"repos_url",
"events_url",
"received_events_url",
"type",
"site_admin"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"type": {
"type": "string"
},
"login": {
"type": "string"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string"
},
"gists_url": {
"type": "string"
},
"repos_url": {
"type": "string"
},
"avatar_url": {
"type": "string"
},
"events_url": {
"type": "string"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string"
},
"followers_url": {
"type": "string"
},
"following_url": {
"type": "string"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string"
},
"subscriptions_url": {
"type": "string"
},
"received_events_url": {
"type": "string"
}
}
},
"html_url": {
"type": "string"
},
"registry": {
"type": "object",
"nullable": true
},
"ecosystem": {
"type": "string"
},
"namespace": {
"type": "string"
},
"created_at": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"description": {
"nullable": true
},
"package_type": {
"type": "string"
},
"package_version": {
"type": "object",
"required": [
"id",
"version",
"name",
"description",
"summary",
"body",
"body_html",
"html_url",
"target_commitish",
"target_oid",
"created_at",
"updated_at",
"metadata",
"package_files",
"author",
"installation_command",
"package_url"
],
"properties": {
"id": {
"type": "integer"
},
"body": {
"type": "string"
},
"name": {
"type": "string"
},
"draft": {
"type": "boolean"
},
"author": {
"type": "object",
"required": [
"login",
"id",
"node_id",
"avatar_url",
"gravatar_id",
"url",
"html_url",
"followers_url",
"following_url",
"gists_url",
"starred_url",
"subscriptions_url",
"organizations_url",
"repos_url",
"events_url",
"received_events_url",
"type",
"site_admin"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"type": {
"type": "string"
},
"login": {
"type": "string"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string"
},
"gists_url": {
"type": "string"
},
"repos_url": {
"type": "string"
},
"avatar_url": {
"type": "string"
},
"events_url": {
"type": "string"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string"
},
"followers_url": {
"type": "string"
},
"following_url": {
"type": "string"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string"
},
"subscriptions_url": {
"type": "string"
},
"received_events_url": {
"type": "string"
}
}
},
"release": {
"type": "object",
"required": [
"url",
"html_url",
"id",
"tag_name",
"target_commitish",
"name",
"draft",
"author",
"prerelease",
"created_at",
"published_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"name": {
"type": "string"
},
"draft": {
"type": "boolean"
},
"author": {
"type": "object",
"required": [
"login",
"id",
"node_id",
"avatar_url",
"gravatar_id",
"url",
"html_url",
"followers_url",
"following_url",
"gists_url",
"starred_url",
"subscriptions_url",
"organizations_url",
"repos_url",
"events_url",
"received_events_url",
"type",
"site_admin"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"type": {
"type": "string"
},
"login": {
"type": "string"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string"
},
"gists_url": {
"type": "string"
},
"repos_url": {
"type": "string"
},
"avatar_url": {
"type": "string"
},
"events_url": {
"type": "string"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string"
},
"followers_url": {
"type": "string"
},
"following_url": {
"type": "string"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string"
},
"subscriptions_url": {
"type": "string"
},
"received_events_url": {
"type": "string"
}
}
},
"html_url": {
"type": "string"
},
"tag_name": {
"type": "string"
},
"created_at": {
"type": "string"
},
"prerelease": {
"type": "boolean"
},
"published_at": {
"type": "string"
},
"target_commitish": {
"type": "string"
}
}
},
"summary": {
"type": "string"
},
"version": {
"type": "string"
},
"html_url": {
"type": "string"
},
"manifest": {
"type": "string"
},
"metadata": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"tag_name": {
"type": "string"
},
"body_html": {
"type": "string"
},
"created_at": {
"type": "string"
},
"prerelease": {
"type": "boolean"
},
"target_oid": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"description": {
"type": "string"
},
"package_url": {
"type": "string"
},
"package_files": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"md5": {
"type": "string",
"nullable": true
},
"name": {
"type": "string"
},
"sha1": {
"type": "string",
"nullable": true
},
"size": {
"type": "integer"
},
"state": {
"type": "string"
},
"sha256": {
"type": "string"
},
"created_at": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"content_type": {
"type": "string"
},
"download_url": {
"type": "string"
}
}
}
},
"docker_metadata": {
"type": "array",
"items": {
"type": "object",
"nullable": true,
"properties": {
"tags": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"target_commitish": {
"type": "string"
},
"rubygems_metadata": {
"type": "array",
"items": {
"$ref": "#/components/schemas/webhook-rubygems-metadata"
}
},
"installation_command": {
"type": "string"
}
}
}
}
}
}
}
webhook-release-created
{
"type": "object",
"title": "release created event",
"required": [
"action",
"release",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"created"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"release": {
"$ref": "#/components/schemas/webhooks_release"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-release-deleted
{
"type": "object",
"title": "release deleted event",
"required": [
"action",
"release",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"deleted"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"release": {
"$ref": "#/components/schemas/webhooks_release"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-release-edited
{
"type": "object",
"title": "release edited event",
"required": [
"action",
"changes",
"release",
"repository"
],
"properties": {
"action": {
"enum": [
"edited"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"changes": {
"type": "object",
"properties": {
"body": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"type": "string",
"description": "The previous version of the body if the action was `edited`."
}
}
},
"name": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"type": "string",
"description": "The previous version of the name if the action was `edited`."
}
}
},
"tag_name": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"type": "string",
"description": "The previous version of the tag_name if the action was `edited`."
}
}
},
"make_latest": {
"type": "object",
"required": [
"to"
],
"properties": {
"to": {
"type": "boolean",
"description": "Whether this release was explicitly `edited` to be the latest."
}
}
}
}
},
"release": {
"$ref": "#/components/schemas/webhooks_release"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-release-prereleased
{
"type": "object",
"title": "release prereleased event",
"required": [
"action",
"release",
"repository"
],
"properties": {
"action": {
"enum": [
"prereleased"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"release": {
"type": "object",
"title": "Release",
"required": [
"assets",
"assets_url",
"author",
"body",
"created_at",
"draft",
"html_url",
"id",
"immutable",
"name",
"node_id",
"prerelease",
"published_at",
"tag_name",
"tarball_url",
"target_commitish",
"updated_at",
"upload_url",
"url",
"zipball_url"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"body": {
"type": "string",
"nullable": true
},
"name": {
"type": "string",
"nullable": true
},
"draft": {
"type": "boolean",
"description": "Whether the release is a draft or published"
},
"assets": {
"type": "array",
"items": {
"type": "object",
"title": "Release Asset",
"nullable": true,
"required": [
"url",
"browser_download_url",
"id",
"node_id",
"name",
"label",
"state",
"digest",
"content_type",
"size",
"download_count",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string",
"description": "The file name of the asset."
},
"size": {
"type": "integer"
},
"label": {
"type": "string",
"nullable": true
},
"state": {
"enum": [
"uploaded"
],
"type": "string",
"description": "State of the release asset."
},
"digest": {
"type": "string",
"nullable": true
},
"node_id": {
"type": "string"
},
"uploader": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"content_type": {
"type": "string"
},
"download_count": {
"type": "integer"
},
"browser_download_url": {
"type": "string",
"format": "uri"
}
},
"description": "Data related to a release."
}
},
"author": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"tag_name": {
"type": "string",
"description": "The name of the tag."
},
"immutable": {
"type": "boolean",
"description": "Whether or not the release is immutable."
},
"reactions": {
"type": "object",
"title": "Reactions",
"required": [
"url",
"total_count",
"+1",
"-1",
"laugh",
"confused",
"heart",
"hooray",
"eyes",
"rocket"
],
"properties": {
"+1": {
"type": "integer"
},
"-1": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"eyes": {
"type": "integer"
},
"heart": {
"type": "integer"
},
"laugh": {
"type": "integer"
},
"hooray": {
"type": "integer"
},
"rocket": {
"type": "integer"
},
"confused": {
"type": "integer"
},
"total_count": {
"type": "integer"
}
}
},
"assets_url": {
"type": "string",
"format": "uri"
},
"created_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"prerelease": {
"enum": [
true
],
"type": "boolean",
"description": "Whether the release is identified as a prerelease or a full release."
},
"updated_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"upload_url": {
"type": "string",
"format": "uri-template"
},
"tarball_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"zipball_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"published_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"discussion_url": {
"type": "string",
"format": "uri"
},
"target_commitish": {
"type": "string",
"description": "Specifies the commitish value that determines where the Git tag is created from."
}
},
"description": "The [release](https://docs.github.com/rest/releases/releases/#get-a-release) object."
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-release-published
{
"type": "object",
"title": "release published event",
"required": [
"action",
"release",
"repository"
],
"properties": {
"action": {
"enum": [
"published"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"release": {
"$ref": "#/components/schemas/webhooks_release_1"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-release-released
{
"type": "object",
"title": "release released event",
"required": [
"action",
"release",
"repository"
],
"properties": {
"action": {
"enum": [
"released"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"release": {
"$ref": "#/components/schemas/webhooks_release"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-release-unpublished
{
"type": "object",
"title": "release unpublished event",
"required": [
"action",
"release",
"repository"
],
"properties": {
"action": {
"enum": [
"unpublished"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"release": {
"$ref": "#/components/schemas/webhooks_release_1"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-repository-advisory-published
{
"type": "object",
"title": "Repository advisory published event",
"required": [
"action",
"repository",
"repository_advisory"
],
"properties": {
"action": {
"enum": [
"published"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"repository_advisory": {
"$ref": "#/components/schemas/repository-advisory"
}
}
}
webhook-repository-advisory-reported
{
"type": "object",
"title": "Repository advisory reported event",
"required": [
"action",
"repository",
"repository_advisory"
],
"properties": {
"action": {
"enum": [
"reported"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"repository_advisory": {
"$ref": "#/components/schemas/repository-advisory"
}
}
}
webhook-repository-archived
{
"type": "object",
"title": "repository archived event",
"required": [
"action",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"archived"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-repository-created
{
"type": "object",
"title": "repository created event",
"required": [
"action",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"created"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-repository-deleted
{
"type": "object",
"title": "repository deleted event",
"required": [
"action",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"deleted"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-repository-dispatch-sample
{
"type": "object",
"title": "repository_dispatch event",
"required": [
"action",
"branch",
"client_payload",
"repository",
"sender",
"installation"
],
"properties": {
"action": {
"type": "string",
"description": "The `event_type` that was specified in the `POST /repos/{owner}/{repo}/dispatches` request body."
},
"branch": {
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"client_payload": {
"type": "object",
"nullable": true,
"description": "The `client_payload` that was specified in the `POST /repos/{owner}/{repo}/dispatches` request body.",
"additionalProperties": true
}
}
}
webhook-repository-edited
{
"type": "object",
"title": "repository edited event",
"required": [
"action",
"changes",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"edited"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"changes": {
"type": "object",
"properties": {
"topics": {
"type": "object",
"properties": {
"from": {
"type": "array",
"items": {
"type": "string"
},
"nullable": true
}
}
},
"homepage": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"type": "string",
"nullable": true
}
}
},
"description": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"type": "string",
"nullable": true
}
}
},
"default_branch": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"type": "string"
}
}
}
}
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-repository-import
{
"type": "object",
"title": "repository_import event",
"required": [
"status",
"repository",
"sender"
],
"properties": {
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"status": {
"enum": [
"success",
"cancelled",
"failure"
],
"type": "string"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-repository-privatized
{
"type": "object",
"title": "repository privatized event",
"required": [
"action",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"privatized"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-repository-publicized
{
"type": "object",
"title": "repository publicized event",
"required": [
"action",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"publicized"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-repository-renamed
{
"type": "object",
"title": "repository renamed event",
"required": [
"action",
"changes",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"renamed"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"changes": {
"type": "object",
"required": [
"repository"
],
"properties": {
"repository": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"type": "string"
}
}
}
}
}
}
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-repository-ruleset-created
{
"type": "object",
"title": "repository ruleset created event",
"required": [
"action",
"repository_ruleset",
"sender"
],
"properties": {
"action": {
"enum": [
"created"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"repository_ruleset": {
"$ref": "#/components/schemas/repository-ruleset"
}
}
}
webhook-repository-ruleset-deleted
{
"type": "object",
"title": "repository ruleset deleted event",
"required": [
"action",
"repository_ruleset",
"sender"
],
"properties": {
"action": {
"enum": [
"deleted"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"repository_ruleset": {
"$ref": "#/components/schemas/repository-ruleset"
}
}
}
webhook-repository-ruleset-edited
{
"type": "object",
"title": "repository ruleset edited event",
"required": [
"action",
"repository_ruleset",
"sender"
],
"properties": {
"action": {
"enum": [
"edited"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"changes": {
"type": "object",
"properties": {
"name": {
"type": "object",
"properties": {
"from": {
"type": "string"
}
}
},
"rules": {
"type": "object",
"properties": {
"added": {
"type": "array",
"items": {
"$ref": "#/components/schemas/repository-rule"
}
},
"deleted": {
"type": "array",
"items": {
"$ref": "#/components/schemas/repository-rule"
}
},
"updated": {
"type": "array",
"items": {
"type": "object",
"properties": {
"rule": {
"$ref": "#/components/schemas/repository-rule"
},
"changes": {
"type": "object",
"properties": {
"pattern": {
"type": "object",
"properties": {
"from": {
"type": "string"
}
}
},
"rule_type": {
"type": "object",
"properties": {
"from": {
"type": "string"
}
}
},
"configuration": {
"type": "object",
"properties": {
"from": {
"type": "string"
}
}
}
}
}
}
}
}
}
},
"conditions": {
"type": "object",
"properties": {
"added": {
"type": "array",
"items": {
"$ref": "#/components/schemas/repository-ruleset-conditions"
}
},
"deleted": {
"type": "array",
"items": {
"$ref": "#/components/schemas/repository-ruleset-conditions"
}
},
"updated": {
"type": "array",
"items": {
"type": "object",
"properties": {
"changes": {
"type": "object",
"properties": {
"target": {
"type": "object",
"properties": {
"from": {
"type": "string"
}
}
},
"exclude": {
"type": "object",
"properties": {
"from": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"include": {
"type": "object",
"properties": {
"from": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"condition_type": {
"type": "object",
"properties": {
"from": {
"type": "string"
}
}
}
}
},
"condition": {
"$ref": "#/components/schemas/repository-ruleset-conditions"
}
}
}
}
}
},
"enforcement": {
"type": "object",
"properties": {
"from": {
"type": "string"
}
}
}
}
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"repository_ruleset": {
"$ref": "#/components/schemas/repository-ruleset"
}
}
}
webhook-repository-transferred
{
"type": "object",
"title": "repository transferred event",
"required": [
"action",
"changes",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"transferred"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"changes": {
"type": "object",
"required": [
"owner"
],
"properties": {
"owner": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"type": "object",
"properties": {
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"organization": {
"type": "object",
"title": "Organization",
"required": [
"login",
"id",
"node_id",
"url",
"repos_url",
"events_url",
"hooks_url",
"issues_url",
"members_url",
"public_members_url",
"avatar_url",
"description"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"login": {
"type": "string"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri"
},
"issues_url": {
"type": "string",
"format": "uri"
},
"description": {
"type": "string",
"nullable": true
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"public_members_url": {
"type": "string",
"format": "uri-template"
}
}
}
}
}
}
}
}
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-repository-unarchived
{
"type": "object",
"title": "repository unarchived event",
"required": [
"action",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"unarchived"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-repository-vulnerability-alert-create
{
"type": "object",
"title": "repository_vulnerability_alert create event",
"required": [
"action",
"alert",
"repository",
"sender"
],
"properties": {
"alert": {
"$ref": "#/components/schemas/webhooks_alert"
},
"action": {
"enum": [
"create"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-repository-vulnerability-alert-dismiss
{
"type": "object",
"title": "repository_vulnerability_alert dismiss event",
"required": [
"action",
"alert",
"repository",
"sender"
],
"properties": {
"alert": {
"type": "object",
"title": "Repository Vulnerability Alert Alert",
"required": [
"affected_package_name",
"affected_range",
"created_at",
"dismiss_reason",
"dismissed_at",
"dismisser",
"external_identifier",
"external_reference",
"ghsa_id",
"id",
"node_id",
"number",
"severity",
"state"
],
"properties": {
"id": {
"type": "integer"
},
"state": {
"enum": [
"dismissed"
],
"type": "string"
},
"number": {
"type": "integer"
},
"ghsa_id": {
"type": "string"
},
"node_id": {
"type": "string"
},
"fixed_at": {
"type": "string",
"format": "date-time"
},
"fixed_in": {
"type": "string"
},
"severity": {
"type": "string"
},
"dismisser": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"created_at": {
"type": "string"
},
"fix_reason": {
"type": "string"
},
"dismissed_at": {
"type": "string"
},
"affected_range": {
"type": "string"
},
"dismiss_reason": {
"type": "string"
},
"dismiss_comment": {
"type": "string",
"nullable": true
},
"external_reference": {
"type": "string",
"format": "uri",
"nullable": true
},
"external_identifier": {
"type": "string"
},
"affected_package_name": {
"type": "string"
}
},
"description": "The security alert of the vulnerable dependency."
},
"action": {
"enum": [
"dismiss"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-repository-vulnerability-alert-reopen
{
"type": "object",
"title": "repository_vulnerability_alert reopen event",
"required": [
"action",
"alert",
"repository",
"sender"
],
"properties": {
"alert": {
"$ref": "#/components/schemas/webhooks_alert"
},
"action": {
"enum": [
"reopen"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-repository-vulnerability-alert-resolve
{
"type": "object",
"title": "repository_vulnerability_alert resolve event",
"required": [
"action",
"alert",
"repository",
"sender"
],
"properties": {
"alert": {
"type": "object",
"title": "Repository Vulnerability Alert Alert",
"required": [
"affected_package_name",
"affected_range",
"created_at",
"external_identifier",
"external_reference",
"ghsa_id",
"id",
"node_id",
"number",
"severity",
"state"
],
"properties": {
"id": {
"type": "integer"
},
"state": {
"enum": [
"fixed",
"open"
],
"type": "string"
},
"number": {
"type": "integer"
},
"ghsa_id": {
"type": "string"
},
"node_id": {
"type": "string"
},
"fixed_at": {
"type": "string",
"format": "date-time"
},
"fixed_in": {
"type": "string"
},
"severity": {
"type": "string"
},
"dismisser": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"created_at": {
"type": "string"
},
"fix_reason": {
"type": "string"
},
"dismissed_at": {
"type": "string"
},
"affected_range": {
"type": "string"
},
"dismiss_reason": {
"type": "string"
},
"external_reference": {
"type": "string",
"format": "uri",
"nullable": true
},
"external_identifier": {
"type": "string"
},
"affected_package_name": {
"type": "string"
}
},
"description": "The security alert of the vulnerable dependency."
},
"action": {
"enum": [
"resolve"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-rubygems-metadata
{
"type": "object",
"title": "Ruby Gems metadata",
"properties": {
"name": {
"type": "string"
},
"repo": {
"type": "string"
},
"readme": {
"type": "string"
},
"homepage": {
"type": "string"
},
"metadata": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"platform": {
"type": "string"
},
"commit_oid": {
"type": "string"
},
"description": {
"type": "string"
},
"dependencies": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
},
"version_info": {
"type": "object",
"properties": {
"version": {
"type": "string"
}
}
}
}
}
webhook-secret-scanning-alert-assigned
{
"type": "object",
"title": "secret_scanning_alert assigned event",
"required": [
"action",
"alert",
"repository"
],
"properties": {
"alert": {
"$ref": "#/components/schemas/secret-scanning-alert-webhook"
},
"action": {
"enum": [
"assigned"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"assignee": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-secret-scanning-alert-created
{
"type": "object",
"title": "secret_scanning_alert created event",
"required": [
"action",
"alert",
"repository"
],
"properties": {
"alert": {
"$ref": "#/components/schemas/secret-scanning-alert-webhook"
},
"action": {
"enum": [
"created"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-secret-scanning-alert-location-created
{
"type": "object",
"title": "Secret Scanning Alert Location Created Event",
"required": [
"location",
"alert",
"repository",
"sender"
],
"properties": {
"alert": {
"$ref": "#/components/schemas/secret-scanning-alert-webhook"
},
"action": {
"enum": [
"created"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"location": {
"$ref": "#/components/schemas/secret-scanning-location"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-secret-scanning-alert-location-created-form-encoded
{
"type": "object",
"title": "Secret Scanning Alert Location Created Event",
"required": [
"payload"
],
"properties": {
"payload": {
"type": "string",
"description": "A URL-encoded string of the secret_scanning_alert_location.created JSON payload. The decoded payload is a JSON object."
}
}
}
webhook-secret-scanning-alert-publicly-leaked
{
"type": "object",
"title": "secret_scanning_alert publicly leaked event",
"required": [
"action",
"alert",
"repository"
],
"properties": {
"alert": {
"$ref": "#/components/schemas/secret-scanning-alert-webhook"
},
"action": {
"enum": [
"publicly_leaked"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-secret-scanning-alert-reopened
{
"type": "object",
"title": "secret_scanning_alert reopened event",
"required": [
"action",
"alert",
"repository"
],
"properties": {
"alert": {
"$ref": "#/components/schemas/secret-scanning-alert-webhook"
},
"action": {
"enum": [
"reopened"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-secret-scanning-alert-resolved
{
"type": "object",
"title": "secret_scanning_alert resolved event",
"required": [
"action",
"alert",
"repository"
],
"properties": {
"alert": {
"$ref": "#/components/schemas/secret-scanning-alert-webhook"
},
"action": {
"enum": [
"resolved"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-secret-scanning-alert-unassigned
{
"type": "object",
"title": "secret_scanning_alert unassigned event",
"required": [
"action",
"alert",
"repository"
],
"properties": {
"alert": {
"$ref": "#/components/schemas/secret-scanning-alert-webhook"
},
"action": {
"enum": [
"unassigned"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"assignee": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-secret-scanning-alert-validated
{
"type": "object",
"title": "secret_scanning_alert validated event",
"required": [
"action",
"alert",
"repository"
],
"properties": {
"alert": {
"$ref": "#/components/schemas/secret-scanning-alert-webhook"
},
"action": {
"enum": [
"validated"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-secret-scanning-scan-completed
{
"type": "object",
"title": "secret_scanning_scan completed event",
"required": [
"action",
"source",
"type",
"started_at",
"completed_at"
],
"properties": {
"type": {
"enum": [
"backfill",
"custom-pattern-backfill",
"pattern-version-backfill"
],
"type": "string",
"description": "What type of scan was completed"
},
"action": {
"enum": [
"completed"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"source": {
"enum": [
"git",
"issues",
"pull-requests",
"discussions",
"wiki"
],
"type": "string",
"description": "What type of content was scanned"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"started_at": {
"type": "string",
"format": "date-time",
"description": "The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`."
},
"completed_at": {
"type": "string",
"format": "date-time",
"description": "The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`."
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"secret_types": {
"type": "array",
"items": {
"type": "string"
},
"nullable": true,
"description": "List of patterns that were updated. This will be empty for normal backfill scans or custom pattern updates"
},
"custom_pattern_name": {
"type": "string",
"nullable": true,
"description": "If the scan was triggered by a custom pattern update, this will be the name of the pattern that was updated"
},
"custom_pattern_scope": {
"enum": [
"repository",
"organization",
"enterprise"
],
"type": "string",
"nullable": true,
"description": "If the scan was triggered by a custom pattern update, this will be the scope of the pattern that was updated"
}
}
}
webhook-security-advisory-published
{
"type": "object",
"title": "security_advisory published event",
"required": [
"action",
"security_advisory"
],
"properties": {
"action": {
"enum": [
"published"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"security_advisory": {
"$ref": "#/components/schemas/webhooks_security_advisory"
}
}
}
webhook-security-advisory-updated
{
"type": "object",
"title": "security_advisory updated event",
"required": [
"action",
"security_advisory"
],
"properties": {
"action": {
"enum": [
"updated"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"security_advisory": {
"$ref": "#/components/schemas/webhooks_security_advisory"
}
}
}
webhook-security-advisory-withdrawn
{
"type": "object",
"title": "security_advisory withdrawn event",
"required": [
"action",
"security_advisory"
],
"properties": {
"action": {
"enum": [
"withdrawn"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"security_advisory": {
"type": "object",
"required": [
"cvss",
"cwes",
"ghsa_id",
"summary",
"description",
"severity",
"identifiers",
"references",
"published_at",
"updated_at",
"withdrawn_at",
"vulnerabilities"
],
"properties": {
"cvss": {
"type": "object",
"required": [
"vector_string",
"score"
],
"properties": {
"score": {
"type": "number"
},
"vector_string": {
"type": "string",
"nullable": true
}
}
},
"cwes": {
"type": "array",
"items": {
"type": "object",
"required": [
"cwe_id",
"name"
],
"properties": {
"name": {
"type": "string"
},
"cwe_id": {
"type": "string"
}
}
}
},
"ghsa_id": {
"type": "string"
},
"summary": {
"type": "string"
},
"severity": {
"type": "string"
},
"references": {
"type": "array",
"items": {
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri"
}
}
}
},
"updated_at": {
"type": "string"
},
"description": {
"type": "string"
},
"identifiers": {
"type": "array",
"items": {
"type": "object",
"required": [
"value",
"type"
],
"properties": {
"type": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
},
"published_at": {
"type": "string"
},
"withdrawn_at": {
"type": "string"
},
"cvss_severities": {
"$ref": "#/components/schemas/cvss-severities"
},
"vulnerabilities": {
"type": "array",
"items": {
"type": "object",
"required": [
"package",
"severity",
"vulnerable_version_range",
"first_patched_version"
],
"properties": {
"package": {
"type": "object",
"required": [
"ecosystem",
"name"
],
"properties": {
"name": {
"type": "string"
},
"ecosystem": {
"type": "string"
}
}
},
"severity": {
"type": "string"
},
"first_patched_version": {
"type": "object",
"nullable": true,
"required": [
"identifier"
],
"properties": {
"identifier": {
"type": "string"
}
}
},
"vulnerable_version_range": {
"type": "string"
}
}
}
}
},
"description": "The details of the security advisory, including summary, description, and severity."
}
},
"x-github-breaking-changes": [
{
"patch": [
{
"op": "remove",
"path": "/properties/security_advisory/properties/cvss"
},
{
"op": "remove",
"path": "/properties/security_advisory/required/0"
}
],
"version": "2026-03-10",
"changeset": "deprecate_cvss"
}
]
}
webhook-security-and-analysis
{
"type": "object",
"title": "security_and_analysis event",
"required": [
"changes",
"repository"
],
"properties": {
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"changes": {
"type": "object",
"properties": {
"from": {
"type": "object",
"properties": {
"security_and_analysis": {
"$ref": "#/components/schemas/security-and-analysis"
}
}
}
}
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/full-repository"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-sponsorship-cancelled
{
"type": "object",
"title": "sponsorship cancelled event",
"required": [
"action",
"sponsorship",
"sender"
],
"properties": {
"action": {
"enum": [
"cancelled"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"sponsorship": {
"$ref": "#/components/schemas/webhooks_sponsorship"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-sponsorship-created
{
"type": "object",
"title": "sponsorship created event",
"required": [
"action",
"sponsorship",
"sender"
],
"properties": {
"action": {
"enum": [
"created"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"sponsorship": {
"$ref": "#/components/schemas/webhooks_sponsorship"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-sponsorship-edited
{
"type": "object",
"title": "sponsorship edited event",
"required": [
"action",
"changes",
"sponsorship",
"sender"
],
"properties": {
"action": {
"enum": [
"edited"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"changes": {
"type": "object",
"properties": {
"privacy_level": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"type": "string",
"description": "The `edited` event types include the details about the change when someone edits a sponsorship to change the privacy."
}
}
}
}
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"sponsorship": {
"$ref": "#/components/schemas/webhooks_sponsorship"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-sponsorship-pending-cancellation
{
"type": "object",
"title": "sponsorship pending_cancellation event",
"required": [
"action",
"sponsorship",
"sender"
],
"properties": {
"action": {
"enum": [
"pending_cancellation"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"sponsorship": {
"$ref": "#/components/schemas/webhooks_sponsorship"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"effective_date": {
"$ref": "#/components/schemas/webhooks_effective_date"
}
}
}
webhook-sponsorship-pending-tier-change
{
"type": "object",
"title": "sponsorship pending_tier_change event",
"required": [
"action",
"changes",
"sponsorship",
"sender"
],
"properties": {
"action": {
"enum": [
"pending_tier_change"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"changes": {
"$ref": "#/components/schemas/webhooks_changes_8"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"sponsorship": {
"$ref": "#/components/schemas/webhooks_sponsorship"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"effective_date": {
"$ref": "#/components/schemas/webhooks_effective_date"
}
}
}
webhook-sponsorship-tier-changed
{
"type": "object",
"title": "sponsorship tier_changed event",
"required": [
"action",
"changes",
"sponsorship",
"sender"
],
"properties": {
"action": {
"enum": [
"tier_changed"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"changes": {
"$ref": "#/components/schemas/webhooks_changes_8"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"sponsorship": {
"$ref": "#/components/schemas/webhooks_sponsorship"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-star-created
{
"type": "object",
"title": "star created event",
"required": [
"action",
"starred_at",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"created"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"starred_at": {
"type": "string",
"nullable": true,
"description": "The time the star was created. This is a timestamp in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. Will be `null` for the `deleted` action."
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-star-deleted
{
"type": "object",
"title": "star deleted event",
"required": [
"action",
"starred_at",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"deleted"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"starred_at": {
"nullable": true,
"description": "The time the star was created. This is a timestamp in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. Will be `null` for the `deleted` action."
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-status
{
"type": "object",
"title": "status event",
"required": [
"id",
"sha",
"name",
"target_url",
"context",
"description",
"state",
"commit",
"branches",
"created_at",
"updated_at",
"repository",
"sender"
],
"properties": {
"id": {
"type": "integer",
"description": "The unique identifier of the status."
},
"sha": {
"type": "string",
"description": "The Commit SHA."
},
"name": {
"type": "string"
},
"state": {
"enum": [
"pending",
"success",
"failure",
"error"
],
"type": "string",
"description": "The new state. Can be `pending`, `success`, `failure`, or `error`."
},
"commit": {
"type": "object",
"required": [
"sha",
"node_id",
"commit",
"url",
"html_url",
"comments_url",
"author",
"committer",
"parents"
],
"properties": {
"sha": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"author": {
"type": "object",
"title": "User",
"nullable": true,
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"commit": {
"type": "object",
"required": [
"author",
"committer",
"message",
"tree",
"url",
"comment_count",
"verification"
],
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"tree": {
"type": "object",
"required": [
"sha",
"url"
],
"properties": {
"sha": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
}
}
},
"author": {
"allOf": [
{
"type": "object",
"title": "Committer",
"required": [
"email",
"name"
],
"properties": {
"date": {
"type": "string",
"format": "date-time"
},
"name": {
"type": "string",
"description": "The git author's name."
},
"email": {
"type": "string",
"format": "email",
"nullable": true
},
"username": {
"type": "string"
}
},
"description": "Metaproperties for Git author/committer information."
},
{
"type": "object",
"required": [
"date"
],
"properties": {
"date": {
"type": "string"
},
"name": {
"type": "string"
},
"email": {
"type": "string"
}
}
}
]
},
"message": {
"type": "string"
},
"committer": {
"allOf": [
{
"type": "object",
"title": "Committer",
"required": [
"email",
"name"
],
"properties": {
"date": {
"type": "string",
"format": "date-time"
},
"name": {
"type": "string",
"description": "The git author's name."
},
"email": {
"type": "string",
"format": "email",
"nullable": true
},
"username": {
"type": "string"
}
},
"description": "Metaproperties for Git author/committer information."
},
{
"type": "object",
"required": [
"date"
],
"properties": {
"date": {
"type": "string"
},
"name": {
"type": "string"
},
"email": {
"type": "string"
}
}
}
]
},
"verification": {
"type": "object",
"required": [
"verified",
"reason",
"signature",
"payload",
"verified_at"
],
"properties": {
"reason": {
"enum": [
"expired_key",
"not_signing_key",
"gpgverify_error",
"gpgverify_unavailable",
"unsigned",
"unknown_signature_type",
"no_user",
"unverified_email",
"bad_email",
"unknown_key",
"malformed_signature",
"invalid",
"valid",
"bad_cert",
"ocsp_pending"
],
"type": "string"
},
"payload": {
"type": "string",
"nullable": true
},
"verified": {
"type": "boolean"
},
"signature": {
"type": "string",
"nullable": true
},
"verified_at": {
"type": "string",
"nullable": true
}
}
},
"comment_count": {
"type": "integer"
}
}
},
"node_id": {
"type": "string"
},
"parents": {
"type": "array",
"items": {
"type": "object",
"required": [
"sha",
"url",
"html_url"
],
"properties": {
"sha": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"html_url": {
"type": "string",
"format": "uri"
}
}
}
},
"html_url": {
"type": "string",
"format": "uri"
},
"committer": {
"type": "object",
"title": "User",
"nullable": true,
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"comments_url": {
"type": "string",
"format": "uri"
}
}
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"context": {
"type": "string"
},
"branches": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"commit",
"protected"
],
"properties": {
"name": {
"type": "string"
},
"commit": {
"type": "object",
"required": [
"sha",
"url"
],
"properties": {
"sha": {
"type": "string",
"nullable": true
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
}
}
},
"protected": {
"type": "boolean"
}
}
},
"description": "An array of branch objects containing the status' SHA. Each branch contains the given SHA, but the SHA may or may not be the head of the branch. The array includes a maximum of 10 branches."
},
"avatar_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"created_at": {
"type": "string"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"target_url": {
"type": "string",
"nullable": true,
"description": "The optional link added to the status."
},
"updated_at": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true,
"description": "The optional human-readable description added to the status."
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-sub-issues-parent-issue-added
{
"type": "object",
"title": "parent issue added event",
"required": [
"action",
"parent_issue_id",
"parent_issue",
"parent_issue_repo",
"sub_issue_id",
"sub_issue"
],
"properties": {
"action": {
"enum": [
"parent_issue_added"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"sub_issue": {
"$ref": "#/components/schemas/issue"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"parent_issue": {
"$ref": "#/components/schemas/issue"
},
"sub_issue_id": {
"type": "number",
"description": "The ID of the sub-issue."
},
"parent_issue_id": {
"type": "number",
"description": "The ID of the parent issue."
},
"parent_issue_repo": {
"$ref": "#/components/schemas/repository"
}
}
}
webhook-sub-issues-parent-issue-removed
{
"type": "object",
"title": "parent issue removed event",
"required": [
"action",
"parent_issue_id",
"parent_issue",
"parent_issue_repo",
"sub_issue_id",
"sub_issue"
],
"properties": {
"action": {
"enum": [
"parent_issue_removed"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"sub_issue": {
"$ref": "#/components/schemas/issue"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"parent_issue": {
"$ref": "#/components/schemas/issue"
},
"sub_issue_id": {
"type": "number",
"description": "The ID of the sub-issue."
},
"parent_issue_id": {
"type": "number",
"description": "The ID of the parent issue."
},
"parent_issue_repo": {
"$ref": "#/components/schemas/repository"
}
}
}
webhook-sub-issues-sub-issue-added
{
"type": "object",
"title": "sub-issue added event",
"required": [
"action",
"sub_issue_id",
"sub_issue",
"sub_issue_repo",
"parent_issue_id",
"parent_issue"
],
"properties": {
"action": {
"enum": [
"sub_issue_added"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"sub_issue": {
"$ref": "#/components/schemas/issue"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"parent_issue": {
"$ref": "#/components/schemas/issue"
},
"sub_issue_id": {
"type": "number",
"description": "The ID of the sub-issue."
},
"sub_issue_repo": {
"$ref": "#/components/schemas/repository"
},
"parent_issue_id": {
"type": "number",
"description": "The ID of the parent issue."
}
}
}
webhook-sub-issues-sub-issue-removed
{
"type": "object",
"title": "sub-issue removed event",
"required": [
"action",
"sub_issue_id",
"sub_issue",
"sub_issue_repo",
"parent_issue_id",
"parent_issue"
],
"properties": {
"action": {
"enum": [
"sub_issue_removed"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"sub_issue": {
"$ref": "#/components/schemas/issue"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"parent_issue": {
"$ref": "#/components/schemas/issue"
},
"sub_issue_id": {
"type": "number",
"description": "The ID of the sub-issue."
},
"sub_issue_repo": {
"$ref": "#/components/schemas/repository"
},
"parent_issue_id": {
"type": "number",
"description": "The ID of the parent issue."
}
}
}
webhook-team-add
{
"type": "object",
"title": "team_add event",
"required": [
"team",
"repository",
"sender"
],
"properties": {
"team": {
"$ref": "#/components/schemas/webhooks_team_1"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-team-added-to-repository
{
"type": "object",
"title": "team added_to_repository event",
"required": [
"action",
"team",
"organization"
],
"properties": {
"team": {
"$ref": "#/components/schemas/webhooks_team_1"
},
"action": {
"enum": [
"added_to_repository"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"type": "object",
"title": "Repository",
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"custom_properties": {
"type": "object",
"description": "The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values.",
"additionalProperties": true
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"allow_update_branch": {
"type": "boolean"
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
}
},
"description": "A git repository"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-team-created
{
"type": "object",
"title": "team created event",
"required": [
"action",
"team",
"organization",
"sender"
],
"properties": {
"team": {
"$ref": "#/components/schemas/webhooks_team_1"
},
"action": {
"enum": [
"created"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"type": "object",
"title": "Repository",
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"custom_properties": {
"type": "object",
"description": "The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values.",
"additionalProperties": true
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"allow_update_branch": {
"type": "boolean"
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
}
},
"description": "A git repository"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-team-deleted
{
"type": "object",
"title": "team deleted event",
"required": [
"action",
"team",
"organization"
],
"properties": {
"team": {
"$ref": "#/components/schemas/webhooks_team_1"
},
"action": {
"enum": [
"deleted"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"type": "object",
"title": "Repository",
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"custom_properties": {
"type": "object",
"description": "The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values.",
"additionalProperties": true
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"allow_update_branch": {
"type": "boolean"
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
}
},
"description": "A git repository"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-team-edited
{
"type": "object",
"title": "team edited event",
"required": [
"action",
"changes",
"team",
"organization",
"sender"
],
"properties": {
"team": {
"$ref": "#/components/schemas/webhooks_team_1"
},
"action": {
"enum": [
"edited"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"changes": {
"type": "object",
"properties": {
"name": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"type": "string",
"description": "The previous version of the name if the action was `edited`."
}
}
},
"privacy": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"type": "string",
"description": "The previous version of the team's privacy if the action was `edited`."
}
}
},
"repository": {
"type": "object",
"required": [
"permissions"
],
"properties": {
"permissions": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"type": "object",
"properties": {
"pull": {
"type": "boolean",
"description": "The previous version of the team member's `pull` permission on a repository, if the action was `edited`."
},
"push": {
"type": "boolean",
"description": "The previous version of the team member's `push` permission on a repository, if the action was `edited`."
},
"admin": {
"type": "boolean",
"description": "The previous version of the team member's `admin` permission on a repository, if the action was `edited`."
}
}
}
}
}
}
},
"description": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"type": "string",
"description": "The previous version of the description if the action was `edited`."
}
}
},
"notification_setting": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"type": "string",
"description": "The previous version of the team's notification setting if the action was `edited`."
}
}
}
},
"description": "The changes to the team if the action was `edited`."
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"type": "object",
"title": "Repository",
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"custom_properties": {
"type": "object",
"description": "The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values.",
"additionalProperties": true
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"allow_update_branch": {
"type": "boolean"
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
}
},
"description": "A git repository"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-team-removed-from-repository
{
"type": "object",
"title": "team removed_from_repository event",
"required": [
"action",
"team",
"organization",
"sender"
],
"properties": {
"team": {
"$ref": "#/components/schemas/webhooks_team_1"
},
"action": {
"enum": [
"removed_from_repository"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"type": "object",
"title": "Repository",
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"custom_properties": {
"type": "object",
"description": "The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values.",
"additionalProperties": true
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"allow_update_branch": {
"type": "boolean"
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
}
},
"description": "A git repository"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-watch-started
{
"type": "object",
"title": "watch started event",
"required": [
"action",
"repository",
"sender"
],
"properties": {
"action": {
"enum": [
"started"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-workflow-dispatch
{
"type": "object",
"title": "workflow_dispatch event",
"required": [
"inputs",
"ref",
"repository",
"sender",
"workflow"
],
"properties": {
"ref": {
"type": "string"
},
"inputs": {
"type": "object",
"nullable": true,
"additionalProperties": true
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"workflow": {
"type": "string"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
}
}
}
webhook-workflow-job-completed
{
"type": "object",
"title": "workflow_job completed event",
"required": [
"action",
"repository",
"sender",
"workflow_job"
],
"properties": {
"action": {
"enum": [
"completed"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"deployment": {
"$ref": "#/components/schemas/deployment"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"workflow_job": {
"allOf": [
{
"type": "object",
"title": "Workflow Job",
"required": [
"id",
"run_id",
"run_url",
"run_attempt",
"node_id",
"head_sha",
"url",
"html_url",
"status",
"conclusion",
"started_at",
"completed_at",
"name",
"steps",
"check_run_url",
"labels",
"runner_id",
"runner_name",
"runner_group_id",
"runner_group_name",
"workflow_name",
"head_branch",
"created_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"steps": {
"type": "array",
"items": {
"type": "object",
"title": "Workflow Step",
"required": [
"name",
"status",
"conclusion",
"number",
"started_at",
"completed_at"
],
"properties": {
"name": {
"type": "string"
},
"number": {
"type": "integer"
},
"status": {
"enum": [
"in_progress",
"completed",
"queued"
],
"type": "string"
},
"conclusion": {
"enum": [
"failure",
"skipped",
"success",
"cancelled",
null
],
"type": "string",
"nullable": true
},
"started_at": {
"type": "string",
"nullable": true
},
"completed_at": {
"type": "string",
"nullable": true
}
}
}
},
"labels": {
"type": "array",
"items": {
"type": "string"
},
"description": "Custom labels for the job. Specified by the [`\"runs-on\"` attribute](https://docs.github.com/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on) in the workflow YAML."
},
"run_id": {
"type": "number"
},
"status": {
"enum": [
"queued",
"in_progress",
"completed",
"waiting"
],
"type": "string",
"description": "The current status of the job. Can be `queued`, `in_progress`, `waiting`, or `completed`."
},
"node_id": {
"type": "string"
},
"run_url": {
"type": "string",
"format": "uri"
},
"head_sha": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"runner_id": {
"type": "integer",
"nullable": true,
"description": "The ID of the runner that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`."
},
"conclusion": {
"enum": [
"success",
"failure",
null,
"skipped",
"cancelled",
"action_required",
"neutral",
"timed_out"
],
"type": "string",
"nullable": true
},
"created_at": {
"type": "string",
"description": "The time that the job created."
},
"started_at": {
"type": "string"
},
"head_branch": {
"type": "string",
"nullable": true,
"description": "The name of the current branch."
},
"run_attempt": {
"type": "integer"
},
"runner_name": {
"type": "string",
"nullable": true,
"description": "The name of the runner that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`."
},
"completed_at": {
"type": "string",
"nullable": true
},
"check_run_url": {
"type": "string",
"format": "uri"
},
"workflow_name": {
"type": "string",
"nullable": true,
"description": "The name of the workflow."
},
"runner_group_id": {
"type": "integer",
"nullable": true,
"description": "The ID of the runner group that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`."
},
"runner_group_name": {
"type": "string",
"nullable": true,
"description": "The name of the runner group that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`."
}
},
"description": "The workflow job. Many `workflow_job` keys, such as `head_sha`, `conclusion`, and `started_at` are the same as those in a [`check_run`](#check_run) object."
},
{
"type": "object",
"required": [
"conclusion"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"name": {
"type": "string"
},
"steps": {
"type": "array",
"items": {
"type": "object",
"nullable": true
}
},
"labels": {
"type": "array",
"items": {
"type": "string",
"nullable": true
}
},
"run_id": {
"type": "integer"
},
"status": {
"type": "string"
},
"node_id": {
"type": "string"
},
"run_url": {
"type": "string"
},
"head_sha": {
"type": "string"
},
"html_url": {
"type": "string"
},
"runner_id": {
"type": "number",
"nullable": true
},
"conclusion": {
"enum": [
"success",
"failure",
"skipped",
"cancelled",
"action_required",
"neutral",
"timed_out"
],
"type": "string"
},
"created_at": {
"type": "string",
"description": "The time that the job created."
},
"started_at": {
"type": "string"
},
"head_branch": {
"type": "string",
"nullable": true,
"description": "The name of the current branch."
},
"run_attempt": {
"type": "integer"
},
"runner_name": {
"type": "string",
"nullable": true
},
"completed_at": {
"type": "string"
},
"check_run_url": {
"type": "string"
},
"workflow_name": {
"type": "string",
"nullable": true,
"description": "The name of the workflow."
},
"runner_group_id": {
"type": "number",
"nullable": true
},
"runner_group_name": {
"type": "string",
"nullable": true
}
}
}
]
}
}
}
webhook-workflow-job-in-progress
{
"type": "object",
"title": "workflow_job in_progress event",
"required": [
"action",
"repository",
"sender",
"workflow_job"
],
"properties": {
"action": {
"enum": [
"in_progress"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"deployment": {
"$ref": "#/components/schemas/deployment"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"workflow_job": {
"allOf": [
{
"type": "object",
"title": "Workflow Job",
"required": [
"id",
"run_id",
"run_url",
"run_attempt",
"node_id",
"head_sha",
"url",
"html_url",
"status",
"conclusion",
"started_at",
"completed_at",
"name",
"steps",
"check_run_url",
"labels",
"runner_id",
"runner_name",
"runner_group_id",
"runner_group_name",
"workflow_name",
"head_branch",
"created_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"steps": {
"type": "array",
"items": {
"type": "object",
"title": "Workflow Step",
"required": [
"name",
"status",
"conclusion",
"number",
"started_at",
"completed_at"
],
"properties": {
"name": {
"type": "string"
},
"number": {
"type": "integer"
},
"status": {
"enum": [
"in_progress",
"completed",
"queued",
"pending"
],
"type": "string"
},
"conclusion": {
"enum": [
"failure",
"skipped",
"success",
null,
"cancelled"
],
"type": "string",
"nullable": true
},
"started_at": {
"type": "string",
"nullable": true
},
"completed_at": {
"type": "string",
"nullable": true
}
}
}
},
"labels": {
"type": "array",
"items": {
"type": "string"
},
"description": "Custom labels for the job. Specified by the [`\"runs-on\"` attribute](https://docs.github.com/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on) in the workflow YAML."
},
"run_id": {
"type": "number"
},
"status": {
"enum": [
"queued",
"in_progress",
"completed"
],
"type": "string",
"description": "The current status of the job. Can be `queued`, `in_progress`, or `completed`."
},
"node_id": {
"type": "string"
},
"run_url": {
"type": "string",
"format": "uri"
},
"head_sha": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"runner_id": {
"type": "integer",
"nullable": true,
"description": "The ID of the runner that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`."
},
"conclusion": {
"enum": [
"success",
"failure",
null,
"cancelled",
"neutral"
],
"type": "string",
"nullable": true
},
"created_at": {
"type": "string",
"description": "The time that the job created."
},
"started_at": {
"type": "string"
},
"head_branch": {
"type": "string",
"nullable": true,
"description": "The name of the current branch."
},
"run_attempt": {
"type": "integer"
},
"runner_name": {
"type": "string",
"nullable": true,
"description": "The name of the runner that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`."
},
"completed_at": {
"type": "string",
"nullable": true
},
"check_run_url": {
"type": "string",
"format": "uri"
},
"workflow_name": {
"type": "string",
"nullable": true,
"description": "The name of the workflow."
},
"runner_group_id": {
"type": "integer",
"nullable": true,
"description": "The ID of the runner group that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`."
},
"runner_group_name": {
"type": "string",
"nullable": true,
"description": "The name of the runner group that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`."
}
},
"description": "The workflow job. Many `workflow_job` keys, such as `head_sha`, `conclusion`, and `started_at` are the same as those in a [`check_run`](#check_run) object."
},
{
"type": "object",
"required": [
"status",
"steps"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"name": {
"type": "string"
},
"steps": {
"type": "array",
"items": {
"type": "object",
"title": "Workflow Step",
"required": [
"name",
"status",
"conclusion",
"number",
"started_at",
"completed_at"
],
"properties": {
"name": {
"type": "string"
},
"number": {
"type": "integer"
},
"status": {
"enum": [
"in_progress",
"completed",
"pending",
"queued"
],
"type": "string"
},
"conclusion": {
"type": "string",
"nullable": true
},
"started_at": {
"type": "string",
"nullable": true
},
"completed_at": {
"type": "string",
"nullable": true
}
}
}
},
"labels": {
"type": "array",
"items": {
"type": "string"
}
},
"run_id": {
"type": "integer"
},
"status": {
"enum": [
"in_progress",
"completed",
"queued"
],
"type": "string"
},
"node_id": {
"type": "string"
},
"run_url": {
"type": "string"
},
"head_sha": {
"type": "string"
},
"html_url": {
"type": "string"
},
"runner_id": {
"type": "number",
"nullable": true
},
"conclusion": {
"type": "string",
"nullable": true
},
"created_at": {
"type": "string",
"description": "The time that the job created."
},
"started_at": {
"type": "string"
},
"head_branch": {
"type": "string",
"nullable": true,
"description": "The name of the current branch."
},
"run_attempt": {
"type": "integer"
},
"runner_name": {
"type": "string",
"nullable": true
},
"completed_at": {
"type": "string",
"nullable": true
},
"check_run_url": {
"type": "string"
},
"workflow_name": {
"type": "string",
"nullable": true,
"description": "The name of the workflow."
},
"runner_group_id": {
"type": "number",
"nullable": true
},
"runner_group_name": {
"type": "string",
"nullable": true
}
}
}
]
}
}
}
webhook-workflow-job-queued
{
"type": "object",
"title": "workflow_job queued event",
"required": [
"action",
"repository",
"sender",
"workflow_job"
],
"properties": {
"action": {
"enum": [
"queued"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"deployment": {
"$ref": "#/components/schemas/deployment"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"workflow_job": {
"type": "object",
"required": [
"id",
"run_id",
"run_url",
"run_attempt",
"node_id",
"head_sha",
"url",
"html_url",
"status",
"conclusion",
"started_at",
"completed_at",
"name",
"steps",
"check_run_url",
"labels",
"runner_id",
"runner_name",
"runner_group_id",
"runner_group_name",
"workflow_name",
"head_branch",
"created_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"steps": {
"type": "array",
"items": {
"type": "object",
"title": "Workflow Step",
"required": [
"name",
"status",
"conclusion",
"number",
"started_at",
"completed_at"
],
"properties": {
"name": {
"type": "string"
},
"number": {
"type": "integer"
},
"status": {
"enum": [
"completed",
"in_progress",
"queued",
"pending"
],
"type": "string"
},
"conclusion": {
"enum": [
"failure",
"skipped",
"success",
"cancelled",
null
],
"type": "string",
"nullable": true
},
"started_at": {
"type": "string",
"nullable": true
},
"completed_at": {
"type": "string",
"nullable": true
}
}
}
},
"labels": {
"type": "array",
"items": {
"type": "string"
}
},
"run_id": {
"type": "number"
},
"status": {
"enum": [
"queued",
"in_progress",
"completed",
"waiting"
],
"type": "string"
},
"node_id": {
"type": "string"
},
"run_url": {
"type": "string",
"format": "uri"
},
"head_sha": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"runner_id": {
"type": "integer",
"nullable": true
},
"conclusion": {
"type": "string",
"nullable": true
},
"created_at": {
"type": "string",
"description": "The time that the job created."
},
"started_at": {
"type": "string",
"format": "date-time"
},
"head_branch": {
"type": "string",
"nullable": true,
"description": "The name of the current branch."
},
"run_attempt": {
"type": "integer"
},
"runner_name": {
"type": "string",
"nullable": true
},
"completed_at": {
"type": "string",
"nullable": true
},
"check_run_url": {
"type": "string",
"format": "uri"
},
"workflow_name": {
"type": "string",
"nullable": true,
"description": "The name of the workflow."
},
"runner_group_id": {
"type": "integer",
"nullable": true
},
"runner_group_name": {
"type": "string",
"nullable": true
}
}
}
}
}
webhook-workflow-job-waiting
{
"type": "object",
"title": "workflow_job waiting event",
"required": [
"action",
"repository",
"sender",
"workflow_job"
],
"properties": {
"action": {
"enum": [
"waiting"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"deployment": {
"$ref": "#/components/schemas/deployment"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"workflow_job": {
"type": "object",
"required": [
"id",
"run_id",
"run_url",
"run_attempt",
"node_id",
"head_sha",
"url",
"html_url",
"status",
"conclusion",
"started_at",
"completed_at",
"name",
"steps",
"check_run_url",
"labels",
"runner_id",
"runner_name",
"runner_group_id",
"runner_group_name",
"workflow_name",
"head_branch",
"created_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"steps": {
"type": "array",
"items": {
"type": "object",
"title": "Workflow Step",
"required": [
"name",
"status",
"conclusion",
"number",
"started_at",
"completed_at"
],
"properties": {
"name": {
"type": "string"
},
"number": {
"type": "integer"
},
"status": {
"enum": [
"completed",
"in_progress",
"queued",
"pending",
"waiting"
],
"type": "string"
},
"conclusion": {
"enum": [
"failure",
"skipped",
"success",
"cancelled",
null
],
"type": "string",
"nullable": true
},
"started_at": {
"type": "string",
"nullable": true
},
"completed_at": {
"type": "string",
"nullable": true
}
}
}
},
"labels": {
"type": "array",
"items": {
"type": "string"
}
},
"run_id": {
"type": "number"
},
"status": {
"enum": [
"queued",
"in_progress",
"completed",
"waiting"
],
"type": "string"
},
"node_id": {
"type": "string"
},
"run_url": {
"type": "string",
"format": "uri"
},
"head_sha": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"runner_id": {
"type": "integer",
"nullable": true
},
"conclusion": {
"type": "string",
"nullable": true
},
"created_at": {
"type": "string",
"description": "The time that the job created."
},
"started_at": {
"type": "string",
"format": "date-time"
},
"head_branch": {
"type": "string",
"nullable": true,
"description": "The name of the current branch."
},
"run_attempt": {
"type": "integer"
},
"runner_name": {
"type": "string",
"nullable": true
},
"completed_at": {
"type": "string",
"nullable": true
},
"check_run_url": {
"type": "string",
"format": "uri"
},
"workflow_name": {
"type": "string",
"nullable": true,
"description": "The name of the workflow."
},
"runner_group_id": {
"type": "integer",
"nullable": true
},
"runner_group_name": {
"type": "string",
"nullable": true
}
}
}
}
}
webhook-workflow-run-completed
{
"type": "object",
"title": "workflow_run completed event",
"required": [
"action",
"repository",
"sender",
"workflow",
"workflow_run"
],
"properties": {
"action": {
"enum": [
"completed"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"workflow": {
"$ref": "#/components/schemas/webhooks_workflow"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"workflow_run": {
"type": "object",
"title": "Workflow Run",
"required": [
"actor",
"artifacts_url",
"cancel_url",
"check_suite_id",
"check_suite_node_id",
"check_suite_url",
"conclusion",
"created_at",
"event",
"head_branch",
"head_commit",
"head_repository",
"head_sha",
"html_url",
"id",
"jobs_url",
"logs_url",
"name",
"node_id",
"path",
"previous_attempt_url",
"pull_requests",
"repository",
"rerun_url",
"run_attempt",
"run_number",
"run_started_at",
"status",
"triggering_actor",
"updated_at",
"url",
"workflow_id",
"workflow_url"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string",
"nullable": true
},
"path": {
"type": "string"
},
"actor": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"event": {
"type": "string"
},
"status": {
"enum": [
"requested",
"in_progress",
"completed",
"queued",
"pending",
"waiting"
],
"type": "string"
},
"node_id": {
"type": "string"
},
"head_sha": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"jobs_url": {
"type": "string",
"format": "uri"
},
"logs_url": {
"type": "string",
"format": "uri"
},
"rerun_url": {
"type": "string",
"format": "uri"
},
"cancel_url": {
"type": "string",
"format": "uri"
},
"conclusion": {
"enum": [
"action_required",
"cancelled",
"failure",
"neutral",
"skipped",
"stale",
"success",
"timed_out",
"startup_failure"
],
"type": "string",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"repository": {
"type": "object",
"title": "Repository Lite",
"required": [
"archive_url",
"assignees_url",
"blobs_url",
"branches_url",
"collaborators_url",
"comments_url",
"commits_url",
"compare_url",
"contents_url",
"contributors_url",
"deployments_url",
"description",
"downloads_url",
"events_url",
"fork",
"forks_url",
"full_name",
"git_commits_url",
"git_refs_url",
"git_tags_url",
"hooks_url",
"html_url",
"id",
"issue_comment_url",
"issue_events_url",
"issues_url",
"keys_url",
"labels_url",
"languages_url",
"merges_url",
"milestones_url",
"name",
"node_id",
"notifications_url",
"owner",
"private",
"pulls_url",
"releases_url",
"stargazers_url",
"statuses_url",
"subscribers_url",
"subscription_url",
"tags_url",
"teams_url",
"trees_url",
"url"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"tags_url": {
"type": "string",
"format": "uri"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"events_url": {
"type": "string",
"format": "uri"
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"languages_url": {
"type": "string",
"format": "uri"
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
}
}
},
"run_number": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"head_branch": {
"type": "string",
"nullable": true
},
"head_commit": {
"type": "object",
"title": "SimpleCommit",
"required": [
"id",
"tree_id",
"message",
"timestamp",
"author",
"committer"
],
"properties": {
"id": {
"type": "string"
},
"author": {
"type": "object",
"title": "Committer",
"required": [
"email",
"name"
],
"properties": {
"date": {
"type": "string",
"format": "date-time"
},
"name": {
"type": "string",
"description": "The git author's name."
},
"email": {
"type": "string",
"format": "email",
"nullable": true
},
"username": {
"type": "string"
}
},
"description": "Metaproperties for Git author/committer information."
},
"message": {
"type": "string"
},
"tree_id": {
"type": "string"
},
"committer": {
"type": "object",
"title": "Committer",
"required": [
"email",
"name"
],
"properties": {
"date": {
"type": "string",
"format": "date-time"
},
"name": {
"type": "string",
"description": "The git author's name."
},
"email": {
"type": "string",
"format": "email",
"nullable": true
},
"username": {
"type": "string"
}
},
"description": "Metaproperties for Git author/committer information."
},
"timestamp": {
"type": "string"
}
}
},
"run_attempt": {
"type": "integer"
},
"workflow_id": {
"type": "integer"
},
"workflow_url": {
"type": "string",
"format": "uri"
},
"artifacts_url": {
"type": "string",
"format": "uri"
},
"display_title": {
"type": "string",
"example": "Simple Workflow",
"description": "The event-specific title associated with the run or the run-name if set, or the value of `run-name` if it is set in the workflow."
},
"pull_requests": {
"type": "array",
"items": {
"type": "object",
"nullable": true,
"required": [
"url",
"id",
"number",
"head",
"base"
],
"properties": {
"id": {
"type": "number"
},
"url": {
"type": "string",
"format": "uri"
},
"base": {
"type": "object",
"required": [
"ref",
"sha",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repo Ref",
"required": [
"id",
"url",
"name"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
}
}
}
}
},
"head": {
"type": "object",
"required": [
"ref",
"sha",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repo Ref",
"required": [
"id",
"url",
"name"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
}
}
}
}
},
"number": {
"type": "number"
}
}
}
},
"check_suite_id": {
"type": "integer"
},
"run_started_at": {
"type": "string",
"format": "date-time"
},
"check_suite_url": {
"type": "string",
"format": "uri"
},
"head_repository": {
"type": "object",
"title": "Repository Lite",
"required": [
"archive_url",
"assignees_url",
"blobs_url",
"branches_url",
"collaborators_url",
"comments_url",
"commits_url",
"compare_url",
"contents_url",
"contributors_url",
"deployments_url",
"description",
"downloads_url",
"events_url",
"fork",
"forks_url",
"full_name",
"git_commits_url",
"git_refs_url",
"git_tags_url",
"hooks_url",
"html_url",
"id",
"issue_comment_url",
"issue_events_url",
"issues_url",
"keys_url",
"labels_url",
"languages_url",
"merges_url",
"milestones_url",
"name",
"node_id",
"notifications_url",
"owner",
"private",
"pulls_url",
"releases_url",
"stargazers_url",
"statuses_url",
"subscribers_url",
"subscription_url",
"tags_url",
"teams_url",
"trees_url",
"url"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"tags_url": {
"type": "string",
"format": "uri"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"events_url": {
"type": "string",
"format": "uri"
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"languages_url": {
"type": "string",
"format": "uri"
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
}
}
},
"triggering_actor": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"check_suite_node_id": {
"type": "string"
},
"previous_attempt_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"referenced_workflows": {
"type": "array",
"items": {
"type": "object",
"required": [
"path",
"sha"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"path": {
"type": "string"
}
}
},
"nullable": true
}
}
}
}
}
webhook-workflow-run-in-progress
{
"type": "object",
"title": "workflow_run in_progress event",
"required": [
"action",
"repository",
"sender",
"workflow",
"workflow_run"
],
"properties": {
"action": {
"enum": [
"in_progress"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"workflow": {
"$ref": "#/components/schemas/webhooks_workflow"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"workflow_run": {
"type": "object",
"title": "Workflow Run",
"required": [
"actor",
"artifacts_url",
"cancel_url",
"check_suite_id",
"check_suite_node_id",
"check_suite_url",
"conclusion",
"created_at",
"event",
"head_branch",
"head_commit",
"head_repository",
"head_sha",
"html_url",
"id",
"jobs_url",
"logs_url",
"name",
"node_id",
"path",
"previous_attempt_url",
"pull_requests",
"repository",
"rerun_url",
"run_attempt",
"run_number",
"run_started_at",
"status",
"triggering_actor",
"updated_at",
"url",
"workflow_id",
"workflow_url"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string",
"nullable": true
},
"path": {
"type": "string"
},
"actor": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"event": {
"type": "string"
},
"status": {
"enum": [
"requested",
"in_progress",
"completed",
"queued",
"pending"
],
"type": "string"
},
"node_id": {
"type": "string"
},
"head_sha": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"jobs_url": {
"type": "string",
"format": "uri"
},
"logs_url": {
"type": "string",
"format": "uri"
},
"rerun_url": {
"type": "string",
"format": "uri"
},
"cancel_url": {
"type": "string",
"format": "uri"
},
"conclusion": {
"enum": [
"action_required",
"cancelled",
"failure",
"neutral",
"skipped",
"stale",
"success",
"timed_out"
],
"type": "string",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"repository": {
"type": "object",
"title": "Repository Lite",
"required": [
"archive_url",
"assignees_url",
"blobs_url",
"branches_url",
"collaborators_url",
"comments_url",
"commits_url",
"compare_url",
"contents_url",
"contributors_url",
"deployments_url",
"description",
"downloads_url",
"events_url",
"fork",
"forks_url",
"full_name",
"git_commits_url",
"git_refs_url",
"git_tags_url",
"hooks_url",
"html_url",
"id",
"issue_comment_url",
"issue_events_url",
"issues_url",
"keys_url",
"labels_url",
"languages_url",
"merges_url",
"milestones_url",
"name",
"node_id",
"notifications_url",
"owner",
"private",
"pulls_url",
"releases_url",
"stargazers_url",
"statuses_url",
"subscribers_url",
"subscription_url",
"tags_url",
"teams_url",
"trees_url",
"url"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"tags_url": {
"type": "string",
"format": "uri"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"events_url": {
"type": "string",
"format": "uri"
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"languages_url": {
"type": "string",
"format": "uri"
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
}
}
},
"run_number": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"head_branch": {
"type": "string",
"nullable": true
},
"head_commit": {
"type": "object",
"title": "SimpleCommit",
"required": [
"id",
"tree_id",
"message",
"timestamp",
"author",
"committer"
],
"properties": {
"id": {
"type": "string"
},
"author": {
"type": "object",
"title": "Committer",
"required": [
"email",
"name"
],
"properties": {
"date": {
"type": "string",
"format": "date-time"
},
"name": {
"type": "string",
"description": "The git author's name."
},
"email": {
"type": "string",
"format": "email",
"nullable": true
},
"username": {
"type": "string"
}
},
"description": "Metaproperties for Git author/committer information."
},
"message": {
"type": "string"
},
"tree_id": {
"type": "string"
},
"committer": {
"type": "object",
"title": "Committer",
"required": [
"email",
"name"
],
"properties": {
"date": {
"type": "string",
"format": "date-time"
},
"name": {
"type": "string",
"description": "The git author's name."
},
"email": {
"type": "string",
"format": "email",
"nullable": true
},
"username": {
"type": "string"
}
},
"description": "Metaproperties for Git author/committer information."
},
"timestamp": {
"type": "string"
}
}
},
"run_attempt": {
"type": "integer"
},
"workflow_id": {
"type": "integer"
},
"workflow_url": {
"type": "string",
"format": "uri"
},
"artifacts_url": {
"type": "string",
"format": "uri"
},
"pull_requests": {
"type": "array",
"items": {
"type": "object",
"nullable": true,
"required": [
"url",
"id",
"number",
"head",
"base"
],
"properties": {
"id": {
"type": "number"
},
"url": {
"type": "string",
"format": "uri"
},
"base": {
"type": "object",
"required": [
"ref",
"sha",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repo Ref",
"required": [
"id",
"url",
"name"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
}
}
}
}
},
"head": {
"type": "object",
"required": [
"ref",
"sha",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repo Ref",
"required": [
"id",
"url",
"name"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
}
}
}
}
},
"number": {
"type": "number"
}
}
}
},
"check_suite_id": {
"type": "integer"
},
"run_started_at": {
"type": "string",
"format": "date-time"
},
"check_suite_url": {
"type": "string",
"format": "uri"
},
"head_repository": {
"type": "object",
"title": "Repository Lite",
"required": [
"archive_url",
"assignees_url",
"blobs_url",
"branches_url",
"collaborators_url",
"comments_url",
"commits_url",
"compare_url",
"contents_url",
"contributors_url",
"deployments_url",
"description",
"downloads_url",
"events_url",
"fork",
"forks_url",
"full_name",
"git_commits_url",
"git_refs_url",
"git_tags_url",
"hooks_url",
"html_url",
"id",
"issue_comment_url",
"issue_events_url",
"issues_url",
"keys_url",
"labels_url",
"languages_url",
"merges_url",
"milestones_url",
"name",
"node_id",
"notifications_url",
"owner",
"private",
"pulls_url",
"releases_url",
"stargazers_url",
"statuses_url",
"subscribers_url",
"subscription_url",
"tags_url",
"teams_url",
"trees_url",
"url"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"nullable": true,
"description": "The name of the repository."
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"tags_url": {
"type": "string",
"format": "uri"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"events_url": {
"type": "string",
"format": "uri"
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"languages_url": {
"type": "string",
"format": "uri"
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
}
}
},
"triggering_actor": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"check_suite_node_id": {
"type": "string"
},
"previous_attempt_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"referenced_workflows": {
"type": "array",
"items": {
"type": "object",
"required": [
"path",
"sha"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"path": {
"type": "string"
}
}
},
"nullable": true
}
}
}
}
}
webhook-workflow-run-requested
{
"type": "object",
"title": "workflow_run requested event",
"required": [
"action",
"repository",
"sender",
"workflow",
"workflow_run"
],
"properties": {
"action": {
"enum": [
"requested"
],
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/simple-user"
},
"workflow": {
"$ref": "#/components/schemas/webhooks_workflow"
},
"enterprise": {
"$ref": "#/components/schemas/enterprise-webhooks"
},
"repository": {
"$ref": "#/components/schemas/repository-webhooks"
},
"installation": {
"$ref": "#/components/schemas/simple-installation"
},
"organization": {
"$ref": "#/components/schemas/organization-simple-webhooks"
},
"workflow_run": {
"type": "object",
"title": "Workflow Run",
"required": [
"artifacts_url",
"cancel_url",
"check_suite_url",
"check_suite_id",
"check_suite_node_id",
"conclusion",
"created_at",
"event",
"head_branch",
"head_commit",
"head_repository",
"head_sha",
"html_url",
"id",
"jobs_url",
"logs_url",
"node_id",
"name",
"path",
"pull_requests",
"repository",
"rerun_url",
"run_number",
"status",
"updated_at",
"url",
"workflow_id",
"workflow_url",
"run_attempt",
"run_started_at",
"previous_attempt_url",
"actor",
"triggering_actor",
"display_title"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string",
"nullable": true
},
"path": {
"type": "string"
},
"actor": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"event": {
"type": "string"
},
"status": {
"enum": [
"requested",
"in_progress",
"completed",
"queued",
"pending",
"waiting"
],
"type": "string"
},
"node_id": {
"type": "string"
},
"head_sha": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"jobs_url": {
"type": "string",
"format": "uri"
},
"logs_url": {
"type": "string",
"format": "uri"
},
"rerun_url": {
"type": "string",
"format": "uri"
},
"cancel_url": {
"type": "string",
"format": "uri"
},
"conclusion": {
"enum": [
"success",
"failure",
"neutral",
"cancelled",
"timed_out",
"action_required",
"stale",
null,
"skipped",
"startup_failure"
],
"type": "string",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"repository": {
"type": "object",
"title": "Repository Lite",
"required": [
"archive_url",
"assignees_url",
"blobs_url",
"branches_url",
"collaborators_url",
"comments_url",
"commits_url",
"compare_url",
"contents_url",
"contributors_url",
"deployments_url",
"description",
"downloads_url",
"events_url",
"fork",
"forks_url",
"full_name",
"git_commits_url",
"git_refs_url",
"git_tags_url",
"hooks_url",
"html_url",
"id",
"issue_comment_url",
"issue_events_url",
"issues_url",
"keys_url",
"labels_url",
"languages_url",
"merges_url",
"milestones_url",
"name",
"node_id",
"notifications_url",
"owner",
"private",
"pulls_url",
"releases_url",
"stargazers_url",
"statuses_url",
"subscribers_url",
"subscription_url",
"tags_url",
"teams_url",
"trees_url",
"url"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"tags_url": {
"type": "string",
"format": "uri"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"events_url": {
"type": "string",
"format": "uri"
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"languages_url": {
"type": "string",
"format": "uri"
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
}
}
},
"run_number": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"head_branch": {
"type": "string",
"nullable": true
},
"head_commit": {
"type": "object",
"title": "SimpleCommit",
"required": [
"id",
"tree_id",
"message",
"timestamp",
"author",
"committer"
],
"properties": {
"id": {
"type": "string"
},
"author": {
"type": "object",
"title": "Committer",
"required": [
"email",
"name"
],
"properties": {
"date": {
"type": "string",
"format": "date-time"
},
"name": {
"type": "string",
"description": "The git author's name."
},
"email": {
"type": "string",
"format": "email",
"nullable": true
},
"username": {
"type": "string"
}
},
"description": "Metaproperties for Git author/committer information."
},
"message": {
"type": "string"
},
"tree_id": {
"type": "string"
},
"committer": {
"type": "object",
"title": "Committer",
"required": [
"email",
"name"
],
"properties": {
"date": {
"type": "string",
"format": "date-time"
},
"name": {
"type": "string",
"description": "The git author's name."
},
"email": {
"type": "string",
"format": "email",
"nullable": true
},
"username": {
"type": "string"
}
},
"description": "Metaproperties for Git author/committer information."
},
"timestamp": {
"type": "string"
}
}
},
"run_attempt": {
"type": "integer"
},
"workflow_id": {
"type": "integer"
},
"workflow_url": {
"type": "string",
"format": "uri"
},
"artifacts_url": {
"type": "string",
"format": "uri"
},
"display_title": {
"type": "string"
},
"pull_requests": {
"type": "array",
"items": {
"type": "object",
"required": [
"url",
"id",
"number",
"head",
"base"
],
"properties": {
"id": {
"type": "number"
},
"url": {
"type": "string",
"format": "uri"
},
"base": {
"type": "object",
"required": [
"ref",
"sha",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repo Ref",
"required": [
"id",
"url",
"name"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
}
}
}
}
},
"head": {
"type": "object",
"required": [
"ref",
"sha",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repo Ref",
"required": [
"id",
"url",
"name"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
}
}
}
}
},
"number": {
"type": "number"
}
}
}
},
"check_suite_id": {
"type": "integer"
},
"run_started_at": {
"type": "string",
"format": "date-time"
},
"check_suite_url": {
"type": "string",
"format": "uri"
},
"head_repository": {
"type": "object",
"title": "Repository Lite",
"required": [
"archive_url",
"assignees_url",
"blobs_url",
"branches_url",
"collaborators_url",
"comments_url",
"commits_url",
"compare_url",
"contents_url",
"contributors_url",
"deployments_url",
"description",
"downloads_url",
"events_url",
"fork",
"forks_url",
"full_name",
"git_commits_url",
"git_refs_url",
"git_tags_url",
"hooks_url",
"html_url",
"id",
"issue_comment_url",
"issue_events_url",
"issues_url",
"keys_url",
"labels_url",
"languages_url",
"merges_url",
"milestones_url",
"name",
"node_id",
"notifications_url",
"owner",
"private",
"pulls_url",
"releases_url",
"stargazers_url",
"statuses_url",
"subscribers_url",
"subscription_url",
"tags_url",
"teams_url",
"trees_url",
"url"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"tags_url": {
"type": "string",
"format": "uri"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"events_url": {
"type": "string",
"format": "uri"
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"languages_url": {
"type": "string",
"format": "uri"
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
}
}
},
"triggering_actor": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"check_suite_node_id": {
"type": "string"
},
"previous_attempt_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"referenced_workflows": {
"type": "array",
"items": {
"type": "object",
"required": [
"path",
"sha"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"path": {
"type": "string"
}
}
},
"nullable": true
}
}
}
}
}
webhooks_alert
{
"type": "object",
"title": "Repository Vulnerability Alert Alert",
"required": [
"affected_package_name",
"affected_range",
"created_at",
"external_identifier",
"external_reference",
"ghsa_id",
"id",
"node_id",
"number",
"severity",
"state"
],
"properties": {
"id": {
"type": "integer"
},
"state": {
"enum": [
"auto_dismissed",
"open"
],
"type": "string"
},
"number": {
"type": "integer"
},
"ghsa_id": {
"type": "string"
},
"node_id": {
"type": "string"
},
"fixed_at": {
"type": "string",
"format": "date-time"
},
"fixed_in": {
"type": "string"
},
"severity": {
"type": "string"
},
"dismisser": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"created_at": {
"type": "string"
},
"fix_reason": {
"type": "string"
},
"dismissed_at": {
"type": "string"
},
"affected_range": {
"type": "string"
},
"dismiss_reason": {
"type": "string"
},
"external_reference": {
"type": "string",
"format": "uri",
"nullable": true
},
"external_identifier": {
"type": "string"
},
"affected_package_name": {
"type": "string"
}
},
"description": "The security alert of the vulnerable dependency."
}
webhooks_answer
{
"type": "object",
"required": [
"id",
"node_id",
"html_url",
"parent_id",
"child_comment_count",
"repository_url",
"discussion_id",
"author_association",
"user",
"created_at",
"updated_at",
"body"
],
"properties": {
"id": {
"type": "integer"
},
"body": {
"type": "string"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string"
},
"parent_id": {
"nullable": true
},
"reactions": {
"type": "object",
"title": "Reactions",
"required": [
"url",
"total_count",
"+1",
"-1",
"laugh",
"confused",
"heart",
"hooray",
"eyes",
"rocket"
],
"properties": {
"+1": {
"type": "integer"
},
"-1": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"eyes": {
"type": "integer"
},
"heart": {
"type": "integer"
},
"laugh": {
"type": "integer"
},
"hooray": {
"type": "integer"
},
"rocket": {
"type": "integer"
},
"confused": {
"type": "integer"
},
"total_count": {
"type": "integer"
}
}
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"discussion_id": {
"type": "integer"
},
"repository_url": {
"type": "string"
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
},
"child_comment_count": {
"type": "integer"
}
}
}
webhooks_approver
{
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"type": {
"type": "string"
},
"login": {
"type": "string"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string"
},
"gists_url": {
"type": "string"
},
"repos_url": {
"type": "string"
},
"avatar_url": {
"type": "string"
},
"events_url": {
"type": "string"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string"
},
"followers_url": {
"type": "string"
},
"following_url": {
"type": "string"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string"
},
"subscriptions_url": {
"type": "string"
},
"received_events_url": {
"type": "string"
}
}
}
webhooks_changes
{
"type": "object",
"properties": {
"body": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"type": "string",
"description": "The previous version of the body."
}
}
}
},
"description": "The changes to the comment."
}
webhooks_changes_8
{
"type": "object",
"required": [
"tier"
],
"properties": {
"tier": {
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"type": "object",
"title": "Sponsorship Tier",
"required": [
"node_id",
"created_at",
"description",
"monthly_price_in_cents",
"monthly_price_in_dollars",
"name",
"is_one_time"
],
"properties": {
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"created_at": {
"type": "string"
},
"description": {
"type": "string"
},
"is_one_time": {
"type": "boolean"
},
"is_custom_amount": {
"type": "boolean"
},
"is_custom_ammount": {
"type": "boolean"
},
"monthly_price_in_cents": {
"type": "integer"
},
"monthly_price_in_dollars": {
"type": "integer"
}
},
"description": "The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload."
}
}
}
}
}
webhooks_code_scanning_commit_oid
{
"type": "string",
"description": "The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty."
}
webhooks_code_scanning_ref
{
"type": "string",
"description": "The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty."
}
webhooks_comment
{
"type": "object",
"required": [
"id",
"node_id",
"html_url",
"parent_id",
"child_comment_count",
"repository_url",
"discussion_id",
"author_association",
"user",
"created_at",
"updated_at",
"body",
"reactions"
],
"properties": {
"id": {
"type": "integer"
},
"body": {
"type": "string"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string"
},
"parent_id": {
"type": "integer",
"nullable": true
},
"reactions": {
"type": "object",
"title": "Reactions",
"required": [
"url",
"total_count",
"+1",
"-1",
"laugh",
"confused",
"heart",
"hooray",
"eyes",
"rocket"
],
"properties": {
"+1": {
"type": "integer"
},
"-1": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"eyes": {
"type": "integer"
},
"heart": {
"type": "integer"
},
"laugh": {
"type": "integer"
},
"hooray": {
"type": "integer"
},
"rocket": {
"type": "integer"
},
"confused": {
"type": "integer"
},
"total_count": {
"type": "integer"
}
}
},
"created_at": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"discussion_id": {
"type": "integer"
},
"repository_url": {
"type": "string"
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
},
"child_comment_count": {
"type": "integer"
}
}
}
webhooks_deploy_key
{
"type": "object",
"required": [
"id",
"key",
"url",
"title",
"verified",
"created_at",
"read_only"
],
"properties": {
"id": {
"type": "integer"
},
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"title": {
"type": "string"
},
"enabled": {
"type": "boolean"
},
"added_by": {
"type": "string",
"nullable": true
},
"verified": {
"type": "boolean"
},
"last_used": {
"type": "string",
"nullable": true
},
"read_only": {
"type": "boolean"
},
"created_at": {
"type": "string"
}
},
"description": "The [`deploy key`](https://docs.github.com/rest/deploy-keys/deploy-keys#get-a-deploy-key) resource."
}
webhooks_deploy_pusher_type
{
"type": "string",
"description": "The pusher type for the event. Can be either `user` or a deploy key."
}
webhooks_effective_date
{
"type": "string",
"description": "The `pending_cancellation` and `pending_tier_change` event types will include the date the cancellation or tier change will take effect."
}
webhooks_issue
{
"type": "object",
"title": "Issue",
"required": [
"url",
"repository_url",
"labels_url",
"comments_url",
"events_url",
"html_url",
"id",
"node_id",
"number",
"title",
"user",
"assignees",
"milestone",
"comments",
"created_at",
"updated_at",
"closed_at",
"author_association",
"active_lock_reason",
"body",
"reactions"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the issue"
},
"body": {
"type": "string",
"nullable": true,
"description": "Contents of the issue"
},
"type": {
"$ref": "#/components/schemas/issue-type"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"draft": {
"type": "boolean"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "State of the issue; either 'open' or 'closed'"
},
"title": {
"type": "string",
"description": "Title of the issue"
},
"labels": {
"type": "array",
"items": {
"type": "object",
"title": "Label",
"required": [
"id",
"node_id",
"url",
"name",
"color",
"default",
"description"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the label"
},
"name": {
"type": "string",
"description": "The name of the label."
},
"color": {
"type": "string",
"description": "6-character hex code, without the leading #, identifying the color"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
},
"locked": {
"type": "boolean"
},
"number": {
"type": "integer"
},
"node_id": {
"type": "string"
},
"assignee": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"comments": {
"type": "integer"
},
"html_url": {
"type": "string",
"format": "uri"
},
"assignees": {
"type": "array",
"items": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
}
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"milestone": {
"type": "object",
"title": "Milestone",
"nullable": true,
"required": [
"url",
"html_url",
"labels_url",
"id",
"node_id",
"number",
"title",
"description",
"creator",
"open_issues",
"closed_issues",
"state",
"created_at",
"updated_at",
"due_on",
"closed_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "The state of the milestone."
},
"title": {
"type": "string",
"description": "The title of the milestone."
},
"due_on": {
"type": "string",
"format": "date-time",
"nullable": true
},
"number": {
"type": "integer",
"description": "The number of the milestone."
},
"creator": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"labels_url": {
"type": "string",
"format": "uri"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string",
"nullable": true
},
"open_issues": {
"type": "integer"
},
"closed_issues": {
"type": "integer"
}
},
"description": "A collection of related issues and pull requests."
},
"reactions": {
"type": "object",
"title": "Reactions",
"required": [
"url",
"total_count",
"+1",
"-1",
"laugh",
"confused",
"heart",
"hooray",
"eyes",
"rocket"
],
"properties": {
"+1": {
"type": "integer"
},
"-1": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"eyes": {
"type": "integer"
},
"heart": {
"type": "integer"
},
"laugh": {
"type": "integer"
},
"hooray": {
"type": "integer"
},
"rocket": {
"type": "integer"
},
"confused": {
"type": "integer"
},
"total_count": {
"type": "integer"
}
}
},
"created_at": {
"type": "string",
"format": "date-time"
},
"events_url": {
"type": "string",
"format": "uri"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"comments_url": {
"type": "string",
"format": "uri"
},
"pull_request": {
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"diff_url": {
"type": "string",
"format": "uri"
},
"html_url": {
"type": "string",
"format": "uri"
},
"merged_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"patch_url": {
"type": "string",
"format": "uri"
}
}
},
"state_reason": {
"type": "string",
"nullable": true
},
"timeline_url": {
"type": "string",
"format": "uri"
},
"pinned_comment": {
"$ref": "#/components/schemas/nullable-issue-comment"
},
"repository_url": {
"type": "string",
"format": "uri"
},
"active_lock_reason": {
"enum": [
"resolved",
"off-topic",
"too heated",
"spam",
null
],
"type": "string",
"nullable": true
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
},
"issue_field_values": {
"type": "array",
"items": {
"$ref": "#/components/schemas/issue-field-value"
}
},
"sub_issues_summary": {
"$ref": "#/components/schemas/sub-issues-summary"
},
"performed_via_github_app": {
"type": "object",
"title": "App",
"nullable": true,
"required": [
"id",
"node_id",
"owner",
"name",
"description",
"external_url",
"html_url",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"nullable": true,
"description": "Unique identifier of the GitHub app"
},
"name": {
"type": "string",
"description": "The name of the GitHub app"
},
"slug": {
"type": "string",
"description": "The slug name of the GitHub app"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"events": {
"type": "array",
"items": {
"enum": [
"branch_protection_rule",
"check_run",
"check_suite",
"code_scanning_alert",
"commit_comment",
"content_reference",
"create",
"delete",
"deployment",
"deployment_review",
"deployment_status",
"deploy_key",
"discussion",
"discussion_comment",
"fork",
"gollum",
"issues",
"issue_comment",
"label",
"member",
"membership",
"milestone",
"organization",
"org_block",
"page_build",
"project",
"project_card",
"project_column",
"public",
"pull_request",
"pull_request_review",
"pull_request_review_comment",
"push",
"registry_package",
"release",
"repository",
"repository_dispatch",
"secret_scanning_alert",
"star",
"status",
"team",
"team_add",
"watch",
"workflow_dispatch",
"workflow_run",
"reminder",
"pull_request_review_thread"
],
"type": "string"
},
"description": "The list of events for the GitHub app"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"created_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"permissions": {
"type": "object",
"properties": {
"keys": {
"enum": [
"read",
"write"
],
"type": "string"
},
"pages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"checks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"emails": {
"enum": [
"read",
"write"
],
"type": "string"
},
"issues": {
"enum": [
"read",
"write"
],
"type": "string"
},
"actions": {
"enum": [
"read",
"write"
],
"type": "string"
},
"members": {
"enum": [
"read",
"write"
],
"type": "string"
},
"secrets": {
"enum": [
"read",
"write"
],
"type": "string"
},
"contents": {
"enum": [
"read",
"write"
],
"type": "string"
},
"metadata": {
"enum": [
"read",
"write"
],
"type": "string"
},
"packages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"statuses": {
"enum": [
"read",
"write"
],
"type": "string"
},
"workflows": {
"enum": [
"read",
"write"
],
"type": "string"
},
"deployments": {
"enum": [
"read",
"write"
],
"type": "string"
},
"discussions": {
"enum": [
"read",
"write"
],
"type": "string"
},
"single_file": {
"enum": [
"read",
"write"
],
"type": "string"
},
"environments": {
"enum": [
"read",
"write"
],
"type": "string"
},
"pull_requests": {
"enum": [
"read",
"write"
],
"type": "string"
},
"administration": {
"enum": [
"read",
"write"
],
"type": "string"
},
"security_events": {
"enum": [
"read",
"write"
],
"type": "string"
},
"repository_hooks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_plan": {
"enum": [
"read",
"write"
],
"type": "string"
},
"content_references": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_hooks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"repository_projects": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_secrets": {
"enum": [
"read",
"write"
],
"type": "string"
},
"vulnerability_alerts": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_packages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_projects": {
"enum": [
"read",
"write",
"admin"
],
"type": "string"
},
"secret_scanning_alerts": {
"enum": [
"read",
"write"
],
"type": "string"
},
"security_scanning_alert": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_user_blocking": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_administration": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_self_hosted_runners": {
"enum": [
"read",
"write"
],
"type": "string"
}
},
"description": "The set of permissions for the GitHub app"
},
"external_url": {
"type": "string",
"format": "uri",
"nullable": true
}
},
"description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub."
},
"issue_dependencies_summary": {
"$ref": "#/components/schemas/issue-dependencies-summary"
}
},
"description": "The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself."
}
webhooks_issue_2
{
"type": "object",
"title": "Issue",
"required": [
"url",
"repository_url",
"labels_url",
"comments_url",
"events_url",
"html_url",
"id",
"node_id",
"number",
"title",
"user",
"assignees",
"milestone",
"comments",
"created_at",
"updated_at",
"closed_at",
"author_association",
"active_lock_reason",
"body",
"reactions"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the issue"
},
"body": {
"type": "string",
"nullable": true,
"description": "Contents of the issue"
},
"type": {
"$ref": "#/components/schemas/issue-type"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"draft": {
"type": "boolean"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "State of the issue; either 'open' or 'closed'"
},
"title": {
"type": "string",
"description": "Title of the issue"
},
"labels": {
"type": "array",
"items": {
"type": "object",
"title": "Label",
"required": [
"id",
"node_id",
"url",
"name",
"color",
"default",
"description"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the label"
},
"name": {
"type": "string",
"description": "The name of the label."
},
"color": {
"type": "string",
"description": "6-character hex code, without the leading #, identifying the color"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
},
"locked": {
"type": "boolean"
},
"number": {
"type": "integer"
},
"node_id": {
"type": "string"
},
"assignee": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"comments": {
"type": "integer"
},
"html_url": {
"type": "string",
"format": "uri"
},
"assignees": {
"type": "array",
"items": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
}
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"milestone": {
"type": "object",
"title": "Milestone",
"nullable": true,
"required": [
"url",
"html_url",
"labels_url",
"id",
"node_id",
"number",
"title",
"description",
"creator",
"open_issues",
"closed_issues",
"state",
"created_at",
"updated_at",
"due_on",
"closed_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "The state of the milestone."
},
"title": {
"type": "string",
"description": "The title of the milestone."
},
"due_on": {
"type": "string",
"format": "date-time",
"nullable": true
},
"number": {
"type": "integer",
"description": "The number of the milestone."
},
"creator": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"labels_url": {
"type": "string",
"format": "uri"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string",
"nullable": true
},
"open_issues": {
"type": "integer"
},
"closed_issues": {
"type": "integer"
}
},
"description": "A collection of related issues and pull requests."
},
"reactions": {
"type": "object",
"title": "Reactions",
"required": [
"url",
"total_count",
"+1",
"-1",
"laugh",
"confused",
"heart",
"hooray",
"eyes",
"rocket"
],
"properties": {
"+1": {
"type": "integer"
},
"-1": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"eyes": {
"type": "integer"
},
"heart": {
"type": "integer"
},
"laugh": {
"type": "integer"
},
"hooray": {
"type": "integer"
},
"rocket": {
"type": "integer"
},
"confused": {
"type": "integer"
},
"total_count": {
"type": "integer"
}
}
},
"created_at": {
"type": "string",
"format": "date-time"
},
"events_url": {
"type": "string",
"format": "uri"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"comments_url": {
"type": "string",
"format": "uri"
},
"pull_request": {
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"diff_url": {
"type": "string",
"format": "uri"
},
"html_url": {
"type": "string",
"format": "uri"
},
"merged_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"patch_url": {
"type": "string",
"format": "uri"
}
}
},
"state_reason": {
"type": "string",
"nullable": true
},
"timeline_url": {
"type": "string",
"format": "uri"
},
"pinned_comment": {
"$ref": "#/components/schemas/nullable-issue-comment"
},
"repository_url": {
"type": "string",
"format": "uri"
},
"active_lock_reason": {
"enum": [
"resolved",
"off-topic",
"too heated",
"spam",
null
],
"type": "string",
"nullable": true
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
},
"issue_field_values": {
"type": "array",
"items": {
"$ref": "#/components/schemas/issue-field-value"
}
},
"sub_issues_summary": {
"$ref": "#/components/schemas/sub-issues-summary"
},
"performed_via_github_app": {
"type": "object",
"title": "App",
"nullable": true,
"required": [
"id",
"node_id",
"owner",
"name",
"description",
"external_url",
"html_url",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"nullable": true,
"description": "Unique identifier of the GitHub app"
},
"name": {
"type": "string",
"description": "The name of the GitHub app"
},
"slug": {
"type": "string",
"description": "The slug name of the GitHub app"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"events": {
"type": "array",
"items": {
"enum": [
"branch_protection_rule",
"check_run",
"check_suite",
"code_scanning_alert",
"commit_comment",
"content_reference",
"create",
"delete",
"deployment",
"deployment_review",
"deployment_status",
"deploy_key",
"discussion",
"discussion_comment",
"fork",
"gollum",
"issues",
"issue_comment",
"label",
"member",
"membership",
"milestone",
"organization",
"org_block",
"page_build",
"project",
"project_card",
"project_column",
"public",
"pull_request",
"pull_request_review",
"pull_request_review_comment",
"push",
"registry_package",
"release",
"repository",
"repository_dispatch",
"secret_scanning_alert",
"star",
"status",
"team",
"team_add",
"watch",
"workflow_dispatch",
"workflow_run"
],
"type": "string"
},
"description": "The list of events for the GitHub app"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"created_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"permissions": {
"type": "object",
"properties": {
"keys": {
"enum": [
"read",
"write"
],
"type": "string"
},
"pages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"checks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"emails": {
"enum": [
"read",
"write"
],
"type": "string"
},
"issues": {
"enum": [
"read",
"write"
],
"type": "string"
},
"actions": {
"enum": [
"read",
"write"
],
"type": "string"
},
"members": {
"enum": [
"read",
"write"
],
"type": "string"
},
"secrets": {
"enum": [
"read",
"write"
],
"type": "string"
},
"contents": {
"enum": [
"read",
"write"
],
"type": "string"
},
"metadata": {
"enum": [
"read",
"write"
],
"type": "string"
},
"packages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"statuses": {
"enum": [
"read",
"write"
],
"type": "string"
},
"workflows": {
"enum": [
"read",
"write"
],
"type": "string"
},
"deployments": {
"enum": [
"read",
"write"
],
"type": "string"
},
"discussions": {
"enum": [
"read",
"write"
],
"type": "string"
},
"single_file": {
"enum": [
"read",
"write"
],
"type": "string"
},
"environments": {
"enum": [
"read",
"write"
],
"type": "string"
},
"pull_requests": {
"enum": [
"read",
"write"
],
"type": "string"
},
"administration": {
"enum": [
"read",
"write"
],
"type": "string"
},
"security_events": {
"enum": [
"read",
"write"
],
"type": "string"
},
"repository_hooks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_plan": {
"enum": [
"read",
"write"
],
"type": "string"
},
"content_references": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_hooks": {
"enum": [
"read",
"write"
],
"type": "string"
},
"repository_projects": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_secrets": {
"enum": [
"read",
"write"
],
"type": "string"
},
"vulnerability_alerts": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_packages": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_projects": {
"enum": [
"read",
"write"
],
"type": "string"
},
"secret_scanning_alerts": {
"enum": [
"read",
"write"
],
"type": "string"
},
"security_scanning_alert": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_user_blocking": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_administration": {
"enum": [
"read",
"write"
],
"type": "string"
},
"organization_self_hosted_runners": {
"enum": [
"read",
"write"
],
"type": "string"
}
},
"description": "The set of permissions for the GitHub app"
},
"external_url": {
"type": "string",
"format": "uri",
"nullable": true
}
},
"description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub."
},
"issue_dependencies_summary": {
"$ref": "#/components/schemas/issue-dependencies-summary"
}
},
"description": "The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself."
}
webhooks_issue_comment
{
"type": "object",
"title": "issue comment",
"required": [
"url",
"html_url",
"issue_url",
"id",
"node_id",
"user",
"created_at",
"updated_at",
"author_association",
"performed_via_github_app",
"body",
"reactions"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the issue comment"
},
"pin": {
"$ref": "#/components/schemas/nullable-pinned-issue-comment"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the issue comment"
},
"body": {
"type": "string",
"description": "Contents of the issue comment"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"issue_url": {
"type": "string",
"format": "uri"
},
"reactions": {
"type": "object",
"title": "Reactions",
"required": [
"url",
"total_count",
"+1",
"-1",
"laugh",
"confused",
"heart",
"hooray",
"eyes",
"rocket"
],
"properties": {
"+1": {
"type": "integer"
},
"-1": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"eyes": {
"type": "integer"
},
"heart": {
"type": "integer"
},
"laugh": {
"type": "integer"
},
"hooray": {
"type": "integer"
},
"rocket": {
"type": "integer"
},
"confused": {
"type": "integer"
},
"total_count": {
"type": "integer"
}
}
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
},
"performed_via_github_app": {
"$ref": "#/components/schemas/integration"
}
},
"description": "The [comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment) itself."
}
webhooks_label
{
"type": "object",
"title": "Label",
"required": [
"id",
"node_id",
"url",
"name",
"color",
"default",
"description"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the label"
},
"name": {
"type": "string",
"description": "The name of the label."
},
"color": {
"type": "string",
"description": "6-character hex code, without the leading #, identifying the color"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
webhooks_marketplace_purchase
{
"type": "object",
"title": "Marketplace Purchase",
"required": [
"account",
"billing_cycle",
"free_trial_ends_on",
"next_billing_date",
"on_free_trial",
"plan",
"unit_count"
],
"properties": {
"plan": {
"type": "object",
"required": [
"id",
"name",
"description",
"monthly_price_in_cents",
"yearly_price_in_cents",
"price_model",
"has_free_trial",
"unit_name",
"bullets"
],
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"bullets": {
"type": "array",
"items": {
"type": "string",
"nullable": true
}
},
"unit_name": {
"type": "string",
"nullable": true
},
"description": {
"type": "string"
},
"price_model": {
"enum": [
"FREE",
"FLAT_RATE",
"PER_UNIT"
],
"type": "string"
},
"has_free_trial": {
"type": "boolean"
},
"yearly_price_in_cents": {
"type": "integer"
},
"monthly_price_in_cents": {
"type": "integer"
}
}
},
"account": {
"type": "object",
"required": [
"type",
"id",
"node_id",
"login",
"organization_billing_email"
],
"properties": {
"id": {
"type": "integer"
},
"type": {
"type": "string"
},
"login": {
"type": "string"
},
"node_id": {
"type": "string"
},
"organization_billing_email": {
"type": "string",
"nullable": true
}
}
},
"unit_count": {
"type": "integer"
},
"billing_cycle": {
"type": "string"
},
"on_free_trial": {
"type": "boolean"
},
"next_billing_date": {
"type": "string",
"nullable": true
},
"free_trial_ends_on": {
"type": "string",
"nullable": true
}
}
}
webhooks_membership
{
"type": "object",
"title": "Membership",
"required": [
"url",
"state",
"role",
"organization_url",
"user"
],
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"role": {
"type": "string"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"state": {
"type": "string"
},
"organization_url": {
"type": "string",
"format": "uri"
},
"direct_membership": {
"type": "boolean",
"example": true,
"description": "Whether the user has direct membership in the organization."
},
"enterprise_teams_providing_indirect_membership": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"ent:team-one",
"ent:team-two"
],
"maxItems": 100,
"description": "The slugs of the enterprise teams providing the user with indirect membership in the organization.\nA limit of 100 enterprise team slugs is returned."
}
},
"description": "The membership between the user and the organization. Not present when the action is `member_invited`."
}
webhooks_milestone
{
"type": "object",
"title": "Milestone",
"required": [
"url",
"html_url",
"labels_url",
"id",
"node_id",
"number",
"title",
"description",
"creator",
"open_issues",
"closed_issues",
"state",
"created_at",
"updated_at",
"due_on",
"closed_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "The state of the milestone."
},
"title": {
"type": "string",
"description": "The title of the milestone."
},
"due_on": {
"type": "string",
"format": "date-time",
"nullable": true
},
"number": {
"type": "integer",
"description": "The number of the milestone."
},
"creator": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"labels_url": {
"type": "string",
"format": "uri"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string",
"nullable": true
},
"open_issues": {
"type": "integer"
},
"closed_issues": {
"type": "integer"
}
},
"description": "A collection of related issues and pull requests."
}
webhooks_milestone_3
{
"type": "object",
"title": "Milestone",
"required": [
"url",
"html_url",
"labels_url",
"id",
"node_id",
"number",
"title",
"description",
"creator",
"open_issues",
"closed_issues",
"state",
"created_at",
"updated_at",
"due_on",
"closed_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "The state of the milestone."
},
"title": {
"type": "string",
"description": "The title of the milestone."
},
"due_on": {
"type": "string",
"format": "date-time",
"nullable": true
},
"number": {
"type": "integer",
"description": "The number of the milestone."
},
"creator": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"labels_url": {
"type": "string",
"format": "uri"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string",
"nullable": true
},
"open_issues": {
"type": "integer"
},
"closed_issues": {
"type": "integer"
}
},
"description": "A collection of related issues and pull requests."
}
webhooks_nullable_string
{
"type": "string",
"nullable": true
}
webhooks_number
{
"type": "integer",
"description": "The pull request number."
}
webhooks_previous_marketplace_purchase
{
"type": "object",
"title": "Marketplace Purchase",
"required": [
"account",
"billing_cycle",
"unit_count",
"on_free_trial",
"free_trial_ends_on",
"plan"
],
"properties": {
"plan": {
"type": "object",
"required": [
"id",
"name",
"description",
"monthly_price_in_cents",
"yearly_price_in_cents",
"price_model",
"has_free_trial",
"unit_name",
"bullets"
],
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"bullets": {
"type": "array",
"items": {
"type": "string"
}
},
"unit_name": {
"type": "string",
"nullable": true
},
"description": {
"type": "string"
},
"price_model": {
"enum": [
"FREE",
"FLAT_RATE",
"PER_UNIT"
],
"type": "string"
},
"has_free_trial": {
"type": "boolean"
},
"yearly_price_in_cents": {
"type": "integer"
},
"monthly_price_in_cents": {
"type": "integer"
}
}
},
"account": {
"type": "object",
"required": [
"type",
"id",
"node_id",
"login",
"organization_billing_email"
],
"properties": {
"id": {
"type": "integer"
},
"type": {
"type": "string"
},
"login": {
"type": "string"
},
"node_id": {
"type": "string"
},
"organization_billing_email": {
"type": "string",
"nullable": true
}
}
},
"unit_count": {
"type": "integer"
},
"billing_cycle": {
"type": "string"
},
"on_free_trial": {
"type": "boolean"
},
"next_billing_date": {
"type": "string",
"nullable": true
},
"free_trial_ends_on": {
"nullable": true
}
}
}
webhooks_project
{
"type": "object",
"title": "Project",
"required": [
"owner_url",
"url",
"html_url",
"columns_url",
"id",
"node_id",
"name",
"body",
"number",
"state",
"creator",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"body": {
"type": "string",
"nullable": true,
"description": "Body of the project"
},
"name": {
"type": "string",
"description": "Name of the project"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "State of the project; either 'open' or 'closed'"
},
"number": {
"type": "integer"
},
"creator": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"owner_url": {
"type": "string",
"format": "uri"
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"columns_url": {
"type": "string",
"format": "uri"
}
}
}
webhooks_project_card
{
"type": "object",
"title": "Project Card",
"required": [
"url",
"project_url",
"column_url",
"column_id",
"id",
"node_id",
"note",
"archived",
"creator",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"description": "The project card's ID"
},
"url": {
"type": "string",
"format": "uri"
},
"note": {
"type": "string",
"nullable": true
},
"creator": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"after_id": {
"type": "integer",
"nullable": true
},
"archived": {
"type": "boolean",
"description": "Whether or not the card is archived"
},
"column_id": {
"type": "integer"
},
"column_url": {
"type": "string",
"format": "uri"
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"content_url": {
"type": "string",
"format": "uri"
},
"project_url": {
"type": "string",
"format": "uri"
}
}
}
webhooks_project_changes
{
"type": "object",
"properties": {
"archived_at": {
"type": "object",
"properties": {
"to": {
"type": "string",
"format": "date-time",
"nullable": true
},
"from": {
"type": "string",
"format": "date-time",
"nullable": true
}
}
}
}
}
webhooks_project_column
{
"type": "object",
"title": "Project Column",
"required": [
"url",
"project_url",
"cards_url",
"id",
"node_id",
"name",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"description": "The unique identifier of the project column"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string",
"description": "Name of the project column"
},
"node_id": {
"type": "string"
},
"after_id": {
"type": "integer",
"nullable": true
},
"cards_url": {
"type": "string",
"format": "uri"
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"project_url": {
"type": "string",
"format": "uri"
}
}
}
webhooks_pull_request_5
{
"type": "object",
"title": "Pull Request",
"required": [
"url",
"id",
"node_id",
"html_url",
"diff_url",
"patch_url",
"issue_url",
"number",
"state",
"locked",
"title",
"user",
"body",
"created_at",
"updated_at",
"closed_at",
"merged_at",
"merge_commit_sha",
"assignee",
"assignees",
"requested_reviewers",
"requested_teams",
"labels",
"milestone",
"commits_url",
"review_comments_url",
"review_comment_url",
"comments_url",
"statuses_url",
"head",
"base",
"_links",
"author_association",
"auto_merge",
"active_lock_reason",
"draft"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"base": {
"type": "object",
"required": [
"label",
"ref",
"sha",
"user",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repository",
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"has_discussions",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"has_discussions": {
"type": "boolean",
"default": false,
"description": "Whether discussions are enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
},
"allow_update_branch": {
"type": "boolean"
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
},
"web_commit_signoff_required": {
"type": "boolean",
"description": "Whether to require contributors to sign off on web-based commits"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
},
"use_squash_pr_title_as_default": {
"type": "boolean",
"default": false,
"description": "Whether a squash merge commit can use the pull request title as default."
}
},
"description": "A git repository"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"label": {
"type": "string"
}
}
},
"body": {
"type": "string",
"nullable": true
},
"head": {
"type": "object",
"required": [
"label",
"ref",
"sha",
"user",
"repo"
],
"properties": {
"ref": {
"type": "string"
},
"sha": {
"type": "string"
},
"repo": {
"type": "object",
"title": "Repository",
"required": [
"id",
"node_id",
"name",
"full_name",
"private",
"owner",
"html_url",
"description",
"fork",
"url",
"forks_url",
"keys_url",
"collaborators_url",
"teams_url",
"hooks_url",
"issue_events_url",
"events_url",
"assignees_url",
"branches_url",
"tags_url",
"blobs_url",
"git_tags_url",
"git_refs_url",
"trees_url",
"statuses_url",
"languages_url",
"stargazers_url",
"contributors_url",
"subscribers_url",
"subscription_url",
"commits_url",
"git_commits_url",
"comments_url",
"issue_comment_url",
"contents_url",
"compare_url",
"merges_url",
"archive_url",
"downloads_url",
"issues_url",
"pulls_url",
"milestones_url",
"notifications_url",
"labels_url",
"releases_url",
"deployments_url",
"created_at",
"updated_at",
"pushed_at",
"git_url",
"ssh_url",
"clone_url",
"svn_url",
"homepage",
"size",
"stargazers_count",
"watchers_count",
"language",
"has_issues",
"has_projects",
"has_downloads",
"has_wiki",
"has_pages",
"has_discussions",
"forks_count",
"mirror_url",
"archived",
"open_issues_count",
"license",
"forks",
"open_issues",
"watchers",
"default_branch",
"topics",
"visibility"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Unique identifier of the repository"
},
"url": {
"type": "string",
"format": "uri"
},
"fork": {
"type": "boolean"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"size": {
"type": "integer"
},
"forks": {
"type": "integer"
},
"owner": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"public": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
},
"git_url": {
"type": "string",
"format": "uri"
},
"license": {
"type": "object",
"title": "License",
"nullable": true,
"required": [
"key",
"name",
"spdx_id",
"url",
"node_id"
],
"properties": {
"key": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri",
"nullable": true
},
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"spdx_id": {
"type": "string"
}
}
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"ssh_url": {
"type": "string"
},
"svn_url": {
"type": "string",
"format": "uri"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Whether the repository is archived."
},
"disabled": {
"type": "boolean",
"description": "Returns whether or not this repository is disabled."
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Whether the wiki is enabled."
},
"homepage": {
"type": "string",
"nullable": true
},
"html_url": {
"type": "string",
"format": "uri"
},
"keys_url": {
"type": "string",
"format": "uri-template"
},
"language": {
"type": "string",
"nullable": true
},
"tags_url": {
"type": "string",
"format": "uri"
},
"watchers": {
"type": "integer"
},
"blobs_url": {
"type": "string",
"format": "uri-template"
},
"clone_url": {
"type": "string",
"format": "uri"
},
"forks_url": {
"type": "string",
"format": "uri"
},
"full_name": {
"type": "string"
},
"has_pages": {
"type": "boolean"
},
"hooks_url": {
"type": "string",
"format": "uri"
},
"pulls_url": {
"type": "string",
"format": "uri-template"
},
"pushed_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
],
"nullable": true
},
"role_name": {
"type": "string",
"nullable": true
},
"teams_url": {
"type": "string",
"format": "uri"
},
"trees_url": {
"type": "string",
"format": "uri-template"
},
"created_at": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date-time"
}
]
},
"events_url": {
"type": "string",
"format": "uri"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Whether issues are enabled."
},
"issues_url": {
"type": "string",
"format": "uri-template"
},
"labels_url": {
"type": "string",
"format": "uri-template"
},
"merges_url": {
"type": "string",
"format": "uri"
},
"mirror_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"stargazers": {
"type": "integer"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"visibility": {
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
"archive_url": {
"type": "string",
"format": "uri-template"
},
"commits_url": {
"type": "string",
"format": "uri-template"
},
"compare_url": {
"type": "string",
"format": "uri-template"
},
"description": {
"type": "string",
"nullable": true
},
"forks_count": {
"type": "integer"
},
"is_template": {
"type": "boolean"
},
"open_issues": {
"type": "integer"
},
"permissions": {
"type": "object",
"required": [
"pull",
"push",
"admin"
],
"properties": {
"pull": {
"type": "boolean"
},
"push": {
"type": "boolean"
},
"admin": {
"type": "boolean"
},
"triage": {
"type": "boolean"
},
"maintain": {
"type": "boolean"
}
}
},
"branches_url": {
"type": "string",
"format": "uri-template"
},
"comments_url": {
"type": "string",
"format": "uri-template"
},
"contents_url": {
"type": "string",
"format": "uri-template"
},
"git_refs_url": {
"type": "string",
"format": "uri-template"
},
"git_tags_url": {
"type": "string",
"format": "uri-template"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Whether projects are enabled."
},
"organization": {
"type": "string"
},
"releases_url": {
"type": "string",
"format": "uri-template"
},
"statuses_url": {
"type": "string",
"format": "uri-template"
},
"allow_forking": {
"type": "boolean",
"description": "Whether to allow private forks"
},
"assignees_url": {
"type": "string",
"format": "uri-template"
},
"downloads_url": {
"type": "string",
"format": "uri"
},
"has_downloads": {
"type": "boolean",
"default": true,
"description": "Whether downloads are enabled."
},
"languages_url": {
"type": "string",
"format": "uri"
},
"master_branch": {
"type": "string"
},
"default_branch": {
"type": "string",
"description": "The default branch of the repository."
},
"milestones_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_url": {
"type": "string",
"format": "uri"
},
"watchers_count": {
"type": "integer"
},
"deployments_url": {
"type": "string",
"format": "uri"
},
"git_commits_url": {
"type": "string",
"format": "uri-template"
},
"has_discussions": {
"type": "boolean",
"default": false,
"description": "Whether discussions are enabled."
},
"subscribers_url": {
"type": "string",
"format": "uri"
},
"allow_auto_merge": {
"type": "boolean",
"default": false,
"description": "Whether to allow auto-merge for pull requests."
},
"contributors_url": {
"type": "string",
"format": "uri"
},
"issue_events_url": {
"type": "string",
"format": "uri-template"
},
"stargazers_count": {
"type": "integer"
},
"subscription_url": {
"type": "string",
"format": "uri"
},
"collaborators_url": {
"type": "string",
"format": "uri-template"
},
"has_pull_requests": {
"type": "boolean",
"default": true,
"description": "Whether pull requests are enabled."
},
"issue_comment_url": {
"type": "string",
"format": "uri-template"
},
"notifications_url": {
"type": "string",
"format": "uri-template"
},
"open_issues_count": {
"type": "integer"
},
"allow_merge_commit": {
"type": "boolean",
"default": true,
"description": "Whether to allow merge commits for pull requests."
},
"allow_rebase_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow rebase merges for pull requests."
},
"allow_squash_merge": {
"type": "boolean",
"default": true,
"description": "Whether to allow squash merges for pull requests."
},
"merge_commit_title": {
"enum": [
"PR_TITLE",
"MERGE_MESSAGE"
],
"type": "string",
"description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
},
"allow_update_branch": {
"type": "boolean"
},
"merge_commit_message": {
"enum": [
"PR_BODY",
"PR_TITLE",
"BLANK"
],
"type": "string",
"description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
},
"delete_branch_on_merge": {
"type": "boolean",
"default": false,
"description": "Whether to delete head branches when pull requests are merged"
},
"squash_merge_commit_title": {
"enum": [
"PR_TITLE",
"COMMIT_OR_PR_TITLE"
],
"type": "string",
"description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
},
"squash_merge_commit_message": {
"enum": [
"PR_BODY",
"COMMIT_MESSAGES",
"BLANK"
],
"type": "string",
"description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
},
"web_commit_signoff_required": {
"type": "boolean",
"description": "Whether to require contributors to sign off on web-based commits"
},
"pull_request_creation_policy": {
"enum": [
"all",
"collaborators_only"
],
"type": "string",
"description": "The policy controlling who can create pull requests: all or collaborators_only."
},
"use_squash_pr_title_as_default": {
"type": "boolean",
"default": false,
"description": "Whether a squash merge commit can use the pull request title as default."
}
},
"description": "A git repository"
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"label": {
"type": "string"
}
}
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"draft": {
"type": "boolean",
"description": "Indicates whether or not the pull request is a draft."
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "State of this Pull Request. Either `open` or `closed`."
},
"title": {
"type": "string",
"description": "The title of the pull request."
},
"_links": {
"type": "object",
"required": [
"self",
"html",
"issue",
"comments",
"review_comments",
"review_comment",
"commits",
"statuses"
],
"properties": {
"html": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"self": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"issue": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"commits": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"comments": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"statuses": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"review_comment": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"review_comments": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
}
}
},
"labels": {
"type": "array",
"items": {
"type": "object",
"title": "Label",
"required": [
"id",
"node_id",
"url",
"name",
"color",
"default",
"description"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the label"
},
"name": {
"type": "string",
"description": "The name of the label."
},
"color": {
"type": "string",
"description": "6-character hex code, without the leading #, identifying the color"
},
"default": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
}
}
}
},
"locked": {
"type": "boolean"
},
"merged": {
"type": "boolean",
"nullable": true
},
"number": {
"type": "integer",
"description": "Number uniquely identifying the pull request within its repository."
},
"commits": {
"type": "integer"
},
"node_id": {
"type": "string"
},
"assignee": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"comments": {
"type": "integer"
},
"diff_url": {
"type": "string",
"format": "uri"
},
"html_url": {
"type": "string",
"format": "uri"
},
"additions": {
"type": "integer"
},
"assignees": {
"type": "array",
"items": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
}
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"deletions": {
"type": "integer"
},
"issue_url": {
"type": "string",
"format": "uri"
},
"mergeable": {
"type": "boolean",
"nullable": true
},
"merged_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"merged_by": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"milestone": {
"type": "object",
"title": "Milestone",
"nullable": true,
"required": [
"url",
"html_url",
"labels_url",
"id",
"node_id",
"number",
"title",
"description",
"creator",
"open_issues",
"closed_issues",
"state",
"created_at",
"updated_at",
"due_on",
"closed_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "The state of the milestone."
},
"title": {
"type": "string",
"description": "The title of the milestone."
},
"due_on": {
"type": "string",
"format": "date-time",
"nullable": true
},
"number": {
"type": "integer",
"description": "The number of the milestone."
},
"creator": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"closed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"labels_url": {
"type": "string",
"format": "uri"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"description": {
"type": "string",
"nullable": true
},
"open_issues": {
"type": "integer"
},
"closed_issues": {
"type": "integer"
}
},
"description": "A collection of related issues and pull requests."
},
"patch_url": {
"type": "string",
"format": "uri"
},
"auto_merge": {
"type": "object",
"title": "PullRequestAutoMerge",
"nullable": true,
"required": [
"enabled_by",
"merge_method",
"commit_title",
"commit_message"
],
"properties": {
"enabled_by": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"commit_title": {
"type": "string",
"nullable": true,
"description": "Title for the merge commit message."
},
"merge_method": {
"enum": [
"merge",
"squash",
"rebase"
],
"type": "string",
"description": "The merge method to use."
},
"commit_message": {
"type": "string",
"nullable": true,
"description": "Commit message for the merge commit."
}
},
"description": "The status of auto merging a pull request."
},
"created_at": {
"type": "string",
"format": "date-time"
},
"rebaseable": {
"type": "boolean",
"nullable": true
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"commits_url": {
"type": "string",
"format": "uri"
},
"comments_url": {
"type": "string",
"format": "uri"
},
"statuses_url": {
"type": "string",
"format": "uri"
},
"changed_files": {
"type": "integer"
},
"mergeable_state": {
"type": "string"
},
"requested_teams": {
"type": "array",
"items": {
"type": "object",
"title": "Team",
"required": [
"name",
"id"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"parent": {
"type": "object",
"nullable": true,
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
}
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
},
"review_comments": {
"type": "integer"
},
"merge_commit_sha": {
"type": "string",
"nullable": true
},
"active_lock_reason": {
"enum": [
"resolved",
"off-topic",
"too heated",
"spam",
null
],
"type": "string",
"nullable": true
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
},
"review_comment_url": {
"type": "string",
"format": "uri-template"
},
"requested_reviewers": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"title": "Team",
"required": [
"name",
"id"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"parent": {
"type": "object",
"nullable": true,
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"url",
"html_url",
"members_url",
"repositories_url",
"permission"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
}
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"repositories_url": {
"type": "string",
"format": "uri"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
]
}
},
"review_comments_url": {
"type": "string",
"format": "uri"
},
"maintainer_can_modify": {
"type": "boolean",
"description": "Indicates whether maintainers can modify the pull request."
}
},
"x-github-breaking-changes": [
{
"patch": {
"required": [
"url",
"id",
"node_id",
"html_url",
"diff_url",
"patch_url",
"issue_url",
"number",
"state",
"locked",
"title",
"user",
"body",
"created_at",
"updated_at",
"closed_at",
"merged_at",
"assignee",
"assignees",
"requested_reviewers",
"requested_teams",
"labels",
"milestone",
"commits_url",
"review_comments_url",
"review_comment_url",
"comments_url",
"statuses_url",
"head",
"base",
"_links",
"author_association",
"auto_merge",
"active_lock_reason",
"draft"
],
"properties": {
"merge_commit_sha": null
}
},
"version": "2026-03-10",
"changeset": "remove_pull_request_merge_commit_sha"
}
]
}
webhooks_ref_0
{
"type": "string",
"description": "The [`git ref`](https://docs.github.com/rest/git/refs#get-a-reference) resource."
}
webhooks_release
{
"type": "object",
"title": "Release",
"required": [
"url",
"assets_url",
"upload_url",
"html_url",
"id",
"node_id",
"tag_name",
"target_commitish",
"name",
"draft",
"author",
"prerelease",
"immutable",
"created_at",
"published_at",
"assets",
"tarball_url",
"updated_at",
"zipball_url",
"body"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"body": {
"type": "string",
"nullable": true
},
"name": {
"type": "string",
"nullable": true
},
"draft": {
"type": "boolean",
"description": "Whether the release is a draft or published"
},
"assets": {
"type": "array",
"items": {
"type": "object",
"title": "Release Asset",
"required": [
"url",
"browser_download_url",
"id",
"node_id",
"name",
"label",
"state",
"digest",
"content_type",
"size",
"download_count",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string",
"description": "The file name of the asset."
},
"size": {
"type": "integer"
},
"label": {
"type": "string",
"nullable": true
},
"state": {
"enum": [
"uploaded"
],
"type": "string",
"description": "State of the release asset."
},
"digest": {
"type": "string",
"nullable": true
},
"node_id": {
"type": "string"
},
"uploader": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"content_type": {
"type": "string"
},
"download_count": {
"type": "integer"
},
"browser_download_url": {
"type": "string",
"format": "uri"
}
},
"description": "Data related to a release."
}
},
"author": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"tag_name": {
"type": "string",
"description": "The name of the tag."
},
"immutable": {
"type": "boolean",
"description": "Whether or not the release is immutable."
},
"reactions": {
"type": "object",
"title": "Reactions",
"required": [
"url",
"total_count",
"+1",
"-1",
"laugh",
"confused",
"heart",
"hooray",
"eyes",
"rocket"
],
"properties": {
"+1": {
"type": "integer"
},
"-1": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"eyes": {
"type": "integer"
},
"heart": {
"type": "integer"
},
"laugh": {
"type": "integer"
},
"hooray": {
"type": "integer"
},
"rocket": {
"type": "integer"
},
"confused": {
"type": "integer"
},
"total_count": {
"type": "integer"
}
}
},
"assets_url": {
"type": "string",
"format": "uri"
},
"created_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"prerelease": {
"type": "boolean",
"description": "Whether the release is identified as a prerelease or a full release."
},
"updated_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"upload_url": {
"type": "string",
"format": "uri-template"
},
"tarball_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"zipball_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"published_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"discussion_url": {
"type": "string",
"format": "uri"
},
"target_commitish": {
"type": "string",
"description": "Specifies the commitish value that determines where the Git tag is created from."
}
},
"description": "The [release](https://docs.github.com/rest/releases/releases/#get-a-release) object."
}
webhooks_release_1
{
"type": "object",
"title": "Release",
"required": [
"assets",
"assets_url",
"author",
"body",
"created_at",
"draft",
"html_url",
"id",
"name",
"node_id",
"prerelease",
"immutable",
"published_at",
"tag_name",
"tarball_url",
"target_commitish",
"updated_at",
"upload_url",
"url",
"zipball_url"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"body": {
"type": "string",
"nullable": true
},
"name": {
"type": "string",
"nullable": true
},
"draft": {
"type": "boolean",
"description": "Whether the release is a draft or published"
},
"assets": {
"type": "array",
"items": {
"type": "object",
"title": "Release Asset",
"nullable": true,
"required": [
"url",
"browser_download_url",
"id",
"node_id",
"name",
"label",
"state",
"content_type",
"size",
"digest",
"download_count",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string",
"description": "The file name of the asset."
},
"size": {
"type": "integer"
},
"label": {
"type": "string",
"nullable": true
},
"state": {
"enum": [
"uploaded"
],
"type": "string",
"description": "State of the release asset."
},
"digest": {
"type": "string",
"nullable": true
},
"node_id": {
"type": "string"
},
"uploader": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"content_type": {
"type": "string"
},
"download_count": {
"type": "integer"
},
"browser_download_url": {
"type": "string",
"format": "uri"
}
},
"description": "Data related to a release."
}
},
"author": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"tag_name": {
"type": "string",
"description": "The name of the tag."
},
"immutable": {
"type": "boolean",
"description": "Whether or not the release is immutable."
},
"reactions": {
"type": "object",
"title": "Reactions",
"required": [
"url",
"total_count",
"+1",
"-1",
"laugh",
"confused",
"heart",
"hooray",
"eyes",
"rocket"
],
"properties": {
"+1": {
"type": "integer"
},
"-1": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"eyes": {
"type": "integer"
},
"heart": {
"type": "integer"
},
"laugh": {
"type": "integer"
},
"hooray": {
"type": "integer"
},
"rocket": {
"type": "integer"
},
"confused": {
"type": "integer"
},
"total_count": {
"type": "integer"
}
}
},
"assets_url": {
"type": "string",
"format": "uri"
},
"created_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"prerelease": {
"type": "boolean",
"description": "Whether the release is identified as a prerelease or a full release."
},
"updated_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"upload_url": {
"type": "string",
"format": "uri-template"
},
"tarball_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"zipball_url": {
"type": "string",
"format": "uri",
"nullable": true
},
"published_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"discussion_url": {
"type": "string",
"format": "uri"
},
"target_commitish": {
"type": "string",
"description": "Specifies the commitish value that determines where the Git tag is created from."
}
},
"description": "The [release](https://docs.github.com/rest/releases/releases/#get-a-release) object."
}
webhooks_repositories
{
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"node_id",
"name",
"full_name",
"private"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the repository"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"full_name": {
"type": "string"
}
}
},
"description": "An array of repository objects that the installation can access."
}
webhooks_repositories_added
{
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"node_id",
"name",
"full_name",
"private"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the repository"
},
"name": {
"type": "string",
"description": "The name of the repository."
},
"node_id": {
"type": "string"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private or public."
},
"full_name": {
"type": "string"
}
}
},
"description": "An array of repository objects, which were added to the installation."
}
webhooks_repository_selection
{
"enum": [
"all",
"selected"
],
"type": "string",
"description": "Describe whether all repositories have been selected or there's a selection involved"
}
webhooks_review
{
"type": "object",
"required": [
"id",
"node_id",
"user",
"body",
"commit_id",
"submitted_at",
"state",
"html_url",
"pull_request_url",
"author_association",
"_links"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the review"
},
"body": {
"type": "string",
"nullable": true,
"description": "The text of the review."
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"state": {
"type": "string"
},
"_links": {
"type": "object",
"required": [
"html",
"pull_request"
],
"properties": {
"html": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"pull_request": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
}
}
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"commit_id": {
"type": "string",
"description": "A commit SHA for the review."
},
"updated_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"submitted_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"pull_request_url": {
"type": "string",
"format": "uri"
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
}
},
"description": "The review that was affected."
}
webhooks_review_comment
{
"type": "object",
"title": "Pull Request Review Comment",
"required": [
"url",
"pull_request_review_id",
"id",
"node_id",
"diff_hunk",
"path",
"position",
"original_position",
"commit_id",
"original_commit_id",
"user",
"body",
"created_at",
"updated_at",
"html_url",
"pull_request_url",
"author_association",
"_links",
"start_line",
"original_start_line",
"original_line",
"line",
"start_side",
"side",
"reactions"
],
"properties": {
"id": {
"type": "integer",
"description": "The ID of the pull request review comment."
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the pull request review comment"
},
"body": {
"type": "string",
"description": "The text of the comment."
},
"line": {
"type": "integer",
"nullable": true,
"description": "The line of the blob to which the comment applies. The last line of the range for a multi-line comment"
},
"path": {
"type": "string",
"description": "The relative path of the file to which the comment applies."
},
"side": {
"enum": [
"LEFT",
"RIGHT"
],
"type": "string",
"description": "The side of the first line of the range for a multi-line comment."
},
"user": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"_links": {
"type": "object",
"required": [
"self",
"html",
"pull_request"
],
"properties": {
"html": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"self": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
},
"pull_request": {
"type": "object",
"title": "Link",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"format": "uri-template"
}
}
}
}
},
"node_id": {
"type": "string",
"description": "The node ID of the pull request review comment."
},
"html_url": {
"type": "string",
"format": "uri",
"description": "HTML URL for the pull request review comment."
},
"position": {
"type": "integer",
"nullable": true,
"description": "The line index in the diff to which the comment applies."
},
"commit_id": {
"type": "string",
"description": "The SHA of the commit to which the comment applies."
},
"diff_hunk": {
"type": "string",
"description": "The diff of the line that the comment refers to."
},
"reactions": {
"type": "object",
"title": "Reactions",
"required": [
"url",
"total_count",
"+1",
"-1",
"laugh",
"confused",
"heart",
"hooray",
"eyes",
"rocket"
],
"properties": {
"+1": {
"type": "integer"
},
"-1": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"eyes": {
"type": "integer"
},
"heart": {
"type": "integer"
},
"laugh": {
"type": "integer"
},
"hooray": {
"type": "integer"
},
"rocket": {
"type": "integer"
},
"confused": {
"type": "integer"
},
"total_count": {
"type": "integer"
}
}
},
"created_at": {
"type": "string",
"format": "date-time"
},
"start_line": {
"type": "integer",
"nullable": true,
"description": "The first line of the range for a multi-line comment."
},
"start_side": {
"enum": [
"LEFT",
"RIGHT",
null
],
"type": "string",
"default": "RIGHT",
"nullable": true,
"description": "The side of the first line of the range for a multi-line comment."
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"subject_type": {
"enum": [
"line",
"file"
],
"type": "string",
"description": "The level at which the comment is targeted, can be a diff line or a file."
},
"original_line": {
"type": "integer",
"description": "The line of the blob to which the comment applies. The last line of the range for a multi-line comment"
},
"in_reply_to_id": {
"type": "integer",
"description": "The comment ID to reply to."
},
"pull_request_url": {
"type": "string",
"format": "uri",
"description": "URL for the pull request that the review comment belongs to."
},
"original_position": {
"type": "integer",
"description": "The index of the original line in the diff to which the comment applies."
},
"author_association": {
"enum": [
"COLLABORATOR",
"CONTRIBUTOR",
"FIRST_TIMER",
"FIRST_TIME_CONTRIBUTOR",
"MANNEQUIN",
"MEMBER",
"NONE",
"OWNER"
],
"type": "string",
"title": "AuthorAssociation",
"description": "How the author is associated with the repository."
},
"original_commit_id": {
"type": "string",
"description": "The SHA of the original commit to which the comment applies."
},
"original_start_line": {
"type": "integer",
"nullable": true,
"description": "The first line of the range for a multi-line comment."
},
"pull_request_review_id": {
"type": "integer",
"nullable": true,
"description": "The ID of the pull request review to which the comment belongs."
}
},
"description": "The [comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request) itself."
}
webhooks_reviewers
{
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"enum": [
"User"
],
"type": "string"
},
"reviewer": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
}
}
}
}
webhooks_rule
{
"type": "object",
"title": "branch protection rule",
"required": [
"id",
"repository_id",
"name",
"created_at",
"updated_at",
"pull_request_reviews_enforcement_level",
"required_approving_review_count",
"dismiss_stale_reviews_on_push",
"require_code_owner_review",
"authorized_dismissal_actors_only",
"ignore_approvals_from_contributors",
"required_status_checks",
"required_status_checks_enforcement_level",
"strict_required_status_checks_policy",
"signature_requirement_enforcement_level",
"linear_history_requirement_enforcement_level",
"lock_branch_enforcement_level",
"admin_enforced",
"allow_force_pushes_enforcement_level",
"allow_deletions_enforcement_level",
"merge_queue_enforcement_level",
"required_deployments_enforcement_level",
"required_conversation_resolution_level",
"authorized_actors_only",
"authorized_actor_names"
],
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"repository_id": {
"type": "integer"
},
"admin_enforced": {
"type": "boolean"
},
"create_protected": {
"type": "boolean"
},
"lock_allows_fork_sync": {
"type": "boolean",
"description": "Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow users to pull changes from upstream when the branch is locked. This setting is only applicable for forks."
},
"authorized_actor_names": {
"type": "array",
"items": {
"type": "string"
}
},
"authorized_actors_only": {
"type": "boolean"
},
"required_status_checks": {
"type": "array",
"items": {
"type": "string"
}
},
"require_code_owner_review": {
"type": "boolean"
},
"require_last_push_approval": {
"type": "boolean",
"description": "Whether the most recent push must be approved by someone other than the person who pushed it"
},
"dismiss_stale_reviews_on_push": {
"type": "boolean"
},
"lock_branch_enforcement_level": {
"enum": [
"off",
"non_admins",
"everyone"
],
"type": "string",
"description": "The enforcement level of the branch lock setting. `off` means the branch is not locked, `non_admins` means the branch is read-only for non_admins, and `everyone` means the branch is read-only for everyone."
},
"merge_queue_enforcement_level": {
"enum": [
"off",
"non_admins",
"everyone"
],
"type": "string"
},
"required_approving_review_count": {
"type": "integer"
},
"authorized_dismissal_actors_only": {
"type": "boolean"
},
"allow_deletions_enforcement_level": {
"enum": [
"off",
"non_admins",
"everyone"
],
"type": "string"
},
"ignore_approvals_from_contributors": {
"type": "boolean"
},
"allow_force_pushes_enforcement_level": {
"enum": [
"off",
"non_admins",
"everyone"
],
"type": "string"
},
"strict_required_status_checks_policy": {
"type": "boolean"
},
"pull_request_reviews_enforcement_level": {
"enum": [
"off",
"non_admins",
"everyone"
],
"type": "string"
},
"required_conversation_resolution_level": {
"enum": [
"off",
"non_admins",
"everyone"
],
"type": "string"
},
"required_deployments_enforcement_level": {
"enum": [
"off",
"non_admins",
"everyone"
],
"type": "string"
},
"signature_requirement_enforcement_level": {
"enum": [
"off",
"non_admins",
"everyone"
],
"type": "string"
},
"required_status_checks_enforcement_level": {
"enum": [
"off",
"non_admins",
"everyone"
],
"type": "string"
},
"linear_history_requirement_enforcement_level": {
"enum": [
"off",
"non_admins",
"everyone"
],
"type": "string"
}
},
"description": "The branch protection rule. Includes a `name` and all the [branch protection settings](https://docs.github.com/github/administering-a-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#about-branch-protection-settings) applied to branches that match the name. Binary settings are boolean. Multi-level configurations are one of `off`, `non_admins`, or `everyone`. Actor and build lists are arrays of strings."
}
webhooks_security_advisory
{
"type": "object",
"required": [
"cvss",
"cwes",
"ghsa_id",
"summary",
"description",
"severity",
"identifiers",
"references",
"published_at",
"updated_at",
"withdrawn_at",
"vulnerabilities"
],
"properties": {
"cvss": {
"type": "object",
"required": [
"vector_string",
"score"
],
"properties": {
"score": {
"type": "number"
},
"vector_string": {
"type": "string",
"nullable": true
}
}
},
"cwes": {
"type": "array",
"items": {
"type": "object",
"required": [
"cwe_id",
"name"
],
"properties": {
"name": {
"type": "string"
},
"cwe_id": {
"type": "string"
}
}
}
},
"ghsa_id": {
"type": "string"
},
"summary": {
"type": "string"
},
"severity": {
"type": "string"
},
"references": {
"type": "array",
"items": {
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri"
}
}
}
},
"updated_at": {
"type": "string"
},
"description": {
"type": "string"
},
"identifiers": {
"type": "array",
"items": {
"type": "object",
"required": [
"value",
"type"
],
"properties": {
"type": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
},
"published_at": {
"type": "string"
},
"withdrawn_at": {
"type": "string",
"nullable": true
},
"cvss_severities": {
"$ref": "#/components/schemas/cvss-severities"
},
"vulnerabilities": {
"type": "array",
"items": {
"type": "object",
"required": [
"package",
"severity",
"vulnerable_version_range",
"first_patched_version"
],
"properties": {
"package": {
"type": "object",
"required": [
"ecosystem",
"name"
],
"properties": {
"name": {
"type": "string"
},
"ecosystem": {
"type": "string"
}
}
},
"severity": {
"type": "string"
},
"first_patched_version": {
"type": "object",
"nullable": true,
"required": [
"identifier"
],
"properties": {
"identifier": {
"type": "string"
}
}
},
"vulnerable_version_range": {
"type": "string"
}
}
}
}
},
"description": "The details of the security advisory, including summary, description, and severity.",
"x-github-breaking-changes": [
{
"patch": {
"required": [
"cwes",
"ghsa_id",
"summary",
"description",
"severity",
"identifiers",
"references",
"published_at",
"updated_at",
"withdrawn_at",
"vulnerabilities"
],
"properties": {
"cvss": null
}
},
"version": "2026-03-10",
"changeset": "deprecate_cvss"
}
]
}
webhooks_sponsorship
{
"type": "object",
"required": [
"node_id",
"created_at",
"sponsorable",
"sponsor",
"privacy_level",
"tier"
],
"properties": {
"tier": {
"type": "object",
"title": "Sponsorship Tier",
"required": [
"node_id",
"created_at",
"description",
"monthly_price_in_cents",
"monthly_price_in_dollars",
"name",
"is_one_time"
],
"properties": {
"name": {
"type": "string"
},
"node_id": {
"type": "string"
},
"created_at": {
"type": "string"
},
"description": {
"type": "string"
},
"is_one_time": {
"type": "boolean"
},
"is_custom_amount": {
"type": "boolean"
},
"is_custom_ammount": {
"type": "boolean"
},
"monthly_price_in_cents": {
"type": "integer"
},
"monthly_price_in_dollars": {
"type": "integer"
}
},
"description": "The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload."
},
"node_id": {
"type": "string"
},
"sponsor": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"created_at": {
"type": "string"
},
"maintainer": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string"
},
"type": {
"type": "string"
},
"login": {
"type": "string"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string"
},
"gists_url": {
"type": "string"
},
"repos_url": {
"type": "string"
},
"avatar_url": {
"type": "string"
},
"events_url": {
"type": "string"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string"
},
"followers_url": {
"type": "string"
},
"following_url": {
"type": "string"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string"
},
"subscriptions_url": {
"type": "string"
},
"received_events_url": {
"type": "string"
}
}
},
"sponsorable": {
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
},
"privacy_level": {
"type": "string"
}
}
}
webhooks_team
{
"type": "object",
"title": "Team",
"required": [
"name",
"id"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"type": {
"enum": [
"enterprise",
"organization"
],
"type": "string",
"description": "The ownership type of the team"
},
"parent": {
"type": "object",
"nullable": true,
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"notification_setting",
"url",
"html_url",
"members_url",
"repositories_url",
"permission",
"type"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"type": {
"enum": [
"enterprise",
"organization"
],
"type": "string",
"description": "The ownership type of the team"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"enterprise_id": {
"type": "integer",
"example": 42,
"description": "Unique identifier of the enterprise to which this team belongs"
},
"organization_id": {
"type": "integer",
"example": 37,
"description": "Unique identifier of the organization to which this team belongs"
},
"repositories_url": {
"type": "string",
"format": "uri"
},
"notification_setting": {
"enum": [
"notifications_enabled",
"notifications_disabled"
],
"type": "string",
"description": "Whether team members will receive notifications when their team is @mentioned"
}
}
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"enterprise_id": {
"type": "integer",
"example": 42,
"description": "Unique identifier of the enterprise to which this team belongs"
},
"organization_id": {
"type": "integer",
"example": 37,
"description": "Unique identifier of the organization to which this team belongs"
},
"repositories_url": {
"type": "string",
"format": "uri"
},
"notification_setting": {
"enum": [
"notifications_enabled",
"notifications_disabled"
],
"type": "string"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
webhooks_team_1
{
"type": "object",
"title": "Team",
"required": [
"name",
"id"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"type": {
"enum": [
"enterprise",
"organization"
],
"type": "string",
"description": "The ownership type of the team"
},
"parent": {
"type": "object",
"nullable": true,
"required": [
"name",
"id",
"node_id",
"slug",
"description",
"privacy",
"notification_setting",
"url",
"html_url",
"members_url",
"repositories_url",
"permission",
"type"
],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the team"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the team"
},
"name": {
"type": "string",
"description": "Name of the team"
},
"slug": {
"type": "string"
},
"type": {
"enum": [
"enterprise",
"organization"
],
"type": "string",
"description": "The ownership type of the team"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"enterprise_id": {
"type": "integer",
"example": 42,
"description": "Unique identifier of the enterprise to which this team belongs"
},
"organization_id": {
"type": "integer",
"example": 37,
"description": "Unique identifier of the organization to which this team belongs"
},
"repositories_url": {
"type": "string",
"format": "uri"
},
"notification_setting": {
"enum": [
"notifications_enabled",
"notifications_disabled"
],
"type": "string",
"description": "Whether team members will receive notifications when their team is @mentioned"
}
}
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"privacy": {
"enum": [
"open",
"closed",
"secret"
],
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"permission": {
"type": "string",
"description": "Permission that the team will have for its repositories"
},
"description": {
"type": "string",
"nullable": true,
"description": "Description of the team"
},
"members_url": {
"type": "string",
"format": "uri-template"
},
"enterprise_id": {
"type": "integer",
"example": 42,
"description": "Unique identifier of the enterprise to which this team belongs"
},
"organization_id": {
"type": "integer",
"example": 37,
"description": "Unique identifier of the organization to which this team belongs"
},
"repositories_url": {
"type": "string",
"format": "uri"
},
"notification_setting": {
"enum": [
"notifications_enabled",
"notifications_disabled"
],
"type": "string",
"description": "Whether team members will receive notifications when their team is @mentioned"
}
},
"description": "Groups of organization members that gives permissions on specified repositories."
}
webhooks_user
{
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
}
webhooks_user_mannequin
{
"type": "object",
"title": "User",
"nullable": true,
"required": [
"login",
"id"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"Bot",
"User",
"Organization",
"Mannequin"
],
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"login": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"gists_url": {
"type": "string",
"format": "uri-template"
},
"repos_url": {
"type": "string",
"format": "uri"
},
"avatar_url": {
"type": "string",
"format": "uri"
},
"events_url": {
"type": "string",
"format": "uri-template"
},
"site_admin": {
"type": "boolean"
},
"gravatar_id": {
"type": "string"
},
"starred_url": {
"type": "string",
"format": "uri-template"
},
"followers_url": {
"type": "string",
"format": "uri"
},
"following_url": {
"type": "string",
"format": "uri-template"
},
"user_view_type": {
"type": "string"
},
"organizations_url": {
"type": "string",
"format": "uri"
},
"subscriptions_url": {
"type": "string",
"format": "uri"
},
"received_events_url": {
"type": "string",
"format": "uri"
}
}
}
webhooks_workflow
{
"type": "object",
"title": "Workflow",
"nullable": true,
"required": [
"badge_url",
"created_at",
"html_url",
"id",
"name",
"node_id",
"path",
"state",
"updated_at",
"url"
],
"properties": {
"id": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string"
},
"path": {
"type": "string"
},
"state": {
"type": "string"
},
"node_id": {
"type": "string"
},
"html_url": {
"type": "string",
"format": "uri"
},
"badge_url": {
"type": "string",
"format": "uri"
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
}
}
}
webhooks_workflow_job_run
{
"type": "object",
"required": [
"id",
"name",
"status",
"conclusion",
"html_url",
"created_at",
"updated_at",
"environment"
],
"properties": {
"id": {
"type": "integer"
},
"name": {
"nullable": true
},
"status": {
"type": "string"
},
"html_url": {
"type": "string"
},
"conclusion": {
"nullable": true
},
"created_at": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"environment": {
"type": "string"
}
}
}
workflow
{
"type": "object",
"title": "Workflow",
"required": [
"id",
"node_id",
"name",
"path",
"state",
"url",
"html_url",
"badge_url",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "integer",
"example": 5
},
"url": {
"type": "string",
"example": "https://api.github.com/repos/actions/setup-ruby/workflows/5"
},
"name": {
"type": "string",
"example": "CI"
},
"path": {
"type": "string",
"example": "ruby.yaml"
},
"state": {
"enum": [
"active",
"deleted",
"disabled_fork",
"disabled_inactivity",
"disabled_manually"
],
"type": "string",
"example": "active"
},
"node_id": {
"type": "string",
"example": "MDg6V29ya2Zsb3cxMg=="
},
"html_url": {
"type": "string",
"example": "https://github.com/actions/setup-ruby/blob/master/.github/workflows/ruby.yaml"
},
"badge_url": {
"type": "string",
"example": "https://github.com/actions/setup-ruby/workflows/CI/badge.svg"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2019-12-06T14:20:20.000Z"
},
"deleted_at": {
"type": "string",
"format": "date-time",
"example": "2019-12-06T14:20:20.000Z"
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2019-12-06T14:20:20.000Z"
}
},
"description": "A GitHub Actions workflow"
}
workflow-dispatch-response
{
"type": "object",
"title": "Workflow Dispatch Response",
"required": [
"workflow_run_id",
"run_url",
"html_url"
],
"properties": {
"run_url": {
"type": "string",
"format": "uri",
"description": "The URL to the workflow run."
},
"html_url": {
"type": "string",
"format": "uri"
},
"workflow_run_id": {
"$ref": "#/components/schemas/workflow-run-id"
}
},
"description": "Response containing the workflow run ID and URLs."
}
workflow-run
{
"type": "object",
"title": "Workflow Run",
"required": [
"id",
"node_id",
"head_branch",
"run_number",
"display_title",
"event",
"status",
"conclusion",
"head_sha",
"path",
"workflow_id",
"url",
"html_url",
"created_at",
"updated_at",
"head_commit",
"head_repository",
"repository",
"jobs_url",
"logs_url",
"check_suite_url",
"cancel_url",
"rerun_url",
"artifacts_url",
"workflow_url",
"pull_requests"
],
"properties": {
"id": {
"type": "integer",
"example": 5,
"description": "The ID of the workflow run."
},
"url": {
"type": "string",
"example": "https://api.github.com/repos/github/hello-world/actions/runs/5",
"description": "The URL to the workflow run."
},
"name": {
"type": "string",
"example": "Build",
"nullable": true,
"description": "The name of the workflow run."
},
"path": {
"type": "string",
"example": "octocat/octo-repo/.github/workflows/ci.yml@main",
"description": "The full path of the workflow"
},
"actor": {
"$ref": "#/components/schemas/simple-user"
},
"event": {
"type": "string",
"example": "push"
},
"status": {
"type": "string",
"example": "completed",
"nullable": true
},
"node_id": {
"type": "string",
"example": "MDEwOkNoZWNrU3VpdGU1"
},
"head_sha": {
"type": "string",
"example": "009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d",
"description": "The SHA of the head commit that points to the version of the workflow being run."
},
"html_url": {
"type": "string",
"example": "https://github.com/github/hello-world/suites/4"
},
"jobs_url": {
"type": "string",
"example": "https://api.github.com/repos/github/hello-world/actions/runs/5/jobs",
"description": "The URL to the jobs for the workflow run."
},
"logs_url": {
"type": "string",
"example": "https://api.github.com/repos/github/hello-world/actions/runs/5/logs",
"description": "The URL to download the logs for the workflow run."
},
"rerun_url": {
"type": "string",
"example": "https://api.github.com/repos/github/hello-world/actions/runs/5/rerun",
"description": "The URL to rerun the workflow run."
},
"cancel_url": {
"type": "string",
"example": "https://api.github.com/repos/github/hello-world/actions/runs/5/cancel",
"description": "The URL to cancel the workflow run."
},
"conclusion": {
"type": "string",
"example": "neutral",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"repository": {
"$ref": "#/components/schemas/minimal-repository"
},
"run_number": {
"type": "integer",
"example": 106,
"description": "The auto incrementing run number for the workflow run."
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"head_branch": {
"type": "string",
"example": "master",
"nullable": true
},
"head_commit": {
"$ref": "#/components/schemas/nullable-simple-commit"
},
"run_attempt": {
"type": "integer",
"example": 1,
"description": "Attempt number of the run, 1 for first attempt and higher if the workflow was re-run."
},
"workflow_id": {
"type": "integer",
"example": 5,
"description": "The ID of the parent workflow."
},
"workflow_url": {
"type": "string",
"example": "https://api.github.com/repos/github/hello-world/actions/workflows/main.yaml",
"description": "The URL to the workflow."
},
"artifacts_url": {
"type": "string",
"example": "https://api.github.com/repos/github/hello-world/actions/runs/5/rerun/artifacts",
"description": "The URL to the artifacts for the workflow run."
},
"display_title": {
"type": "string",
"example": "Simple Workflow",
"description": "The event-specific title associated with the run or the run-name if set, or the value of `run-name` if it is set in the workflow."
},
"pull_requests": {
"type": "array",
"items": {
"$ref": "#/components/schemas/pull-request-minimal"
},
"nullable": true,
"description": "Pull requests that are open with a `head_sha` or `head_branch` that matches the workflow run. The returned pull requests do not necessarily indicate pull requests that triggered the run."
},
"check_suite_id": {
"type": "integer",
"example": 42,
"description": "The ID of the associated check suite."
},
"run_started_at": {
"type": "string",
"format": "date-time",
"description": "The start time of the latest run. Resets on re-run."
},
"check_suite_url": {
"type": "string",
"example": "https://api.github.com/repos/github/hello-world/check-suites/12",
"description": "The URL to the associated check suite."
},
"head_repository": {
"$ref": "#/components/schemas/minimal-repository"
},
"triggering_actor": {
"$ref": "#/components/schemas/simple-user"
},
"head_repository_id": {
"type": "integer",
"example": 5
},
"check_suite_node_id": {
"type": "string",
"example": "MDEwOkNoZWNrU3VpdGU0Mg==",
"description": "The node ID of the associated check suite."
},
"previous_attempt_url": {
"type": "string",
"example": "https://api.github.com/repos/github/hello-world/actions/runs/5/attempts/3",
"nullable": true,
"description": "The URL to the previous attempted run of this workflow, if one exists."
},
"referenced_workflows": {
"type": "array",
"items": {
"$ref": "#/components/schemas/referenced-workflow"
},
"nullable": true
}
},
"description": "An invocation of a workflow"
}
workflow-run-id
{
"type": "integer",
"title": "Workflow Run ID",
"format": "int64",
"description": "The ID of the workflow run."
}
workflow-run-usage
{
"type": "object",
"title": "Workflow Run Usage",
"required": [
"billable"
],
"properties": {
"billable": {
"type": "object",
"properties": {
"MACOS": {
"type": "object",
"required": [
"total_ms",
"jobs"
],
"properties": {
"jobs": {
"type": "integer"
},
"job_runs": {
"type": "array",
"items": {
"type": "object",
"required": [
"job_id",
"duration_ms"
],
"properties": {
"job_id": {
"type": "integer"
},
"duration_ms": {
"type": "integer"
}
}
}
},
"total_ms": {
"type": "integer"
}
}
},
"UBUNTU": {
"type": "object",
"required": [
"total_ms",
"jobs"
],
"properties": {
"jobs": {
"type": "integer"
},
"job_runs": {
"type": "array",
"items": {
"type": "object",
"required": [
"job_id",
"duration_ms"
],
"properties": {
"job_id": {
"type": "integer"
},
"duration_ms": {
"type": "integer"
}
}
}
},
"total_ms": {
"type": "integer"
}
}
},
"WINDOWS": {
"type": "object",
"required": [
"total_ms",
"jobs"
],
"properties": {
"jobs": {
"type": "integer"
},
"job_runs": {
"type": "array",
"items": {
"type": "object",
"required": [
"job_id",
"duration_ms"
],
"properties": {
"job_id": {
"type": "integer"
},
"duration_ms": {
"type": "integer"
}
}
}
},
"total_ms": {
"type": "integer"
}
}
}
}
},
"run_duration_ms": {
"type": "integer"
}
},
"description": "Workflow Run Usage"
}
workflow-usage
{
"type": "object",
"title": "Workflow Usage",
"required": [
"billable"
],
"properties": {
"billable": {
"type": "object",
"properties": {
"MACOS": {
"type": "object",
"properties": {
"total_ms": {
"type": "integer"
}
}
},
"UBUNTU": {
"type": "object",
"properties": {
"total_ms": {
"type": "integer"
}
}
},
"WINDOWS": {
"type": "object",
"properties": {
"total_ms": {
"type": "integer"
}
}
}
}
}
},
"description": "Workflow Usage"
}